Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez az oktatóanyag bemutatja, hogyan importálhatja a 3. részben létrehozott regisztrált LightGBMClassifier modellt. Ez az oktatóanyag a Microsoft Fabric MLflow modellregisztrációs adatbázisával képezte be a modellt, majd kötegelt előrejelzéseket hajtott végre egy lakehouse-ból betöltött tesztadatkészleten.
A Microsoft Fabric lehetővé teszi a gépi tanulási modellek üzembe helyezése a PREDICT nevű skálázható függvénnyel, amely támogatja a kötegelt pontozást bármely számítási motorban. Kötegelt előrejelzéseket közvetlenül egy Microsoft Fabric-jegyzetfüzetből vagy egy adott modell elemlapjáról hozhat létre. További információ: PREDICT.
Ha kötegelt előrejelzéseket szeretne létrehozni a tesztadatkészleten, a betanított LightGBM-modell 1. verzióját fogja használni, amely az összes betanított gépi tanulási modell közül a legjobb teljesítményt mutatta. A tesztadatkészletet töltsd be egy Spark DataFrame-be, és hozz létre egy MLFlowTransformer objektumot kötegelt előrejelzések generálására. Ezután az alábbi három módszer egyikével hívhatja meg a PREDICT függvényt:
- Transformer API a SynapseML-ből
- Spark SQL API
- PySpark felhasználó által definiált függvény (UDF)
Előfeltételek
Szerezzen be egy Microsoft Fabric-előfizetést. Vagy regisztráljon egy ingyenes Microsoft Fabric próbaverziós.
Jelentkezzen be a Microsoft Fabric.
Váltson Fabricre a kezdőlap bal alsó részén található élménykapcsolóval.
Ez egy ötrészes oktatóanyag-sorozat 4. része. Az oktatóanyag elvégzéséhez először végezze el a következőket:
- 1. rész: Adatok betöltése Egy Microsoft Fabric lakehouse-ba az Apache Sparkhasználatával.
- 2. rész: Adatok feltárása és vizualizációja a Microsoft Fabric-jegyzetfüzetek használatával az adatokkal kapcsolatos további információkért.
- 3. rész: Gépi tanulási modellek betanítása és regisztrálása.
%pip install scikit-learn==1.6.1
Kövesd a leírást a jegyzetfüzetben
4-predict.ipynb az oktatóanyagot kísérő jegyzetfüzet.
Akkor nyissa meg az oktatóanyaghoz mellékelt jegyzetfüzetet, ha követi a és útmutatást, hogy a rendszerét előkészítse az adatelemzési oktatóanyagokhoz, és importálja a jegyzetfüzetet a munkaterületére.
Ha inkább erről a lapról másolja és illessze be a kódot, létrehozhat egy új jegyzetfüzetet.
A kód futtatása előtt mindenképpen csatoljon egy lakehouse-t a jegyzetfüzethez.
Fontos
Csatolja a sorozat többi részében használt tóházat.
A tesztadatok betöltése
A következő kódrészletben töltse be a 3. részben mentett tesztadatokat:
df_test = spark.read.format("delta").load("Tables/df_test")
display(df_test)
PREDIKCIÓ a Transformer API-val
A SynapseML Transformer API-jának használatához először létre kell hoznia egy MLFlowTransformer-objektumot.
MLFlowTransformer objektum példányosítása
Az MLFlowTransformer objektum burkolóként szolgál a 3. részben regisztrált MLFlow-modell körül. Lehetővé teszi, hogy kötegelt előrejelzéseket hozzon létre egy adott DataFrame-en. Az MLFlowTransformer objektum példányosításához a következő paramétereket kell megadnia:
- A teszt DataFrame oszlopai, amelyekre a modellnek szüksége van bemenetként (ebben az esetben mindegyikre szüksége van).
- Az új kimeneti oszlop neve (ebben az esetben előrejelzések)
- A megfelelő modellnév és modellverzió az előrejelzések létrehozásához (ebben az esetben
lgbm_smés az 1. verzióban)
A következő kódrészlet a következő lépéseket kezeli:
from synapse.ml.predict import MLFlowTransformer
model = MLFlowTransformer(
inputCols=list(df_test.columns),
outputCol='predictions',
modelName='lgbm_sm',
modelVersion=1
)
Most, hogy már rendelkezik az MLFlowTransformer objektummal, kötegelt előrejelzések létrehozására használhatja, ahogyan az a következő kódrészletben látható:
import pandas
predictions = model.transform(df_test)
display(predictions)
PREDICT a Spark SQL API segítségével
A következő kódrészlet a Spark SQL API használatával hívja meg a PREDICT függvényt:
from pyspark.ml.feature import SQLTransformer
# Substitute "model_name", "model_version", and "features" below with values for your own model name, model version, and feature columns
model_name = 'lgbm_sm'
model_version = 1
features = df_test.columns
sqlt = SQLTransformer().setStatement(
f"SELECT PREDICT('{model_name}/{model_version}', {','.join(features)}) as predictions FROM __THIS__")
# Substitute "X_test" below with your own test dataset
display(sqlt.transform(df_test))
PREDICT felhasználó által definiált függvénnyel (UDF)
A következő kódrészlet egy PySpark UDF használatával hívja meg a PREDICT függvényt:
from pyspark.sql.functions import col, pandas_udf, udf, lit
# Substitute "model" and "features" below with values for your own model name and feature columns
my_udf = model.to_udf()
features = df_test.columns
display(df_test.withColumn("predictions", my_udf(*[col(f) for f in features])))
A PREDICT-kódot a modell elemlapjáról is létrehozhatja. A PREDICT függvénnyel kapcsolatos további információkért lásd: Gépi tanulási modell pontozása a PREDICT erőforrással .
Modell előrejelzési eredményeinek mentése a lakehouse-ba
A kötegelt előrejelzések létrehozása után írja vissza a modell előrejelzési eredményeit a lakehouse-ba az alábbi kódrészlet szerint:
# Save predictions to lakehouse to be used for generating a Power BI report
table_name = "df_test_with_predictions_v1"
predictions.write.format('delta').mode("overwrite").save(f"Tables/{table_name}")
print(f"Spark DataFrame saved to delta table: {table_name}")
Következő lépés
Folytassa a következőt: