Microsoft Fabric で Scikit-learn を使用してモデルをトレーニングする方法
機械学習の実験 (scikit-learn.org) は、一般的なオープンソースの機械学習フレームワークです。 これは、教師あり学習と教師なし学習でよく使用されます。 また、モデルの調整、データの前処理、モデルの選択、モデルの評価などのさまざまなツールも用意されています。
このセクションでは、Scikit-learn モデルのイテレーションをトレーニングおよび追跡する方法の例について説明します。
Scikit-learn をインストールする
Scikit-learn の使用を開始するには、ノートブック内にインストールされていることを確認する必要があります。 次のコマンドを使用して、自分の環境で Scikit-learn のバージョンをインストールまたはアップグレードできます。
%pip install scikit-learn
次に、MLFLow API を使用して機械学習の実験を作成します。 MLflow set_experiment() API は、機械学習の実験がまだ存在しない場合は新しい機械学習の実験を作成します。
import mlflow
mlflow.set_experiment("sample-sklearn")
scikit-learn モデルをトレーニングする
実験が作成されたら、サンプル データセットを作成し、ロジスティック回帰モデルを作成します。 また、MLflow の実行を開始し、メトリック、パラメータ、および最終的なロジスティック回帰モデルを追跡します。 最終的なモデルを生成したら、追加の追跡のために結果のモデルも保存します。
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")
サンプル データセットでモデルを読み込んで評価する
モデルが保存されたら、推論のためにモデルを読み込むこともできます。 これを行うには、モデルを読み込み、サンプル データセットで推論を実行します。
# 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()
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示