一、如何使用SelectKBest
class sklearn.feature_selection.SelectKBest(score_func=, *, k=10)
根据给定的选择器
选择出前k个与标签最相关的特征。
参数说明如下
Parameters
score_func: 可调用的
函数输入两个数组X和y,并返回一对数组(分数,p-value)或带分数的
单个数组。默认值为f_classif(请参见下文“另请参见”)。默认功能仅
适用于分类任务。
k:int or “all”, optional, 默认=10
要选择的主要特征数(保留前几个最佳特征)。
“ all”选项绕过选择,用于参数搜索。
Attributes
scores_:array-like of shape (n_features,)
特征分数。
pvalues_:array-like of shape (n_features,)
特征分数的p值,如果score_func仅返回分数,则为None 。
二、实例说明
Scikit-learn API提供SelectKBest类用于提取数据的最佳特征,SelectKBest方法会选择最高分数的K个特征,通过改变“score_func”参数我们可以将这个方法用于分类或回归。当我们准备训练一个大型数据时,选择最佳特征是一个重要的过程。它可以帮助我们消除不那么重要的数据部分,减少训练数据的时间。下面我们将简要的分三个步骤讲述。
三个步骤
1、选择最佳特征用作分类数据
2.、选择最佳特征用作回归数据
3、源码
准备工作
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2, f_regression
from sklearn.datasets import load_boston
from sklearn.datasets import load_iris
from numpy import array
1)SelectKBest for classification
准备数据
iris