关于PCA(主成分分析,Principal components analysis),这里有非常通俗易懂的文章解释:主成份分析(PCA)最详细和全面的诠释,这里就不多啰嗦了,下面主要介绍PCA算法和LDA算法在MNIST数据集上的应用。
主要参考的是Kaggle上的一篇Kernel,也可以直接去看这篇Kernel,这里附上链接:Interactive Intro to Dimensionality Reduction
python代码:
导入一些基本的库
import numpy as np # linear algebra
import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
import plotly.offline as py
py.init_notebook_mode(connected=True)
import plotly.graph_objs as go
import plotly.tools as tls
import seaborn as sns
import matplotlib.image as mpimg
import matplotlib.pyplot as plt
import matplotlib
# Import PCA
from sklearn.decomposition import PCA
PCA
简而言之,PCA是一种线性变换算法,它试图将我们数据的原始特征投射到更小的特征集合(或子空间)上,同时保留大部分信息。为了做到这一点,算法试图在新的子空间中找到最合适的方向/角度(即主成分),该主成分能最大化方差。为什么要最大化方差呢?请看本文的第一个链接。
MNIST数据集
MNIST数据集是计算机视觉中的数字数据集,基本上算是机器学习中的入门级数据集了,可以到Kaggle上下载:MNIST Dataset。