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

ความแม่นยำหลังการลดมิติข้อมูล

เราจะลดปัญหา overfit ด้วยการลดมิติข้อมูล โดยในกรณีนี้จะใช้วิธีที่ค่อนข้างเด็ดขาด นั่นคือเลือกเพียงคอลัมน์เดียวที่มีข้อมูลเพียงพอสำหรับแยกแยะเพศ จากนั้นจะทำขั้นตอนการแบ่งข้อมูล train-test การ fit โมเดล และการทำนายซ้ำอีกครั้ง เพื่อเปรียบเทียบความแม่นยำบนชุดทดสอบกับชุดฝึก

แพ็กเกจที่เกี่ยวข้องทั้งหมดและตัวแปร y ถูกโหลดไว้ให้แล้ว

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

การลดมิติข้อมูลใน Python

ดูคอร์ส

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

  • เลือกเฉพาะคอลัมน์เส้นรอบวงคอ ('neckcircumferencebase') จาก ansur_df
  • แบ่งข้อมูล สร้าง classifier และ fit ข้อมูล ส่วนนี้ทำไว้ให้แล้ว
  • คำนวณคะแนนความแม่นยำบนทั้งชุดฝึกและชุดทดสอบอีกครั้ง

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

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

# Assign just the 'neckcircumferencebase' column from ansur_df to X
X = ansur_df[[____]]

# Split the data, instantiate a classifier and fit the data
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
svc = SVC()
svc.fit(X_train, y_train)

# Calculate accuracy scores on both train and test data
accuracy_train = accuracy_score(____, svc.predict(____))
accuracy_test = accuracy_score(____, svc.predict(____))

print(f"{accuracy_test:.1%} accuracy on test set vs. {accuracy_train:.1%} on training set")
แก้ไขและรันโค้ด