12.2.7 特征选择
选择最佳特征作为预测变量至关重要,因为它有助于消除数据中的冗余,减少过拟合的可能性,提高模型对未见数据的泛化能力。在下面的内容中,将使用Sklearn的SelectKBest执行一些单变量统计测试,以识别根据其k分数最相关的特征。另外,还使用小于5%的p值作为确定所选特征的统计显着性的阈值。
(1)使用Sklearn中的SelectKBest进行单变量统计测试,识别在k分数下最相关的特征。选择的阈值为5%以下的p值,以确定所选特征的统计显著性。
k_best = SelectKBest(score_func = f_classif,k = len(X_train.columns))
X_train_best = k_best.fit_transform(X_train, y_train)
X_test_best = k_best.transform(X_test)
feat_indices = k_best.get_support(indices = True)
feat_names = X_train.columns[feat_indices]
p_values = k_best.pvalues_
<