Mallien harjoittaminen scikit-learnilla Microsoft Fabricissa
Tässä artikkelissa kuvataan, miten voit kouluttaa ja seurata scikit-learn-mallin iteraatioita. Scikit-learn on suosittu avoimen lähdekoodin koneoppimisen ympäristö, jota käytetään usein valvottuun ja valvomattomaan oppimiseen. Kehys tarjoaa työkaluja mallin mitattamiseen, tietojen esikäsittelyän, mallin valintaan, mallin arviointiin ja paljon muuhun.
Edellytykset
Asenna scikit-learn muistikirjaasi. Voit asentaa tai päivittää scikit-learn-version ympäristössäsi käyttämällä seuraavaa komentoa:
pip install scikit-learn
Koneoppimiskokeilun määrittäminen
Voit luoda koneoppimiskokeiluja käyttämällä MLFLow-ohjelmointirajapintaa. MLflow-funktio set_experiment()
luo uuden koneoppimiskokeilun nimeltä sample-sklearn, jos sitä ei vielä ole olemassa.
Suorita seuraava koodi muistikirjassasi ja luo kokeilu:
import mlflow
mlflow.set_experiment("sample-sklearn")
Scikit-learn-mallin harjoittaminen
Kun olet määrittänyt kokeilun, luo mallitietojoukko ja logistinen regressiomalli. Seuraava koodi aloittaa MLflow-suorituksen ja seuraa mittareita, parametreja ja lopullista logistista regressiomallia. Kun olet luonut lopullisen mallin, voit tallentaa tuloksena saatavan mallin lisäseurantaa varten.
Suorita seuraava koodi muistikirjassasi ja luo mallitietojoukko ja logistinen regressiomalli:
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")
Mallin lataaminen ja arvioiminen mallitietojoukolle
Kun olet tallentanut mallin, voit ladata sen päättelyä varten.
Suorita seuraava koodi muistikirjassa, lataa malli ja suorita sitten tunnistus mallitietojoukosta:
# 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()
Liittyvä sisältö
- Tutustu koneoppimismalleihin
- Koneoppimiskokeilujen luominen