Mục lục:
- Lựa chọn bằng các giải pháp đơn biến
- Khi sử dụng một lựa chọn đơn biến, bạn phải tự quyết định cho mình bao nhiêu biến để giữ: Lựa chọn tham lam tự động giảm số lượng các tính năng liên quan đến một mô hình học dựa trên cơ sở đóng góp hiệu quả của chúng vào hiệu suất được đo lường bởi các biện pháp lỗi.
Video: Khoa học dữ liệu (Data Science) ứng dụng thực tế ra sao? 2025
Chọn các biến đúng trong Python có thể cải thiện quá trình học tập trong khoa học dữ liệu bằng cách giảm lượng tiếng ồn (vô ích thông tin) có thể ảnh hưởng đến ước tính của người học. Do vậy, việc lựa chọn biến đổi có thể làm giảm hiệu quả của dự đoán. Để có thể tham gia vào các biến số hữu ích trong quá trình huấn luyện và bỏ qua những tính toán thừa, bạn có thể sử dụng các kỹ thuật sau:
-
Phương pháp đơn biến: Chọn các biến liên quan nhất đến kết quả mục tiêu.
-
Cách tiếp cận tham lam hoặc lạc hậu: Chỉ giữ lại các biến mà bạn có thể loại bỏ khỏi quá trình học mà không làm hỏng hiệu suất của nó.
Lựa chọn bằng các giải pháp đơn biến
Nếu bạn quyết định chọn một biến theo mức độ liên kết với mục tiêu của nó, lớp SelectPercentile cung cấp một thủ tục tự động để giữ một tỷ lệ nhất định các tính năng liên quan nhất và tốt nhất. Số liệu có sẵn cho liên kết
-
f_regression: Chỉ sử dụng cho các mục tiêu số và dựa trên hiệu suất hồi quy tuyến tính.
-
f_classif: Chỉ sử dụng cho các mục tiêu phân loại và dựa trên thử nghiệm thống kê Phân tích sai số (ANOVA).
-
chi2: Thực hiện thống kê chi-square cho các mục tiêu phân loại, ít hợp lý hơn với mối quan hệ phi tuyến giữa biến dự đoán và mục tiêu của nó.
Khi đánh giá các ứng cử viên cho một vấn đề phân loại, f_classif và chi2 có khuynh hướng cung cấp cùng một bộ các biến trên cùng. Đây vẫn là một thực tiễn tốt để kiểm tra các lựa chọn từ cả hai chỉ số kết hợp.
Ngoài việc áp dụng lựa chọn trực tiếp của các hiệp hội phần trăm hàng đầu, SelectPercentile cũng có thể xếp hạng các biến số tốt nhất để giúp bạn dễ dàng quyết định phần trăm nào sẽ loại trừ một tính năng khỏi tham gia vào quá trình học tập. Lớp SelectKBest tương tự chức năng của nó, nhưng nó chọn các biến k đầu, trong đó k là một số chứ không phải là một phần trăm.
từ người lùn. feature_selection nhập khẩu SelectPercentile từ sklearn. feature_selection import f_regression Selector_f = ChọnPercentile (f_regression, percentile = 25) Selector_f. phù hợp (X, y) cho n, s trong zip (boston. feature_names, Selector_f. score_): in 'F-score:% 3. Điểm số F: 88. 15 cho tính năng CRIM F-score: 75. 26 cho tính năng ZN F-score: 153. 95 cho tính năng INDUS F-score: 15. 97 cho tính năng CHAS F-score: 112. 59 cho tính năng NOX F-score: 471. 85 cho tính năng RM F-score: 83.48 cho tính năng AGE F-score: 33. 58 cho tính năng DIS Điểm F: 85. 91 cho tính năng RAD F-score: 141. 76 cho điểm tính thuế F: 175. 11 cho tính năng PTRATIO F-score: 63. 05 cho tính năng B Điểm F: 601. 62 cho tính năng LSTAT
Sử dụng mức sản lượng kết hợp giúp bạn chọn các biến quan trọng nhất cho mô hình học máy của bạn, nhưng bạn nên xem xét cho những vấn đề có thể xảy ra: > Một số biến có liên kết cao cũng có thể tương quan cao, giới thiệu các thông tin trùng lặp, hoạt động như tiếng ồn trong quá trình học tập.
-
Một số biến số có thể bị phạt, đặc biệt là các biến nhị phân (các biến biểu thị trạng thái hoặc tính trạng sử dụng giá trị 1 khi nó hiện diện, 0 khi không có). Ví dụ, chú ý rằng kết quả đầu ra cho thấy biến nhị phân CHAS là ít nhất liên quan đến biến đích (nhưng bạn biết từ các ví dụ trước đó rằng nó có ảnh hưởng từ giai đoạn xác nhận chéo).
-
Quá trình lựa chọn đơn biến có thể mang lại cho bạn một lợi thế thực sự khi bạn có một số lượng lớn các biến để chọn từ và tất cả các phương pháp khác biến tính toán không thể thực hiện được. Thủ tục tốt nhất là làm giảm giá trị của SelectPercentile bởi một nửa hoặc nhiều hơn các biến số có sẵn, giảm số lượng các biến thành một số có thể quản lý, và do đó cho phép sử dụng một phương pháp phức tạp hơn và chính xác hơn như là một tìm kiếm tham lam.
Sử dụng một tìm kiếm tham lam
Khi sử dụng một lựa chọn đơn biến, bạn phải tự quyết định cho mình bao nhiêu biến để giữ: Lựa chọn tham lam tự động giảm số lượng các tính năng liên quan đến một mô hình học dựa trên cơ sở đóng góp hiệu quả của chúng vào hiệu suất được đo lường bởi các biện pháp lỗi.
Lớp RFECV, phù hợp với dữ liệu, có thể cung cấp cho bạn thông tin về số lượng các tính năng hữu ích, chỉ ra cho bạn, và tự động chuyển đổi dữ liệu X, bằng cách biến đổi phương thức, thành một tập biến giảm, như thể hiện trong ví dụ sau:
từ người lùn. feature_selection nhập khẩu RFECV selector = RFECV (dự toán = hồi quy, cv = 10, điểm = "mean_squared_error") chọn. (9) Có thể có được một chỉ mục cho biến tối ưu được đặt bằng cách gọi thuộc tính support_ từ RFECV (số liệu tối ưu nhất:% d "% selector) lớp sau khi bạn phù hợp với nó.
in boston. feature_names [selector. support_] CHAS "NOX" RM "DIS" PTRATIO "LSTAT ']
Chú ý rằng CHAS bây giờ được đưa vào một trong những tính năng tiên đoán nhất, tương phản với kết quả từ việc tìm kiếm đơn biến Phương pháp RFECV có thể phát hiện ra một biến là quan trọng, cho dù nó là nhị phân, phân loại, hoặc số, bởi vì nó trực tiếp đánh giá vai trò của các tính năng trong dự đoán.
Phương pháp RFECV chắc chắn là hiệu quả hơn, khi so sánh với phương pháp tiếp biến đơn, vì nó xem xét các tính năng tương quan cao và được điều chỉnh để tối ưu hóa các biện pháp đánh giá (thường không phải là Chi-square hoặc F-score). Là một quá trình tham lam, nó đòi hỏi tính toán và chỉ có thể ước lượng các bộ dự đoán tốt nhất.
Khi RFECV học tập tốt nhất của các biến từ dữ liệu, sự lựa chọn có thể overfit, đó là những gì xảy ra với tất cả các thuật toán học máy khác. Thử RFECV trên các mẫu dữ liệu đào tạo khác nhau có thể xác nhận các biến số tốt nhất để sử dụng.