Ako trénovať modely pomocou scikit-learn v službe Microsoft Fabric
Scikit-learn (scikit-learn.org) je populárny rámec strojového učenia typu open-source. Často sa používa pre výuku pod dohľadom a bez dozoru. Poskytuje tiež rôzne nástroje na tvarovanie modelu, predprocesovanie údajov, výber modelu, vyhodnocovanie modelu a ďalšie.
V tejto časti si prejdeme príklad toho, ako môžete trénovať a sledovať iterácie modelu Scikit-Learn.
Inštalácia nástroja scikit-learn
Ak chcete začať používať scikit-learn, musíte sa uistiť, že je nainštalovaný v notebooku. Verziu nástroja scikit-learn vo svojom prostredí môžete nainštalovať alebo inovovať pomocou nasledujúceho príkazu:
%pip install scikit-learn
V ďalšom kroku vytvoríme experiment strojového učenia pomocou rozhrania MLFLow API. Rozhranie API set_experiment MLflow vytvorí nový experiment strojového učenia, ak ešte neexistuje.
import mlflow
mlflow.set_experiment("sample-sklearn")
Trénovať model scikit-learn
Po vytvorení experimentu vytvoríme vzorovú množinu údajov a vytvoríme logistický regresný model. Spustíme tiež spustenie toku MLflow a budeme sledovať metriky, parametre a finálny logistický regresný model. Po vygenerení konečného modelu uložíme aj výsledný model na ďalšie sledovanie.
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")
Načítanie a vyhodnotenie modelu vo vzorovej množine údajov
Po uložení modelu ho možno načítať aj na odvodenie. Na tento krok načítame model a spustíme závernosť vo vzorovej množine údajov.
# 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()
Súvisiaci obsah
- Získajte informácie o modeloch strojového učenia.
- Získajte informácie o experimentoch strojového učenia.
Pripomienky
https://aka.ms/ContentUserFeedback.
Pripravujeme: V priebehu roka 2024 postupne zrušíme službu Problémy v službe GitHub ako mechanizmus pripomienok týkajúcich sa obsahu a nahradíme ju novým systémom pripomienok. Ďalšie informácie nájdete na stránke:Odoslať a zobraziť pripomienky pre