เลือกโมเดลที่มีค่า Precision ดีที่สุด
หัวหน้าของคุณเสนอที่จะออกค่าใช้จ่ายให้ไปดูกีฬา 3 นัดในปีนี้ จากเกมเหย้าทั้งหมด 41 นัดของทีมโปรด คุณต้องการเลือก 3 นัดที่มั่นใจได้ว่าทีมจะ ชนะแน่นอน จึงสร้างโมเดลเพื่อช่วยตัดสินใจว่านัดไหนทีมจะชนะ
ในการทำเช่นนี้ คุณจะสร้างอัลกอริทึม Random Search และเน้นที่ค่า Precision ของโมเดล (เพื่อให้มั่นใจว่าทีมจะชนะ) รวมถึงต้องการบันทึกโมเดลที่ดีที่สุดและพารามิเตอร์ที่ดีที่สุดไว้ เพื่อนำกลับมาใช้ในปีหน้าหากโมเดลทำงานได้ดี คุณได้เลือกใช้โมเดล Random Forest Classification rfc และกำหนดการกระจายพารามิเตอร์ param_dist ไว้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การตรวจสอบความถูกต้องของโมเดลใน Python
คำแนะนำการฝึกหัด
- สร้างตัววัดผลค่า Precision ชื่อ
precisionโดยใช้make_scorer(<scoring_function>) - กำหนดค่าให้ครบถ้วนสำหรับวิธี Random Search โดยใช้
rfcและparam_dist - ใช้
rs.cv_results_เพื่อแสดงค่าเฉลี่ยของคะแนนทดสอบ - แสดงคะแนนโดยรวมที่ดีที่สุด
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))