Träna modeller med scikit-learn i Microsoft Fabric
Scikit-learn (scikit-learn.org) är ett populärt ramverk för maskininlärning med öppen källkod. Den används ofta för övervakad och oövervakad inlärning. Den innehåller också olika verktyg för modellanpassning, förbearbetning av data, modellval, modellutvärdering med mera.
I det här avsnittet går vi igenom ett exempel på hur du kan träna och spåra iterationerna för din Scikit-Learn-modell.
Installera scikit-learn
För att komma igång med scikit-learn måste du se till att det är installerat i notebook-filen. Du kan installera eller uppgradera versionen av scikit-learn i din miljö med hjälp av följande kommando:
%pip install scikit-learn
Nu ska vi skapa ett maskininlärningsexperiment med hjälp av MLFLow-API:et. API:et MLflow set_experiment() skapar ett nytt maskininlärningsexperiment om det inte redan finns.
import mlflow
mlflow.set_experiment("sample-sklearn")
Träna en scikit-learn-modell
När experimentet har skapats skapar vi en exempeldatauppsättning och skapar en logistisk regressionsmodell. Vi startar också en MLflow-körning och spårar mått, parametrar och den slutliga logistiska regressionsmodellen. När vi har genererat den slutliga modellen sparar vi även den resulterande modellen för ytterligare spårning.
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")
Läsa in och utvärdera modellen på en exempeldatauppsättning
När modellen har sparats kan den också läsas in för slutsatsdragning. För att göra detta läser vi in modellen och kör slutsatsdragningen på en exempeldatauppsättning.
# 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()
Relaterat innehåll
- Lär dig mer om maskininlärningsmodeller.
- Lär dig mer om maskininlärningsexperiment.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för