机器学习:数据降维特征选择和主成分分析PCA

简介: 机器学习:数据降维特征选择和主成分分析PCA

数组维度

数据维度:特征数量

特征选择和主成分分析使用:

  • 特征选择 特征较少时使用
  • 主成分分析 特征有上百个

1、特征选择

主要方法:

Filter 过滤式 (方差variance)

Embedded 嵌入式(正则化,决策时)

Wrapper 包裹式

神经网络

代码示例

from sklearn.feature_selection import VarianceThreshold
# 特征选择-删除低方差的特征
data = [
    [0, 2, 0, 3],
    [0, 1, 4, 3],
    [0, 1, 1, 3]
]
var = VarianceThreshold(threshold=0.0)
result = var.fit_transform(data)
print(result)
"""
[[2 0]
 [1 4]
 [1 1]]
"""

2、主成分分析PCA

PCA(principal Component Analysis)

二维表示一个立体物体

特征选择的原因

冗余:部分特征的相关度高,容易消耗计算资源

噪声:部分特征对预测结果有影响

本质:一种分析,简化数据集的技术

目的:使数据维数压缩,竟可能降低元数据的维数(复杂度),损失少量信息

作用:可以削减回归分析或者聚类分析中特征的数量

场景:特征数量达到上百的时候,考虑数据简化

代码示例

from sklearn.decomposition import PCA
data = [
    [2, 8, 4, 5],
    [6, 3, 0, 8],
    [5, 4, 9, 1]
]
# n_components取小数:保留百分比,取整数:保留特征个数
pca = PCA(n_components=0.9)
result = pca.fit_transform(data)
print(result)
"""
[[-3.13587302e-16  3.82970843e+00]
 [-5.74456265e+00 -1.91485422e+00]
 [ 5.74456265e+00 -1.91485422e+00]]
"""


相关文章
|
C语言
【C语言】实现通讯录管理系统
【C语言】实现通讯录管理系统
436 0
|
机器学习/深度学习 数据采集 监控
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
机器学习-特征选择:如何使用递归特征消除算法自动筛选出最优特征?
1954 0
前向-后向算法
前向-后向算法是隐马尔可夫模型(HMM)中的关键算法,用于计算观测序列的概率及评估模型参数。前向算法通过动态规划计算观测序列出现的概率,而后向算法则计算状态的后验概率。两者结合,广泛应用于概率计算、参数评估和平滑处理,是处理时序数据和序列标注的重要工具。
|
缓存 网络协议 网络架构
网络层五大核心知识点
网络层五大核心知识点
ArcGIS || ENVI:如何将彩色影像拆分为R、G、B以及H、S、I(B/V)影像?
ArcGIS || ENVI:如何将彩色影像拆分为R、G、B以及H、S、I(B/V)影像?
905 0
ArcGIS || ENVI:如何将彩色影像拆分为R、G、B以及H、S、I(B/V)影像?
|
存储
教你如何锁定移动硬盘盘符
教你如何锁定移动硬盘盘符
797 0
|
数据安全/隐私保护 uml
「数据架构」TOGAF建模:数据安全图
「数据架构」TOGAF建模:数据安全图
快速打开host文件脚本(以管理员身份执行)
快速打开host文件脚本(以管理员身份执行)
422 0
|
机器学习/深度学习 人工智能 自然语言处理
自然语言处理的应用前景
自然语言处理(NLP)是人工智能技术的一个分支,它使计算机能够像人们一样理解、处理和生成语言,并且在商业中的应用正在迅速增长。