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ì)?