Jak trénovat modely pomocí scikit-learn v Microsoft Fabric
(Scikit-learn) je oblíbená opensourcová architektura strojového učení. Scikit-learn se často používá pro učení pod dohledem a bez dohledu. Poskytuje také nástroje pro přizpůsobení modelu, předběžné zpracování dat, výběr modelu, vyhodnocení modelu a další.
Tato část představuje příklad, který ukazuje, jak trénovat a sledovat iterace modelu Scikit-Learn.
Instalace nástroje scikit-learn
Nejprve musíte ověřit, jestli je v poznámkovém bloku nainstalovaný soubor scikit-learn. Verzi scikit-learn ve svém prostředí můžete nainstalovat nebo upgradovat pomocí tohoto příkazu:
%pip install scikit-learn
Nastavení experimentu strojového učení
Vytvořte experiment strojového učení pomocí rozhraní MLFLow API. Rozhraní API set_experiment() MLflow vytvoří nový experiment strojového učení, pokud ještě neexistuje.
import mlflow
mlflow.set_experiment("sample-sklearn")
Trénování modelu scikit-learn
Po vytvoření experimentu vytvoříme ukázkovou datovou sadu a vytvoříme model logistické regrese. Spustíme běh MLflow a budeme sledovat metriky, parametry a konečný logistický regresní model. Jakmile vygenerujeme konečný model, uložíme výsledný model pro další sledování.
import mlflow.sklearn
import numpy as np
from sklearn.linear_model import LogisticRegression
from mlflow.models.signature import infer_signature
with mlflow.start_run() as run:
lr = LogisticRegression()
X = np.array([-2, -1, 0, 1, 2, 1]).reshape(-1, 1)
y = np.array([0, 0, 1, 1, 1, 0])
lr.fit(X, y)
score = lr.score(X, y)
signature = infer_signature(X, y)
print("log_metric.")
mlflow.log_metric("score", score)
print("log_params.")
mlflow.log_param("alpha", "alpha")
print("log_model.")
mlflow.sklearn.log_model(lr, "sklearn-model", signature=signature)
print("Model saved in run_id=%s" % run.info.run_id)
print("register_model.")
mlflow.register_model(
"runs:/{}/sklearn-model".format(run.info.run_id), "sample-sklearn"
)
print("All done")
Načtení a vyhodnocení modelu u ukázkové datové sady
Jakmile model uložíme, můžeme ho načíst pro odvozování. K tomu načteme model a spustíme odvozování u ukázkové datové sady.
# Inference with loading the logged model
from synapse.ml.predict import MLflowTransformer
spark.conf.set("spark.synapse.ml.predict.enabled", "true")
model = MLflowTransformer(
inputCols=["x"],
outputCol="prediction",
modelName="sample-sklearn",
modelVersion=1,
)
test_spark = spark.createDataFrame(
data=np.array([-2, -1, 0, 1, 2, 1]).reshape(-1, 1).tolist(), schema=["x"]
)
batch_predictions = model.transform(test_spark)
batch_predictions.show()
Související obsah
- Seznamte se s modely strojového učení.
- Seznamte se s experimenty strojového učení.
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro