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

Leave-one-out-cross-validation

สมมติว่าขนมที่คุณชื่นชอบไม่มีอยู่ในชุดข้อมูล candy และคุณต้องการประเมินความนิยมของขนมนั้น การใช้ cross-validation แบบ 5-fold จะฝึกโมเดลด้วยข้อมูลเพียง 80% ในแต่ละรอบ แต่ชุดข้อมูล candy มีเพียง 85 แถว การตัดข้อมูลออกถึง 20% อาจส่งผลเสียต่อโมเดลได้ การใช้ leave-one-out-cross-validation ช่วยให้ใช้ประโยชน์จากชุดข้อมูลที่มีจำกัดได้อย่างเต็มที่ และให้ค่าประมาณที่ดีที่สุดสำหรับความนิยมของขนมที่คุณชื่นชอบ!

ในแบบฝึกหัดนี้ จะใช้ cross_val_score() เพื่อทำ LOOCV

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

การตรวจสอบความถูกต้องของโมเดลใน Python

ดูคอร์ส

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

  • สร้าง scorer โดยใช้ mean_absolute_error สำหรับ cross_val_score()
  • กำหนดค่าใน cross_val_score() ให้ใช้โมเดล rfr, mae_scorer ที่สร้างขึ้น และ LOOCV
  • แสดงค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานของ scores โดยใช้ numpy (โหลดเป็น np)

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

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

from sklearn.metrics import mean_absolute_error, make_scorer

# Create scorer
mae_scorer = ____(____)

rfr = RandomForestRegressor(n_estimators=15, random_state=1111)

# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)

# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))
แก้ไขและรันโค้ด