Ever tried , Ever failed !
No matter ,Try again ! Fail again , Fail better !

特征选择&降维

一、特征选择是什么

特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。

主要方法(三大武器):

1.Filter(过滤式):VarianceThreshold
2.Embedded(嵌入式):正则化、决策树
3.Wrapper(包裹式)


二、特征选择原因:

冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有负影响


三、sklearn特征选择API

sklearn.feature_selection.VarianceThreshold

1.VarianceThreshold语法

VarianceThreshold(threshold = 0.0)
    删除所有低方差特征
Variance.fit_transform(X,y)       
    X:numpy array格式的数据[n_samples,n_features]
    返回值:训练集差异低于threshold的特征将被删除。
    默认值是保留所有非零方差特征,即删除所有样本中具有相同值的特征

2.实例

from sklearn.feature_selection import VarianceThreshold
fs=VarianceThreshold(threshold=0.1)  # 删除方差小于0.1的特征值
data=fs.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
print(data)

四、sklearn降维API

sklearn. decomposition

1.PCA(主成分分析)

本质:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量

高维度数据容易出现的问题:特征之间通常是线性相关的

2.PCA语法

PCA(n_components=None)
    将数据分解为较低维数空间
PCA.fit_transform(X)
    X:numpy array格式的数[n_samples,n_features]
    返回值:转换后指定维度的array

3.实例:

from sklearn.decomposition import PCA
pc=PCA(n_components=2)
data=pc.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
print(data)

运行结果:
[[ 1.22879107e-15 3.82970843e+00]
[ 5.74456265e+00 -1.91485422e+00]
[-5.74456265e+00 -1.91485422e+00]]

赞(0) 打赏
未经允许不得转载:Mr. Almost的个人博客 » 特征选择&降维

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

谢谢老板~

支付宝扫一扫打赏

微信扫一扫打赏