Lære opp modeller med scikit-learn i Microsoft Fabric
Denne artikkelen beskriver hvordan du kan lære opp og spore gjentakelser av en scikit-learn-modell. Scikit-learn er et populært rammeverk for maskinlæring med åpen kildekode som ofte brukes til overvåket og uovervåket læring. Rammeverket inneholder verktøy for modelltilpasning, forhåndsbehandling av data, modellvalg, modellevaluering og mer.
Forutsetning
Installer scikit-learn i notatblokken. Du kan installere eller oppgradere versjonen av scikit-learn på miljøet ved hjelp av følgende kommando:
pip install scikit-learn
Konfigurere maskinlæringseksperimentet
Du kan opprette et maskinlæringseksperiment ved hjelp av MLFLow-API-en. MLflow-funksjonen set_experiment()
oppretter et nytt maskinlæringseksperiment kalt sample-sklearn, hvis det ikke allerede finnes.
Kjør følgende kode i notatblokken, og opprett eksperimentet:
import mlflow
mlflow.set_experiment("sample-sklearn")
Lær opp en scikit-learn-modell
Når du har konfigurert eksperimentet, oppretter du et eksempeldatasett og en logistisk regresjonsmodell. Følgende kode starter en MLflow-kjøring, og sporer måledata, parametere og endelig logistisk regresjonsmodell. Når du har generert den endelige modellen, kan du lagre den resulterende modellen for mer sporing.
Kjør følgende kode i notatblokken, og opprett eksempeldatasettet og logistikkregresjonsmodellen:
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")
Laste inn og evaluere modellen på et eksempeldatasett
Når du har lagret modellen, kan du laste den inn for inferencing.
Kjør følgende kode i notatblokken og last inn modellen, og kjør deretter slutningen på et eksempeldatasett:
# 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()
Relatert innhold
- Utforsk maskinlæringsmodeller
- Opprette maskinlæringseksperimenter