หมายเหตุ
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลอง ลงชื่อเข้าใช้หรือเปลี่ยนไดเรกทอรีได้
การเข้าถึงหน้านี้ต้องได้รับการอนุญาต คุณสามารถลองเปลี่ยนไดเรกทอรีได้
บทช่วยสอนนี้แสดงวิธีการนําเข้าแบบจําลอง LightGBMClassifier ที่ลงทะเบียนซึ่งคุณสร้างขึ้นในส่วนที่ 3 บทช่วยสอนนั้นใช้รีจิสทรีแบบจําลอง Microsoft Fabric MLflow เพื่อฝึกแบบจําลอง จากนั้นทําการคาดคะเนชุดงานบนชุดข้อมูลทดสอบที่โหลดจากเลคเฮาส์
Microsoft Fabric ช่วยให้คุณสามารถใช้งานโมเดลแมชชีนเลิร์นนิงด้วยฟังก์ชันที่ปรับขนาดได้ที่เรียกว่า PREDICT ซึ่งรองรับการให้คะแนนเป็นชุดในกลไกการคํานวณใดๆ คุณสามารถสร้างการคาดคะเนชุดงานได้โดยตรงจากสมุดบันทึก Microsoft Fabric หรือจากหน้ารายการของแบบจําลองที่กําหนด หากต้องการเรียนรู้เพิ่มเติม โปรดดู คาดการณ์
ในการสร้างการคาดการณ์ชุดงานในชุดข้อมูลการทดสอบ คุณจะใช้โมเดล LightGBM ที่ผ่านการฝึกอบรมเวอร์ชัน 1 ซึ่งแสดงให้เห็นถึงประสิทธิภาพที่ดีที่สุดในบรรดาโมเดลแมชชีนเลิร์นนิงที่ผ่านการฝึกอบรมทั้งหมด คุณจะโหลดชุดข้อมูลการทดสอบลงใน Spark DataFrame และสร้างออบเจ็กต์ MLFlowTransformer เพื่อสร้างการคาดคะเนแบทช์ จากนั้นคุณสามารถเรียกใช้ฟังก์ชัน PREDICT โดยใช้วิธีใดวิธีหนึ่งจากสามวิธีต่อไปนี้:
- API ตัวแปลงจาก SynapseML
- สปาร์ค SQL API
- ฟังก์ชันที่ผู้ใช้กําหนดเอง PySpark (UDF)
ข้อกําหนดเบื้องต้น
รับ การสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนสําหรับ Microsoft Fabric รุ่นทดลองใช้ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
สลับไปยัง Fabric โดยใช้ตัวสลับประสบการณ์ที่ด้านซ้ายล่างของโฮมเพจของคุณ
นี่คือส่วนที่ 4 ของชุดบทช่วยสอนห้าตอน เมื่อต้องการทําบทช่วยสอนนี้ให้เสร็จสมบูรณ์ ก่อนอื่นให้ทําให้เสร็จสมบูรณ์:
- ส่วนที่ 1: นําเข้าข้อมูลลงในทะเลสาบ Microsoft Fabric โดยใช้ Apache Spark
- ส่วนที่ 2: สํารวจและแสดงข้อมูลโดยใช้สมุดบันทึก Microsoft Fabric เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับข้อมูล
- ส่วนที่ 3: ฝึกและลงทะเบียนแบบจําลองการเรียนรู้ของเครื่อง
%pip install scikit-learn==1.6.1
ติดตามพร้อมกับในสมุดบันทึก
predict.ipynb 4 คือสมุดบันทึกที่มาพร้อมกับบทช่วยสอนนี้
เมื่อต้องการเปิดสมุดบันทึกที่มาพร้อมกับบทช่วยสอนนี้ ให้ทําตามคําแนะนําใน เตรียมระบบของคุณสําหรับบทช่วยสอนวิทยาศาสตร์ข้อมูล การนําเข้าสมุดบันทึกไปยังพื้นที่ทํางานของคุณ
ถ้าคุณต้องการคัดลอกและวางโค้ดจากหน้านี้ สร้างสมุดบันทึกใหม่
ตรวจสอบให้แน่ใจว่า แนบ lakehouse เข้ากับ สมุดบันทึกก่อนที่คุณจะเริ่มเรียกใช้โค้ด
สําคัญ
แนบเลคเฮาส์เดียวกันกับที่คุณใช้ในส่วนอื่น ๆ ของซีรี่ส์นี้
โหลดข้อมูลทดสอบ
ในส่วนย่อยของโค้ดต่อไปนี้ ให้โหลดข้อมูลการทดสอบที่คุณบันทึกไว้ในส่วนที่ 3:
df_test = spark.read.format("delta").load("Tables/df_test")
display(df_test)
คาดการณ์ด้วย API ตัวแปลง
หากต้องการใช้ Transformer API จาก SynapseML คุณต้องสร้างออบเจ็กต์ MLFlowTransformer ก่อน
สร้างอินสแตนซ์ของวัตถุ MLFlowTransformer
วัตถุ MLFlowTransformer ทําหน้าที่เป็นตัวห่อหุ้มรอบแบบจําลอง MLFlow ที่คุณลงทะเบียนในส่วนที่ 3 ซึ่งช่วยให้คุณสามารถสร้างการคาดการณ์ชุดงานบน DataFrame ที่กําหนด เมื่อต้องการสร้างอินสแตนซ์วัตถุ MLFlowTransformer คุณต้องระบุพารามิเตอร์ต่อไปนี้:
- คอลัมน์ DataFrame ทดสอบที่โมเดลต้องการเป็นอินพุต (ในกรณีนี้ โมเดลต้องการทั้งหมด)
- ชื่อสําหรับคอลัมน์ผลลัพธ์ใหม่ (ในกรณีนี้คือการ คาดคะเน)
- ชื่อแบบจําลองและรุ่นแบบจําลองที่ถูกต้องเพื่อสร้างการคาดคะเน (ในกรณีนี้
lgbm_smและรุ่น 1)
ส่วนย่อยของโค้ดต่อไปนี้จะจัดการกับขั้นตอนเหล่านี้:
from synapse.ml.predict import MLFlowTransformer
model = MLFlowTransformer(
inputCols=list(df_test.columns),
outputCol='predictions',
modelName='lgbm_sm',
modelVersion=1
)
เมื่อคุณมีออบเจ็กต์ MLFlowTransformer แล้ว คุณสามารถใช้เพื่อสร้างการคาดคะเนแบตช์ ดังที่แสดงในข้อมูลโค้ดต่อไปนี้:
import pandas
predictions = model.transform(df_test)
display(predictions)
คาดการณ์ด้วย Spark SQL API
ข้อมูลโค้ดต่อไปนี้ใช้ Spark SQL API เพื่อเรียกใช้ฟังก์ชัน PREDICT:
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))
ทํานายด้วยฟังก์ชันที่ผู้ใช้กําหนดเอง (UDF)
ข้อมูลโค้ดต่อไปนี้ใช้ PySpark UDF เพื่อเรียกใช้ฟังก์ชัน PREDICT:
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])))
คุณยังสามารถสร้างโค้ด PREDICT ได้จากหน้ารายการของแบบจําลอง สําหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน PREDICT โปรดดู การให้คะแนนแบบจําลองการเรียนรู้ของเครื่องด้วยทรัพยากร PREDICT
เขียนผลลัพธ์การคาดการณ์แบบจําลองไปยังเลคเฮ้าส์
หลังจากที่คุณสร้างการคาดคะเนชุดงานแล้ว ให้เขียนผลลัพธ์การคาดคะเนแบบจําลองกลับไปยังเลคเฮาส์ตามที่แสดงในส่วนย่อยของโค้ดต่อไปนี้:
# 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}")
ขั้นตอนถัดไป
ไปต่อยัง: