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