python文本特征选择,机器学习--特征选择(Python实现)

特征选择就是从原始特征中选取一些最有效的特征来降低维度,,提高模型泛化能力减低过拟合的过程,主要目的是剔除掉无关特征和冗余特征,选出最优特征子集;

常见的特征选择方法可以分为3类:过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)。

1.过滤式filter:

通过方差选择法、相关系数法、卡方检验法、互信息法来对特征进行评分,设定阈值或者待选择的阈值的个数来选择;

1.1方差选择法

计算各个特征的方差,剔除小于设定的阈值的特征,剔除特征值 波动较小的特征,例如一个特征的所有值都为1,那这个特征对于预测目标变量就没什么作用;方法很简单,但实际应用中只有少数变量才会存在只取某个值的情况,对特征选择作用比较小,可以当做数据预处理部分,之后再用其他方法进行特征选择。

from sklearn.feature_selection import VarianceThreshold

var = VarianceThreshold(threshold=0)

var.fit_transform(df)

df = df.iloc[var.get_support(True),:]

#VarianceThreshold返回已经提出方差为0的列,通过get_support[True]定位

剩余变量所在的列

1.2 单变量特征选择

1.2.1相关系数法

皮尔森相关系数衡量的是变量之间的线性相关性,取值范围在-1-+1之间,-1表示完全负相关,+1表示完全正相关,0表示线性无关;

你可能感兴趣的:(python文本特征选择)