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

Pipeline แรกของคุณ — ลองอีกครั้ง!

กลับมาที่ startup ด้านการตรวจจับภาวะหัวใจเต้นผิดจังหวะ ใกล้ถึงเวลารีวิวประจำเดือนแล้ว และในครั้งนี้จะมีโปรแกรมเมอร์ Python ผู้เชี่ยวชาญมาตรวจสอบโค้ดของคุณด้วย จึงตัดสินใจจัดระเบียบโค้ดให้เป็นไปตาม best practices โดยแทนที่สคริปต์สำหรับการเลือกฟีเจอร์และการจำแนกประเภทด้วย random forest ด้วย pipeline ชุดข้อมูลฝึกที่มีอยู่คือ X_train และ y_train พร้อมด้วยโมดูลต่าง ๆ ได้แก่ RandomForestClassifier, SelectKBest() และ f_classif() สำหรับการเลือกฟีเจอร์ รวมถึง GridSearchCV และ Pipeline

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

การออกแบบ Machine Learning Workflows ด้วย Python

ดูคอร์ส

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

  • สร้าง pipeline โดยใช้ feature selector ตามที่ระบุในโค้ดตัวอย่าง และเพิ่ม random forest classifier เข้าไป ตั้งชื่อขั้นตอนแรกว่า feature_selection
  • เพิ่ม key-value สองคู่ใน params ได้แก่ คู่แรกสำหรับจำนวนฟีเจอร์ k ใน selector โดยกำหนดค่าเป็น 10 และ 20 และคู่ที่สองสำหรับ n_estimators ใน forest โดยกำหนดค่าที่เป็นไปได้เป็น 2 และ 5
  • สร้างออบเจ็กต์ GridSearchCV โดยใช้ pipeline และ parameter grid ที่กำหนดไว้
  • Fit ออบเจ็กต์กับข้อมูล แล้วแสดงผลการรวมพารามิเตอร์ที่ให้ประสิทธิภาพดีที่สุด

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

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

# Create pipeline with feature selector and classifier
pipe = ___([
    (___, SelectKBest(f_classif)),
    ('clf', ___(random_state=2))])

# Create a parameter grid
params = {
   'feature_selection__k':___,
    ___:[2, 5]}

# Initialize the grid search object
grid_search = ___(___, ___=params)

# Fit it to the data and print the best value combination
print(grid_search.fit(___, ___).___)
แก้ไขและรันโค้ด