Aracılığıyla paylaş


Microsoft Fabric'te scikit-learn ile modelleri eğitin

Bu makalede bir scikit-learn modelinin yinelemelerini eğitmek ve izlemek açıklanmaktadır. Scikit-learn , denetimli ve denetimsiz öğrenme için sık kullanılan popüler bir açık kaynak makine öğrenmesi çerçevesidir. Çerçeve model sığdırma, veri ön işleme, model seçimi, model değerlendirmesi ve daha fazlası için araçlar sağlar.

Önkoşullar

Not defterinize scikit-learn'ü yükleyin. Aşağıdaki komutu kullanarak ortamınıza scikit-learn sürümünü yükleyebilir veya yükseltebilirsiniz:

pip install scikit-learn

Makine öğrenmesi denemesini ayarlama

MLFLow API'sini kullanarak makine öğrenmesi denemesi oluşturabilirsiniz. MLflow set_experiment() işlevi, henüz yoksa sample-sklearn adlı yeni bir makine öğrenmesi denemesi oluşturur.

Not defterinizde aşağıdaki kodu çalıştırın ve denemeyi oluşturun:

import mlflow

mlflow.set_experiment("sample-sklearn")

Bir scikit-learn modeli eğitime

Denemeyi ayarladıktan sonra bir örnek veri kümesi ve lojistik regresyon modeli oluşturursunuz. Aşağıdaki kod bir MLflow çalıştırması başlatır ve ölçümleri, parametreleri ve son lojistik regresyon modelini izler. Son modeli oluşturduktan sonra, daha fazla izleme için sonuçta elde edilen modeli kaydedebilirsiniz.

Not defterinizde aşağıdaki kodu çalıştırın ve örnek veri kümesini ve lojistik regresyon modelini oluşturun:

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")

Örnek veri kümesinde modeli yükleme ve değerlendirme

Modeli kaydettikten sonra çıkarım için yükleyebilirsiniz.

Not defterinizde aşağıdaki kodu çalıştırın, modeli yükleyin ve ardından çıkarımını örnek bir veri kümesinde çalıştırın:

# 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()
  • Makine öğrenmesi modellerini keşfetme
  • Makine öğrenmesi denemeleri oluşturma