Độ chính xác sau khi giảm chiều dữ liệu
Bạn sẽ giảm overfit bằng cách áp dụng giảm chiều dữ liệu. Ở đây, bạn sẽ dùng một cách khá mạnh tay: chỉ chọn một cột duy nhất có thông tin tốt để phân biệt giới tính. Bạn sẽ lặp lại các bước train-test split, huấn luyện mô hình và dự đoán để so sánh độ chính xác trên dữ liệu kiểm tra so với dữ liệu huấn luyện.
Tất cả các gói liên quan và y đã được nạp sẵn.
Bài tập này là một phần của khóa học
Giảm Chiều Dữ Liệu với Python
Hướng dẫn bài tập
- Chọn duy nhất cột vòng cổ (
'neckcircumferencebase') từansur_df. - Tách dữ liệu, khởi tạo một bộ phân loại và huấn luyện mô hình. Phần này đã được làm sẵn cho bạn.
- Tính lại điểm độ chính xác trên cả tập huấn luyện và tập kiểm tra.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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")