Modellek betanítása scikit-learn használatával a Microsoft Fabricben
A Scikit-learn (scikit-learn.org) egy népszerű, nyílt forráskódú gépi tanulási keretrendszer. Gyakran használják felügyelt és felügyelet nélküli tanuláshoz. Emellett különböző eszközöket biztosít a modellillesztéshez, az adatok előfeldolgozásához, a modell kiválasztásához, a modell kiértékeléshez és egyebekhez.
Ebben a szakaszban bemutatjuk, hogyan taníthatja be és követheti nyomon a Scikit-Learn-modell iterációit.
Scikit-learn telepítése
A scikit-learn használatának megkezdéséhez győződjön meg arról, hogy telepítve van a jegyzetfüzetben. A scikit-learn verzióját a következő paranccsal telepítheti vagy frissítheti a környezetében:
%pip install scikit-learn
Ezután létrehozunk egy gépi tanulási kísérletet az MLFLow API használatával. Az MLflow set_experiment() API létrehoz egy új gépi tanulási kísérletet, ha még nem létezik.
import mlflow
mlflow.set_experiment("sample-sklearn")
Scikit-learn-modell betanítása
A kísérlet létrehozása után létrehozunk egy mintaadatkészletet, és létrehozunk egy logisztikai regressziós modellt. Emellett elindítunk egy MLflow-futtatást, és nyomon követjük a metrikákat, paramétereket és a végső logisztikai regressziós modellt. A végső modell létrehozása után az eredményként kapott modellt is mentjük további nyomon követés céljából.
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")
Modell betöltése és kiértékelése mintaadatkészleten
A modell mentése után az is betölthető a következtetéshez. Ehhez betöltjük a modellt, és lefuttatjuk a következtetést egy mintaadatkészleten.
# 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()
Kapcsolódó tartalom
- Ismerje meg a gépi tanulási modelleket.
- Ismerje meg a gépi tanulási kísérleteket.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: