ChọnKKest hoạt động như thế nào?


14

Tôi đang xem hướng dẫn này: https://www.dataquest.io/mission/75/improving-your-submission

Ở phần 8, tìm các tính năng tốt nhất, nó hiển thị đoạn mã sau.

import numpy as np
from sklearn.feature_selection import SelectKBest, f_classif

predictors = ["Pclass", "Sex", "Age", "SibSp", "Parch", "Fare", "Embarked", "FamilySize", "Title", "FamilyId"]

# Perform feature selection
selector = SelectKBest(f_classif, k=5)
selector.fit(titanic[predictors], titanic["Survived"])

# Get the raw p-values for each feature, and transform from p-values into scores
scores = -np.log10(selector.pvalues_)

# Plot the scores.  See how "Pclass", "Sex", "Title", and "Fare" are the best?
plt.bar(range(len(predictors)), scores)
plt.xticks(range(len(predictors)), predictors, rotation='vertical')
plt.show()

K = 5 đang làm gì, vì nó không bao giờ được sử dụng (biểu đồ vẫn liệt kê tất cả các tính năng, cho dù tôi sử dụng k = 1 hay k = "tất cả")? Làm thế nào để nó xác định các tính năng tốt nhất, chúng độc lập với phương pháp mà người ta muốn sử dụng (cho dù hồi quy logistic, rừng ngẫu nhiên, hoặc bất cứ điều gì)?


Chọn các tính năng theo điểm số k cao nhất.
Srini

Câu trả lời:


11

Lớp SelectKBest chỉ chấm điểm các tính năng bằng cách sử dụng một hàm (trong trường hợp này là f_groupif nhưng có thể là các tính năng khác) và sau đó "xóa tất cả trừ các tính năng ghi điểm cao nhất k". http://scikit-learn.org/urdy/modules/generated/sklearn.feature_selection.SelectKBest.html#sklearn.feature_selection.SelectKBest

Vì vậy, nó là một trình bao bọc, điều quan trọng ở đây là chức năng bạn sử dụng để ghi điểm các tính năng.

Đối với các kỹ thuật lựa chọn tính năng khác trong sklearn, hãy đọc: http://scikit-learn.org/urdy/modules/feature_selection.html

Và vâng, f_groupif và chi2 độc lập với phương pháp dự đoán bạn sử dụng.


2

Tham số k rất quan trọng nếu bạn sử dụng selector.fit_transform (), sẽ trả về một mảng mới trong đó bộ tính năng đã được giảm xuống mức 'k' tốt nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.