Vì máy học là nhiều hơn về thử nghiệm với các tính năng và các mô hình, không có câu trả lời đúng cho câu hỏi của bạn. Một số gợi ý của tôi đối với bạn sẽ là:
1. Tính năng Scaling và/hoặc Normalization - Kiểm tra quy mô của bạn gre và GPA tính năng. Chúng khác nhau về 2 đơn vị độ lớn. Do đó, tính năng gre của bạn sẽ thống trị những người khác trong một trình phân loại như Hồi quy logistic. Bạn có thể bình thường hóa tất cả các tính năng của mình với cùng một tỷ lệ trước khi đặt chúng vào một mô hình học máy. This là hướng dẫn tốt về các tính năng chia tỷ lệ và các lớp chuẩn hóa khác nhau có sẵn trong tìm hiểu.
2. Mất cân bằng lớp - Tìm sự mất cân bằng trong lớp học trong dữ liệu của bạn. Vì bạn đang làm việc với dữ liệu thừa nhận/từ chối, thì số lượng từ chối sẽ cao hơn đáng kể so với các lần thừa nhận. Hầu hết các trình phân loại trong SkLearn bao gồm LogisticRegression
có thông số class_weight
. Việc đặt thành balanced
cũng có thể hoạt động tốt trong trường hợp mất cân bằng lớp.
3. Tối ưu hóa điểm khác - Bạn có thể tối ưu hóa trên các số liệu khác cũng như Log Mất và F1-Score. Điểm F1 có thể hữu ích, trong trường hợp mất cân bằng lớp. This là hướng dẫn tốt để nói nhiều hơn về điểm số.
4. Điều chỉnh siêu thông số - Tìm kiếm lưới - Bạn có thể cải thiện độ chính xác của mình bằng cách thực hiện Tìm kiếm lưới để điều chỉnh siêu mẫu của mô hình. Ví dụ trong trường hợp LogisticRegression
, tham số C
là một tham số. Ngoài ra, bạn nên tránh sử dụng dữ liệu thử nghiệm trong quá trình tìm kiếm lưới. Thay vào đó thực hiện xác thực chéo. Chỉ sử dụng dữ liệu thử nghiệm của bạn để báo cáo các con số cuối cùng cho mô hình cuối cùng của bạn. Xin lưu ý rằng GridSearch nên được thực hiện cho tất cả các mô hình mà bạn thử bởi vì sau đó chỉ có bạn mới có thể biết được điều gì là tốt nhất bạn có thể nhận được từ mỗi mô hình. Scikit-Learn cung cấp lớp học GridSearchCV
cho việc này. This bài viết cũng là một điểm khởi đầu tốt.
5. Khám phá thêm các bộ phân loại - Hồi quy logistic tìm hiểu bề mặt quyết định tuyến tính tách lớp của bạn. Có thể là 2 lớp của bạn có thể không được phân tách tuyến tính. Trong trường hợp này, bạn có thể cần phải xem xét các bộ phân loại khác như Support Vector Machines để có thể tìm hiểu các ranh giới quyết định phức tạp hơn. Bạn cũng có thể bắt đầu xem xét các bộ phân loại dựa trên cây như Decision Trees có thể tìm hiểu các quy tắc từ dữ liệu của bạn. Hãy nghĩ về chúng như là một loạt các quy tắc If-Else mà thuật toán tự động học từ dữ liệu. Thông thường, rất khó để có được quyền Bias-Variance Tradeoff với Cây quyết định, vì vậy tôi khuyên bạn nên xem Random Forests nếu bạn có một lượng dữ liệu đáng kể.
6. Phân tích lỗi - Đối với mỗi mô hình của bạn, hãy quay lại và xem xét các trường hợp không thực hiện được. Bạn có thể sẽ thấy rằng một số mô hình của bạn hoạt động tốt trên một phần của không gian tham số trong khi các mô hình khác hoạt động tốt hơn trên các phần khác. Nếu đây là trường hợp, sau đó Ensemble Techniques như VotingClassifier
kỹ thuật thường cho kết quả tốt nhất. Các mô hình giành chiến thắng trong các cuộc thi Kaggle là các mô hình quần thể nhiều lần.
7. Các tính năng khác _ Nếu tất cả điều này không thành công, thì điều đó có nghĩa là bạn nên bắt đầu tìm kiếm nhiều tính năng hơn.
Hy vọng điều đó sẽ hữu ích!
Bạn có thể bắt đầu bằng cách điều chỉnh các tham số C của hồi quy logistic. Bạn cũng có thể thử các phương pháp phân loại khác nhau như SVM và cây cối. – geompalik
Bạn không nên cố gắng tối ưu hóa độ chính xác trên bộ thử nghiệm của mình. Bạn nên tối ưu hóa trên tập huấn luyện và sử dụng tập kiểm tra làm đánh giá đối tượng của phương pháp. Bạn có thể chỉnh sửa câu trả lời của mình để hiển thị điểm chính xác dựa trên tập huấn luyện không? – ncfirth
Xin chào, độ chính xác dựa trên tập huấn luyện được thêm vào. –