机器学习:数据降维(特征选择和主成分分析)
数据降维
这里需要注意,我们当前说的降维是特征的数量,比如说四个特征我们可以说是四维特征,不是数组的降维。
数据降维就是把特征数量进行减少。
数据降维方式:
1.特征选择
2.主成分分析
1.特征选择:
特征选择:选择部分特征当做机器学习的相关数据。
特征选择原因:
冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有负影响
特征选择的主要方法:
主要方法(三大武器):Filter(过滤式):VarianceThreshold
Embedded(嵌入式):正则化、决策树
Wrapper(包裹式)
过滤式:对方差进行筛选,从发差的大小考虑这个特征的数据情况
过滤式:API: sklearn-learn.feature.VarianceThreshold
VarianceThreshold语法:
-VarianceThreshold(threshold = 0.0)
删除所有低方差特征
-Variance.fit_transform(X,y)
X:numpy array格式的数据[n_samples,n_features]
返回值:训练集差异低于threshold的特征将被删除。
默认值是保留所有非零方差特征,即删除所有样本
中具有相同值的特征。
from sklearn.feature_selection import VarianceThreshold
def var():"""特征选择-删除低方差特征"""#默认threshold=0.0 删除相同数据特征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()
默认删除了第一列和最后一列。
2.主成分分析(PCA)
本质:PCA是一种分析,简化数据集的技术。
目的:是数据维数压缩,尽可能尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以消减回归分析或聚类分析中特征的数量。
PCA:特征数量达到上百的时候,考虑数据简化。这就会导致数据的改变,那么特征数量也会减少。
PCA理解
比如说看到第一张照片我们可能不能分辨出是不是洒水壶。第二第三张可能看出来一点但是不能确定,最后一张我么就可以知道是洒水壶。我们再用一个更低维度的东西去表示一个高维度的东西的时候,可能产生信息的差异,所以就是应为信息的差异,所以进行降维,降低了维数但是数据代表的信息没有什么损耗。
高纬度容易出现的问题:
特征之间通常是相关的。有的数据进行缩放过后可能相似。所以必须使用PCA。
PCA理解:
数据:
(-1,-2)(-1, 0)( 0, 0)( 2, 1)( 0, 1)
这里需要自己动手画一个坐标轴,然后看到坐标轴上面有五个点,这是一个二维的数据,如果我们把它降维到跟x轴平行,就发现五个数据变成了3个,数据发生了损耗。y轴同理。但是如果我们把数据降维到x=y这条直线上发现数据没有损耗或者相比之前损耗减少了。这就是PCA的原理,可以减少损耗。
这里可以大概看一下公式(不是重点):
比如说人脸识别:
通过数据降维转换
PCA语法:
-PCA(n_components=None)
n_components:可以是小数0~1,如果说取0.6 就是保留60%的信息,人为可控指标。经验指定范围:90%-95%
n_components:可以使整数,1,2,3,…减少到多少特征数量(一般不用)
将数据分解为较低维数空间
-PCA.fit_transform(X)
X:numpy array格式的数据[n_samples,n_features]
返回值:转换后指定维度的array
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()
机器学习:数据降维(特征选择和主成分分析)相关推荐
- pca 累积方差贡献率公式_机器学习数据降维方法:PCA主成分分析
PCA在机器学习中很常用,是一种无参数的数据降维方法.PCA步骤: 将原始数据按列组成n行m列矩阵X 将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值 求出协方差矩阵 求出协方差矩阵的 ...
- python降维方法_机器学习数据降维方法总结(附python代码)
介绍 在机器学习实战时,如果面对一个数据集具有上千个特征,那么对于模型训练将是一个巨大的挑战.面对如此多的数据变量,如果我们认真的去分析每一个变量将耗费我们几周甚至几个月的时间,那么你估计也要被开除了 ...
- 机器学习——数据降维
文章目录 数据降维 1 维度灾难与降维 2 主成分分析 2.1 PCA原理 2.2 PCA算法 2.3 PCA算法实验 3 SVD降维 4 核主成分分析降维 总结 数据降维 数据降维又称维数约简,就是 ...
- 机器学习——数据降维和相关性分析
特征工程中数据降维方法思想有两种: 1. 破坏数据原有的结构从而提取数据的主要特征,例如主成分分析(PCA): 2. 对数据进行相关性分析,按照一定的法则来对数据的属性进行取舍达到降维的目的. 相关性 ...
- 数据降维1:主成分分析法思想及原理(配图版)
0x01 什么是主成分分析法 PCA(Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法(非监督的机器学习方法). 其最主要的用途在于&quo ...
- 数据降维:PCA主成分分析降维示例及函数参数解释
文章目录 主成分分析(PCA)介绍 PCA转化步骤 PCA示例 sklearn中的PCA PCA优缺点 优点 缺点 主成分分析(PCA)介绍 PCA也被叫做卡尔胡宁-勒夫转换(KLT),是一种用户在高 ...
- 数据降维方法(主成分分析PCA、线性判别分析LDA)
数据降维 1.特征变换 1.1.特征提取 2.维数缩减 2.1.维度灾难 2.2.维度缩减 2.3.线性降维法 2.3.1.主成分分析(PCA) 2.3.1.1.数学分析 2.3.1.2.算法步骤 2 ...
- 数据降维(data dimension reduction)
在机器学习和统计学领域,降维是指在某些限定条件下,降低随机变量个数,得到一组"不相关"主变量的过程.对数据进行降维一方面可以节省计算机的储存空间,另一方面可以剔除数据中的噪声并提高 ...
- 多元统计分析——数据降维——因子分析(FA)
一.因子分析简介 1.定义 1904年,英国心理学家CharlesSpearman研究了33名学生在古典语.法语和英语三门成绩,三门成绩的相关性系数如下: 三门成绩的高度相关会不会是由于它们三个成绩的 ...
- 【python数据分析】数据建模之 PCA主成分分析
PCA主成分分析:最广泛无监督算法 + 基础的降维算法. 通过线性变换将原始数据变换为一组各维度线性无关的表示,用于提取数据的主要特征分量 → 高维数据的降维 PCA主成分分析: 二维数据降维 / 多 ...
最新文章
- 通过pcl 库的八叉树方法实现点云压缩与解压缩
- linux shell sleep usleep 延时命令 秒 毫秒 微秒
- js中innerText,innerHTML的用法
- MATLAB之离散时间傅里叶变换DTFT
- 在java中使用base64加密解密的方法
- 极大似然估计 —— Maximum Likelihood Estimation
- python执行shell命令行_python执行命令行:python中执行shell命令行read结果
- Spark的存储管理
- 打工好,还是创业好?
- 前端打印功能实现及css设置
- C语言零碎知识点之输入字符数组
- 数学杂谈:高维空间向量夹角小记
- 一份关于电子科技大学大学生网络游戏调查结果
- MATLAB无线计算器
- 关于软件测试人员的几个职业规划方向
- 寒武纪重磅发布首款AI云芯片,陈天石要让端云结合占领10亿智能终端!
- 这届618:掀起直播盛世
- 什么是BI工具?怎么选择好用的BI工具
- android+读书笔记
- 搜索引擎关键词优化可以怎么做?
热门文章
- 没有鸿沟的世界-逐浪CMS全民族语言与国际版全面启航
- kswapd0病毒查杀
- 西数SN550冷启动不认盘,睡眠休眠唤醒掉盘解决方案
- SAP POPI 报错ERROR: HTTP status code 200 ATTRIBUTE_WRONG_VALUE
- C# 自定义用户控件报错 UserControl是“命名空间”,但此处被当做“类型”来使用
- iOS上线常见问题总结
- Python编程题(1)——淘淘摘苹果
- 看完老板就给加薪了!轻松获得一线大厂面试offer,大厂面试题汇总
- Socket编程实现文件的传输
- 平安医疗科技疾病问答迁移学习(CHIP-STS)