เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

สร้าง Grid

ขั้นตอนต่อไปคือการสร้าง grid ของค่าต่าง ๆ เพื่อค้นหา hyperparameter ที่เหมาะสมที่สุด submodule pyspark.ml.tuning มีคลาสชื่อ ParamGridBuilder ที่ออกแบบมาเพื่องานนี้โดยเฉพาะ (คงเริ่มสังเกตเห็น pattern แล้วว่า PySpark มี submodule สำหรับแทบทุกอย่างเลยทีเดียว!)

ต้องใช้เมธอด .addGrid() และ .build() เพื่อสร้าง grid ที่จะนำไปใช้ใน cross validation เมธอด .addGrid() รับพารามิเตอร์ของโมเดล (attribute ของ Estimator ชื่อ lr ที่สร้างไว้ในแบบฝึกหัดก่อนหน้า) และรายการค่าที่ต้องการทดสอบ ส่วนเมธอด .build() ไม่รับอาร์กิวเมนต์ใด ๆ แต่จะคืนค่า grid ที่พร้อมนำไปใช้งานในขั้นตอนถัดไป

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

พื้นฐาน PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • Import submodule pyspark.ml.tuning โดยกำหนด alias เป็น tune
  • เรียก class constructor ParamGridBuilder() โดยไม่ส่งอาร์กิวเมนต์ใด ๆ แล้วบันทึกผลลัพธ์เป็น grid
  • เรียกเมธอด .addGrid() บน grid โดยส่ง lr.regParam เป็นอาร์กิวเมนต์แรก และ np.arange(0, .1, .01) เป็นอาร์กิวเมนต์ที่สอง ซึ่ง np.arange เป็นฟังก์ชันจากโมดูล numpy (ที่ import มา as np) สำหรับสร้างรายการตัวเลขตั้งแต่ 0 ถึง .1 โดยเพิ่มทีละ .01 แล้วเขียนทับ grid ด้วยผลลัพธ์ที่ได้
  • อัปเดต grid อีกครั้งโดยเรียกเมธอด .addGrid() เป็นครั้งที่สอง เพื่อสร้าง grid สำหรับ lr.elasticNetParam โดยกำหนดให้มีเฉพาะค่า [0, 1]
  • เรียกเมธอด .build() บน grid แล้วเขียนทับด้วยผลลัพธ์ที่ได้

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the tuning submodule
import ____ as ____

# Create the parameter grid
grid = tune.____

# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)

# Build the grid
grid = grid.build()
แก้ไขและรันโค้ด