开发者社区> 一个处女座的程序猿> 正文

ML之DR之PCA:利用PCA对手写数字图片识别数据集进行降维处理(理解PCA)

简介: ML之DR之PCA:利用PCA对手写数字图片识别数据集进行降维处理(理解PCA)
+关注继续查看

初步理解PCA


#理解PCA:线性相关矩阵秩计算样例


import numpy as np

M = np.array([[1, 2], [1009, 2018]])      #初始化一个2*2的线性相关矩阵

result=np.linalg.matrix_rank(M, tol=None) #计算2*2线性相关矩阵的秩

print('得出矩阵的秩:',result)




输出结果


利用PCA对手写数字图片识别数据集进行降维处理




核心代码

 

X_digits = digits_train[np.arange(64)]

y_digits = digits_train[64]

estimator = PCA(n_components=2)

X_pca = estimator.fit_transform(X_digits)

   for i in range(len(colors)):

       px = X_pca[:, 0][y_digits.as_matrix() == i]

       py = X_pca[:, 1][y_digits.as_matrix()== i]

       plt.scatter(px, py, c=colors[i])

   

   plt.legend(np.arange(0,10).astype(str))

   plt.xlabel('First Principal Component')

   plt.ylabel('Second Principal Component')



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
hive Illegal Operation state transition from CLOSED to ERROR的处理
异常堆栈如下: 2015-11-24 16:49:11,495 ERROR org.apache.hive.service.cli.operation.Operation: Error running hive query:org.
1752 0
DL之Attention:基于ClutteredMNIST手写数字图片数据集分别利用CNN_Init、ST_CNN算法(CNN+SpatialTransformer)实现多分类预测(一)
DL之Attention:基于ClutteredMNIST手写数字图片数据集分别利用CNN_Init、ST_CNN算法(CNN+SpatialTransformer)实现多分类预测
72 0
Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失(续)
Spring Cloud中Hystrix 线程隔离导致ThreadLocal数据丢失(续)
87 0
SAS进阶《深入解析SAS》之对多数据集的处理
SAS进阶《深入解析SAS》之对多数据集的处理 1. 数据集的纵向串接: 数据集的纵向串接指的是,将两个或者多个数据集首尾相连,形成一个新的数据集。 据集的横向合并: 数据集的横向合并,指的是将两个或者多个数据集根据某种原则横向合并起来,形成新的数据集。 2. 数据集的纵向串接两种方法:1)使用SAS DATA步的SET语句。2)使用SAS过程步的APPEND过程。
1312 0
从 0 到 1 通过 Flink + Tablestore 进行大数据处理与分析
阿里云实时计算Flink版是一套基于 Apache Flink 构建的⼀站式实时大数据分析平台。在大数据场景下,实时计算 Flink 可提供端到端亚秒级实时数据流批处理能力。表格存储 Tablestore (又名 OTS)是阿里云自研的多模型结构化数据存储,可提供海量结构化数据的存储、查询分析服务。表格存储的双引擎架构支持千万TPS和毫秒级延迟的服务能力,可作为大数据计算的极佳上下游存储。
463 0
独家 | 一文教你如何处理不平衡数据集(附代码)
本文作者用python代码示例解释了3种处理不平衡数据集的可选方法,包括数据层面上的2种重采样数据集方法和算法层面上的1个集成分类器方法。
1105 0
SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作
SAS学习笔记之《SAS编程与数据挖掘商业案例》(2)数据获取与数据集操作 1. SET/SET效率高,建立的主表和建表索引的查询表一般不排序, 2. BY语句,DATA步中,BY语句规定分组变量,用于控制SET,MERGE,UPDATE或MODIFY语句。 BY<DESCENDING>variable-1 <...<DESCENDI
1460 0
QT编写图片数据转换工具
学习QT已经一个月了,觉得QT真是个好东西,他的这种跨平台机制简直太棒了!还有QML这东西,真牛B!在这段学习期间,因为一个项目的需要,需要将图片转成数据,然后传出去,那边接收到数据后再对应转换成图片,才有了下面这个小工具,开发环境:QT 4.7.0,在LINUX下面重新编译也可以在LINUX下面运行,代码不用改!先放张截图吧。
800 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1703
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载