机器学习4—数据的特征工程之数据降维(PCA)

1191-杨同学

发表文章数:32

首页 » 算法 » 正文

数据降维

数据降维方法:特征选择主成分分析

  1. 进行数据降维的原因:
    (1)冗余:部分特征的高度相关容易消耗计算性能;
    (2)噪声:部分特征对预测结果有负影响
  2. 数据降维的定义:从提取到的所有特征中选择部分特征作为训练集特征。特征在选择前后可以改变值,也可以不改变值,但是选择后的特征维数肯定比选择前小。
    注:这里的维数指的是特征的数量。

特征选择

特征选择的主要方法
(1)Filter(过滤式):VarianceThreshold
(2)Embedded(嵌入式):正则化、决策树
(3)Wrapper(包裹式)
(4)神经网络

sklearn特征选择API

sklearm.feature_selection.VarianceThreshold
注:Variance:方差

VarianceThreshold语法

  1. VarianceThreshold(threshold = 0.0)
    设置门限,删除所有低方差特征(threshold默认为0)
  2. VarianceThreshold.fit_transform(X)
    X: numpy array 格式的数据[n_samples, n_features]
    返回值:训练集方差低于threshold的特征将被删除
    注:默认值(threshold=0)保留所有非零方差特征,即删除所有样本中具有相同值的特征。
  3. 流程:
    (1)实例化VarianceThreshold,指定阈值方差;
    (2)调用fit_transform
from sklearn.feature_selection import VarianceThreshold

def var():
    """
    特征选择---删除低方差的特征
    :return: None
    """
    var= VarianceThreshold(threshold=0.0)
    data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
    print(data)

    return None


if __name__ == '__main__':
    var()

运行结果:
机器学习4---数据的特征工程之数据降维(PCA)

主成分分析(PCA)

参考:https://blog.csdn.net/u010159842/article/details/52708906?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159858103719725219948352%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159858103719725219948352&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-4-52708906.pc_ecpm_v3_pc_rank_v3&utm_term=%E4%B8%BB%E6%88%90%E5%88%86%E5%9B%9E%E5%BD%92python&spm=1018.2118.3001.4187
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)

主要思想:
机器学习4---数据的特征工程之数据降维(PCA)
PCA是一种分析、简化数据的技术,其目的是压缩数据的维数,达到用低维信息表示高维信息的目的——可以减少回归分析或者聚类分析中特征的数量。
机器学习4---数据的特征工程之数据降维(PCA)
机器学习4---数据的特征工程之数据降维(PCA)

高维度数据容易出现的问题

很可能一部分特征之间存在相关性(冗余),如:
机器学习4---数据的特征工程之数据降维(PCA)
因此,在特征数量达到上百的时候,考虑用PCA进行数据的简化数据会改变,特征数量也会减少

sklearn主成分分析API

sklearn.decomposition.PCA

  1. 语法
    (1)PCA(n_components=)
    n_components:
    小数:0~1(百分比),保留多少信息,一般为90%-95%
    整数:减少到的特征数量(一般不用整数)
    (2)PCA.fit_transform(X)
    X: numpy array格式的数据[n_samples,n_features]
    返回值:按指定保留百分比降维后的array
  2. PCA流程
    (1)实例化PAC,指定减少后的维度;
    (2)调用fit_transform
from sklearn.decomposition import PCA


def pca():
    pca = PCA(n_components=0.9)
    data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
    print(data)

    return None


if __name__ == '__main__':
    pca()

运行结果:
机器学习4---数据的特征工程之数据降维(PCA)

机器学习开发流程

  1. 获取数据,明确问题(分类/回归);
  2. 数据的基本处理(用pd处理数据,合并表格等)
  3. 特征工程;
  4. 找到合适的算法并进行预测;
  5. 模型评估、判定效果;
  6. 上线使用(以API形式提供)

拜师教育学员文章:作者:1191-杨同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《机器学习4—数据的特征工程之数据降维(PCA)》 发布于2020-07-25

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录