http://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.VarianceThreshold.html
1.特征选择原因
冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有负影响
2.什么是特征选择
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征, 特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯 定比选择前小,毕竟我们只选择了其中的一部分特征。
主要方法(三大武器):
Filter(过滤式):VarianceThreshold
Embedded(嵌入式):正则化、决策树
Wrapper(包裹式)
sklearn特征选择API:
sklearn.feature_selection.VarianceThreshold
3.VarianceThreshold语法
# coding=utf-8
_author_ = 'liuzc'
from sklearn.feature_selection import VarianceThreshold
def feature_selection():
"""
特征选择 删除低方差的特征
:return: None
"""
var = VarianceThreshold(threshold=1.0)
data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)
return None
if __name__ == "__main__":
feature_selection()
结果:
[[0]
[4]
[1]]