之前我们用自己写KNN算法[网址]识别了MNIST手写识别数据 [数据下载地址]
这里介绍,如何运用Scikit learn库中的KNN,SVM算法进行笔迹识别。
数据说明:
数据共有785列,第一列为label,剩下的784列数据存储的是灰度图像(0~255)的像素值 28*28=784
安装scikit learn库
看了很多安装教程,都没有安装成功。最后参考了官方网站的安装文档,只需要一步步照着做下来就能成功安装scikit learn 安装文档
函数介绍:
主成分分析(Principal components analysis,PCA):
一种分析、简化数据集的技术。主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特征。过程是求协方差矩阵的特征值与特征向量,通过保留低阶主成分,忽略高阶主成分。这样低阶成分往往能够保留住数据的最重要方面。
c.f.:svd奇异值分析
实际中会用svd奇异值分析去代替它,因为pca计算量比较大。
from sklearn.decomposition import PCA
#从sklearn中导入PCA
pca = PCA(n_components=0.8,whiten=True)
#设置PCA参数
#n_components:
#设为大于零的整数,会自动的选取n个主成分,
#设为分数时,选择特征值占总特征值大于n的,作为主成分
#whiten:
#True表示做白化处理,白化处理主要是为了使处理后的数据方差都一致