Comment former des modèles avec scikit-learn dans Microsoft Fabric
Scikit-learn (scikit-learn.org) est un cadre d'apprentissage automatique populaire et open source. Il est fréquemment utilisé pour l'apprentissage supervisé et non supervisé. Il fournit également divers outils pour l'ajustement du modèle, le prétraitement des données, la sélection du modèle, l'évaluation du modèle, etc.
Dans cette section, nous allons passer en revue un exemple de la façon dont vous pouvez former et suivre les itérations de votre modèle Scikit-Learn.
Installer scikit-learn
Pour démarrer avec scikit-learn, vous devez vous assurer qu'il est installé dans votre ordinateur portable. Vous pouvez installer ou mettre à niveau la version de scikit-learn sur votre environnement à l'aide de la commande suivante :
%pip install scikit-learn
Ensuite, nous allons créer une expérience d'apprentissage automatique à l'aide de l'API MLFlow. L'API MLflow set_experiment() créera une nouvelle expérience d'apprentissage automatique si elle n'existe pas déjà.
import mlflow
mlflow.set_experiment("sample-sklearn")
Entraîner un modèle scikit-learn
Une fois l'expérience créée, nous allons créer un exemple d'ensemble de données et créer un modèle de régression logistique. Nous allons également démarrer une exécution MLflow et suivre les indicateurs de performance, les paramètres et le modèle de régression logistique final. Une fois que nous aurons généré le modèle final, nous enregistrerons également le modèle résultant pour un suivi supplémentaire.
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")
Charger et évaluer le modèle sur un exemple de jeu de données
Une fois le modèle enregistré, il peut également être chargé pour l'inférence. Pour ce faire, nous allons charger le modèle et exécuter l'inférence sur un exemple d'ensemble de données.
# 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()
Contenu connexe
- En savoir plus sur les modèles d'apprentissage automatique.
- En savoir plus sur les expériences d'apprentissage automatique.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour