机器学习_特征值的选择

数据的降维

    • 简介
    • VariancerThreshould
  • sklearn降维API
    • PCA(主成分分析)

简介

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

  • .

特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前,毕竟我们只选择了其中的一部分特征。
主要方法:(三大武器):
Filter(过滤式):VariancerThreshould
Embedded(嵌入式):正则化,决策树
Wrapper(包裹式)
神经网络

VariancerThreshould

VarianceThreshold(threshold = 0.0)

  • 删除所有低方差特征
    Variance.fit_transform(X,y)
  • X:numpy array格式的数据[n_samples,n_features]
  • 返回值:训练集差异低于threshold的特征将被删除。
  • 默认值是保留所有非零方差特征,即删除所有样本
  • 中具有相同值的特征。
  • 删除低方差
from sklearn.feature_selection import VarianceThreshold
'''
利用方法比较小的维度进行删除
'''
# var = VarianceThreshold()
var = VarianceThreshold(threshold=2.0)
data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
print(data)

sklearn降维API

PCA(主成分分析)

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

  • 特征数量上百的时候,适用
  • 数据会改变,特征数量也会减少
  • 高维度数据容易出现的问题:特征之间通常是线性相关的

PCA语法:
PCA(n_components=None)

  • 将数据分解为较低维数空间
    PCA.fit_transform(X)
  • X:numpy array格式的数据[n_samples,n_features]
  • 返回值:转换后指定维度的array
from sklearn.decomposition import PCA
'''
PCA 是利用,成比例的特征,和找到一个合适的维度尽量多的保存特征值

主成分分析进行特征降维
'''
pac=PCA(n_components=0.9)
'''
n_components 参数为小数时以百分比保留
为整数时保留多少个(一般不知道一般不适用)
'''

data=pac.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
print(data)

你可能感兴趣的:(python,机器学习,sklearn,python)