สร้างแบบจําลองด้วย SynapseML
บทความนี้อธิบายวิธีการสร้างแบบจําลองการเรียนรู้ของเครื่องโดยใช้ SynapseML และแสดงให้เห็นว่า SynapseML สามารถลดความซับซ้อนของงานการเรียนรู้ของเครื่องได้อย่างไร คุณใช้ SynapseML เพื่อสร้างไปป์ไลน์การฝึกอบรมการเรียนรู้ของเครื่องขนาดเล็กที่มีขั้นตอนการทําให้เกิดส่วนและขั้นตอนการถดถอยของ LightGBM ไปป์ไลน์คาดการณ์การให้คะแนนตามข้อความรีวิวจากชุดข้อมูลรีวิวหนังสือ คุณยังดูว่า SynapseML สามารถลดความซับซ้อนของการใช้แบบจําลองจัดทําสําเร็จเพื่อแก้ปัญหาการเรียนรู้ของเครื่องได้อย่างไร
ข้อกำหนดเบื้องต้น
รับการสมัครใช้งาน Microsoft Fabric หรือลงทะเบียนเพื่อทดลองใช้งาน Microsoft Fabric ฟรี
ลงชื่อเข้าใช้ Microsoft Fabric
ใช้ตัวสลับประสบการณ์ทางด้านซ้ายของโฮมเพจของคุณเพื่อสลับไปยังประสบการณ์วิทยาศาสตร์ข้อมูล Synapse
เตรียมแหล่งข้อมูล
สร้างเครื่องมือและทรัพยากรที่คุณจําเป็นต้องสร้างแบบจําลองและไปป์ไลน์
- สร้างสมุดบันทึกใหม่
- แนบสมุดบันทึกของคุณเข้ากับเลคเฮ้าส์ หากต้องการเพิ่มเลคเฮ้าส์ที่มีอยู่หรือสร้างใหม่ ให้ขยาย Lakehouses ภายใต้ Explorer ที่ด้านซ้าย แล้วเลือกเพิ่ม
- รับคีย์บริการ Azure AI โดยทําตามคําแนะนําใน เริ่มต้นใช้งานด่วน: สร้างทรัพยากรแบบหลายบริการสําหรับบริการ Azure AI
- สร้างอินสแตนซ์ Azure Key Vault และเพิ่มคีย์บริการ Azure AI ของคุณไปยังชุดเก็บคีย์เป็นข้อมูลลับ
- สร้างบันทึกย่อของชื่อชุดเก็บคีย์และชื่อข้อมูลลับของคุณ คุณต้องใช้ข้อมูลนี้เพื่อเรียกใช้การแปลงข้อมูลขั้นตอนเดียวในภายหลังในบทความนี้
ตั้งค่าสภาพแวดล้อม
ในสมุดบันทึกของคุณ ให้นําเข้าไลบรารี SynapseML และเตรียมใช้งานเซสชัน Spark ของคุณ
from pyspark.sql import SparkSession
from synapse.ml.core.platform import *
spark = SparkSession.builder.getOrCreate()
โหลดชุดข้อมูล
โหลดชุดข้อมูลของคุณ และแยกชุดข้อมูลลงในชุดการฝึกและการทดสอบ
train, test = (
spark.read.parquet(
"wasbs://publicwasb@mmlspark.blob.core.windows.net/BookReviewsFromAmazon10K.parquet"
)
.limit(1000)
.cache()
.randomSplit([0.8, 0.2])
)
display(train)
สร้างไปป์ไลน์การฝึกอบรม
สร้างไปป์ไลน์ที่มีข้อมูลโดยใช้ TextFeaturizer
จาก synapse.ml.featurize.text
ไลบรารี และได้รับการจัดอันดับโดยใช้ LightGBMRegressor
ฟังก์ชัน
from pyspark.ml import Pipeline
from synapse.ml.featurize.text import TextFeaturizer
from synapse.ml.lightgbm import LightGBMRegressor
model = Pipeline(
stages=[
TextFeaturizer(inputCol="text", outputCol="features"),
LightGBMRegressor(featuresCol="features", labelCol="rating", dataTransferMode="bulk")
]
).fit(train)
คาดการณ์ผลลัพธ์ของข้อมูลทดสอบ
transform
เรียกใช้ฟังก์ชันบนแบบจําลองเพื่อทํานายและแสดงผลลัพธ์ของข้อมูลทดสอบเป็น dataframe
display(model.transform(test))
ใช้บริการ Azure AI เพื่อแปลงข้อมูลในขั้นตอนเดียว
อีกวิธีหนึ่งคือ สําหรับงานประเภทเหล่านี้ที่มีโซลูชันจัดทําสําเร็จ คุณสามารถใช้การรวมกันของ SynapseML กับบริการ Azure AI เพื่อแปลงข้อมูลของคุณในขั้นตอนเดียว เรียกใช้โค้ดต่อไปนี้ด้วยการแทนที่เหล่านี้:
- แทนที่
<secret-name>
ด้วยชื่อของข้อมูลลับที่สําคัญของบริการ AI Azure ของคุณ - แทนที่
<key-vault-name>
ด้วยชื่อของชุดเก็บคีย์ของคุณ
from synapse.ml.services import TextSentiment
from synapse.ml.core.platform import find_secret
model = TextSentiment(
textCol="text",
outputCol="sentiment",
subscriptionKey=find_secret("<secret-name>", "<key-vault-name>")
).setLocation("eastus")
display(model.transform(test))