机器学习——特征选择(降维)PCA和MDA

实际的分类问题和回归问题中,都有可能遇到多达50个或100个(甚至更多)的特征问题。对于分类问题来说,特征若为二值变量,我们通常认为其中的任何一个特征对于实现正确的分类都有它自己的贡献。但是,有理由怀疑这些特征之间是否存在着相关性,即里面是否存在着某种信息的冗余。回归问题也同样存在特征冗余的情况。

本篇博客重点讨论回归问题中特征选择的情况。

一、成分分析

一种处理过多维数的方法是采用组合特征的方法来降维。对几个特征作线性组合是一种特别具有吸引力的方法,因为线性组合容易计算,并且能够进行解析分析。从本质上来说,线性方法是把高位的数据投影到低维空间中。有两种经典的寻找有效的线性变换的方法。

其一是主成分分析(principal component analysis,PCA),这一方法的目的是寻找在最小均方意义下最能代表原始数据的投影方法。另一种方法是多维缩放(Multi Dimensional Scaling,MDS),这一方法能够使原始空间中样本之间的距离在低维空间中得以保持。


1.1 主成分分析PCA

PCA方法参数n_components,如果设置为整数,则n_components=k。

如果将其设置为小数,则说明降维后的数据能保留的信息。

#PCA
from sklearn.decomposition import PCA
import pandas as pd

data = pd.read_csv('1.csv')

estimator = PCA(n_components=8)   # 初始化,压缩至8维(根据实际情况可变)

# 利用训练特征决定(fit)8个正交维度的方向,并转化(transform)原训练特征
pca_X_train = estimator.fit_transform(data)

#打印压缩后的数据集形状
print(pca_X_train.shape)

使用PCA降维之后的数据进行预测会损失一些预测的准确性,在降维过程中为了避免大量的噪声和冗余,也会损失一些有用的信息,但用降维后的数据进行模型的训练大大降低了模型训练的时间,也降低了模型训练的难度,对于高维数据来说是一个比较好的选择。

非线性降维常用方法,是基于核技巧对线性降维方法进行“核化”,例如核主成分分析(KPCA)。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白日梦想家_胖七七

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值