私はこのチュートリアルを見ています:https : //www.dataquest.io/mission/75/improving-your-submission
セクション8では、最良の機能を見つけると、次のコードが表示されます。
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は何をしているのですか(k = 1とk = "all"のどちらを使用しても、グラフにはすべての機能がリストされます)?どのようにして最良の機能が決定されますか?それらは、使用したい方法(ロジスティック回帰、ランダムフォレストなど)に依存しませんか?
k個の最高スコアに従って特徴を選択します。
—
Srini