主成分分析PCA实现
一、数据降维二、应用“手写体数字图像”数据进行PCA操作参考文献:
一、数据降维
降维/压缩问题是选取具有代表性的特征,在保持数据多样性( Variance )的基础上,规避掉大量的特征冗余和噪声,不过这个过程也很有可能会损失一些有用的模式信息。经过大量的实践证明,相较于损失的少部分模型性能,维度压缩能够节省大量用于模型训练的时间,使得 PAC 所带来的模型综合效率变得更为划算。
在数据挖掘过程中,高维数据是非常棘手的研究对象。特别是在文本挖掘、图像处理和基因数据分析中,维度过高使很多学习器无法工作或效率降低,所以降维也是数据预处理过程的一项必要任务。
数据降维、选择特征的好处有:
① 避免过度拟合,改进预测性能;
② 使学习器运行更快,效能更高;
③ 剔除不相关的特征使模型更为简单,容易解释。
应用 PAC 降维时需要注意:
① PCA 可以降维,应用 PCA 提取主成分可能会解决一些过拟合( overfitting )的问题,但是不建议用这种方法解决 overfitting 问题,建议用加入 regularization 项(例如 ridge regression 和 LASSO
② PCA 中主成分分析只应用到训练集( Training Data )数据,选择主分量的时候只应用 training data 。
③ 不要盲目使用 PCA 进行降维,它适用于在原数据上跑到了一个比较好的结果,但运行速度又太慢的时候,否则降维取得的效果往往不好。
二、应用“手写体数字图像”数据进行PCA操作
# 导入数据和工具包
import pandas as pd
# 从互联网读入手写体图片识别任务的训练数据,存储在变量 digits_train 中。
digits_train = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/o