Mallien harjoittaminen scikit-learnin avulla Microsoft Fabricissa
(Scikit-learn) on suosittu avoimen lähdekoodin koneoppimisen sovelluskehys. Scikit-learnia käytetään usein valvottuun ja valvomattomaan oppimiseen. Se sisältää myös työkaluja mallin mitattamiseen, tietojen esikäsittelyän, mallin valintaan, mallin arviointiin ja paljon muuhun.
Tässä osiossa esitellään esimerkki siitä, miten voit harjoittaa ja seurata Scikit-Learn-mallisi iteraatioita.
Asenna scikit-learn
Ensin sinun on varmistettava, että scikit-learn on asennettu muistikirjaasi. Voit asentaa tai päivittää scikit-learn-version ympäristössäsi tällä komennolla:
%pip install scikit-learn
Koneoppimiskokeilun määrittäminen
Luo koneoppimiskokeilu MLFLow-ohjelmointirajapinnan avulla. MLflow set_experiment() -ohjelmointirajapinta luo uuden koneoppimiskokeilun, jos sitä ei vielä ole olemassa.
import mlflow
mlflow.set_experiment("sample-sklearn")
Scikit-learn-mallin harjoittaminen
Kokeilun luomisen jälkeen luomme mallitietojoukon ja luomme logistisen regressiomallin. Aloitamme MLflow-suorituksen ja seuraamme mittareita, parametreja ja lopullista logistista regressiomallia. Kun lopullinen malli on luotu, tallennamme tuloksena saatavan mallin lisäseurantaa varten.
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 malli on tallennettu, se voidaan ladata päättelyä varten. Tätä varten lataamme mallin ja suoritamme mallitietojoukon päättelemisen.
# 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ö
- Lue lisää koneoppimismalleista.
- Lue lisää koneoppimisen kokeiluista.
Palaute
https://aka.ms/ContentUserFeedback.
Tulossa pian: Vuoden 2024 aikana poistamme asteittain GitHub Issuesin käytöstä sisällön palautemekanismina ja korvaamme sen uudella palautejärjestelmällä. Lisätietoja on täällä:Lähetä ja näytä palaute kohteelle