Sådan oplærer du modeller med scikit-learn i Microsoft Fabric
Scikit-learn (scikit-learn.org) er et populært værktøj til maskinel indlæring med åben kildekode. Det bruges ofte til overvåget og ikke-overvåget læring. Den indeholder også forskellige værktøjer til tilpasning af modeller, forbehandling af data, modelvalg, modelevaluering og meget mere.
I dette afsnit gennemgår vi et eksempel på, hvordan du kan oplære og spore gentagelserne af din Scikit-Learn-model.
Installér scikit-learn
Hvis du vil i gang med scikit-learn, skal du sikre dig, at den er installeret i din notesbog. Du kan installere eller opgradere versionen af scikit-learn i dit miljø ved hjælp af følgende kommando:
%pip install scikit-learn
Derefter opretter vi et maskinel indlæringseksperiment ved hjælp af API'en MLFLow. MLflow set_experiment()-API'en opretter et nyt maskinlæringseksperiment, hvis det ikke allerede findes.
import mlflow
mlflow.set_experiment("sample-sklearn")
Oplær en scikit-learn-model
Når eksperimentet er blevet oprettet, opretter vi et eksempeldatasæt og opretter en logistisk regressionsmodel. Vi starter også en MLflow-kørsel og sporer målepunkter, parametre og den endelige logistiske regressionsmodel. Når vi har oprettet den endelige model, gemmer vi også den resulterende model til yderligere sporing.
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")
Indlæs og evaluer modellen i et eksempeldatasæt
Når modellen er gemt, kan den også indlæses til udledning. Det gør vi ved at indlæse modellen og køre resultatet på et eksempeldatasæt.
# 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()
Relateret indhold
- Få mere at vide om modeller til maskinel indlæring.
- Få mere at vide om eksperimenter med maskinel indlæring.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: I hele 2024 udfaser vi GitHub-problemer som feedbackmekanisme for indhold og erstatter det med et nyt feedbacksystem. Du kan få flere oplysninger under:Indsend og få vist feedback om