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

Decision trees

แบบฝึกหัดนี้จะให้สร้าง decision tree อย่างง่ายโดยใช้ DecisionTreeClassifier ของ scikit-learn บนชุดข้อมูล breast cancer ที่มาพร้อมกับ scikit-learn

ชุดข้อมูลนี้ประกอบด้วยการวัดค่าตัวเลขของมิติต่าง ๆ ของเนื้องอกแต่ละชิ้น (เช่น เส้นรอบวงและเนื้อสัมผัส) จากการตัดชิ้นเนื้อเต้านม และมีค่า outcome เพียงหนึ่งค่า (เนื้องอกเป็นมะเร็ง หรือไม่เป็นมะเร็ง)

ได้โหลดชุดข้อมูลตัวอย่าง (ค่าการวัด) ไว้ใน X และค่าเป้าหมายของแต่ละเนื้องอกไว้ใน y แล้ว ขั้นตอนต่อไปคือแบ่งชุดข้อมูลทั้งหมดออกเป็นชุดฝึกและชุดทดสอบ จากนั้นฝึก DecisionTreeClassifier โดยจะกำหนดพารามิเตอร์ชื่อ max_depth ซึ่งยังมีพารามิเตอร์อื่น ๆ อีกมากที่ปรับแต่งได้ในโมเดลนี้ ดูรายละเอียดทั้งหมดได้ ที่นี่

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

Extreme Gradient Boosting with XGBoost

ดูคอร์ส

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

  • นำเข้า:
    • train_test_split จาก sklearn.model_selection
    • DecisionTreeClassifier จาก sklearn.tree
  • สร้างชุดข้อมูลฝึกและชุดข้อมูลทดสอบ โดยใช้ข้อมูล 20% สำหรับการทดสอบ กำหนด random_state เป็น 123
  • สร้าง instance ของ DecisionTreeClassifier ชื่อ dt_clf_4 โดยกำหนด max_depth เป็น 4 พารามิเตอร์นี้ระบุจำนวนจุดแบ่งสูงสุดที่สามารถมีได้ก่อนถึง leaf node
  • Fit classifier กับชุดข้อมูลฝึก แล้วทำนาย label ของชุดข้อมูลทดสอบ

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

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

# Import the necessary modules
____
____

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, test_size=____, random_state=____)

# Instantiate the classifier: dt_clf_4
dt_clf_4 = ____

# Fit the classifier to the training set
____

# Predict the labels of the test set: y_pred_4
y_pred_4 = ____

# Compute the accuracy of the predictions: accuracy
accuracy = float(np.sum(y_pred_4==y_test))/y_test.shape[0]
print("accuracy:", accuracy)
แก้ไขและรันโค้ด