为什么要对数据进行降维?

实际应用中的数据一般是高维的,比如手写的数字,如果我们缩放到28×28的图片大小,那么它的维度就是28×28=784维。

举个简单的例子:

下图是手写的1及其对应的图像二维矩阵,数据已经被规范化到[0,1]范围内。

降维的目的有很多,个人觉得最主要的目的有二:

1.为了对数据进行可视化,以便对数据进行观察和探索。

2. 另外一个目的是简化机器学习模型的训练和预测。

我们很难对高维数据具有直观的认识,如果把数据的维度降低到2维或者3维,并且保持数据点的关系,与原高维空间里的关系,保持不变或者近似,我们就可以进行可视化,肉眼来观察数据。

数据经过降维以后,如果保留了原有数据的主要信息,那么我们就可以用降维的数据进行机器学习模型的训练和预测,由于数据量大大缩减,训练和预测的时间效率将大为提高。

降维实例(说到底对我这种非sp岗的码农来说就是从装逼到调库)

下面的python代码,把digits数据集进行了tsne降维,并且显示出来。读者可以拷贝代码到Jupyter notebook里面运行。

from sklearn import datasets

digits = datasets.load_digits()

X = digits.data[:500]

y = digits.target[:500]

from sklearn.manifold import TSNE #调库咯,大家都懂

tsne = TSNE(n_components=2, random_state=0)

X_2d = tsne.fit_transform(X)

target_ids = range(len(digits.target_names))

from matplotlib import pyplot as plt

plt.figure(figsize=(6, 5))

colors = 'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', 'orange', 'purple'

for i, c, label in zip(target_ids, colors, digits.target_names):

plt.scatter(X_2d[y == i, 0], X_2d[y == i, 1], c=c, label=label)

plt.legend()

plt.show()

程序的执行结果如下:

有兴趣的朋友可以自己研究一下tsen的降维方法。

python图像数据是几维数据_python数据分析:数据降维(tsen)相关推荐

  1. python表格类型数据的组织维度是_Python数据分析 - Numpy

    原标题:Python数据分析 - Numpy 前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数 ...

  2. python处理时间的标准数据_python数据分析数据标准化及离散化详解

    本文为大家分享了python数据分析数据标准化及离散化的具体内容,供大家参考,具体内容如下 标准化 1.离差标准化 是对原始数据的线性变换,使结果映射到[0,1]区间.方便数据的处理.消除单位影响及变 ...

  3. python数据预处理_Python数据分析——数据预处理的方法

    前言 1. 关于数据集 数据来源:日月光华老师的<Python数据分析从入门到机器学习>的 lianjia 数据. 数据概况: cjtaoshu:成交套数 mendian:门店 cjzon ...

  4. python 可视化分析平台_python 数据分析数据可视化工具matplotlib

    说明: 数据可视化中的数据集下载地址:(数据来源:从零开始学python数据分析和挖掘) 链接:https://pan.baidu.com/s/1zrNpzSNVHd8v1rGFRzKipQ 提取码: ...

  5. python数据预处理 重复行统计_Python数据分析之数据预处理(数据清洗、数据合并、数据重塑、数据转换)学习笔记...

    1. 数据清洗 1.1 空值和缺失值的处理 ​空值一般表示数据未知.不适用或将在以后添加数据.缺失值是指数据集中某个或某些属性的值是不完整的. ​一般空值使用None表示,缺失值使用NaN表示 1.1 ...

  6. Python地信专题 | 基于geopandas的空间数据分析—数据结构篇

    作者:费弗里 博客地址: https://www.cnblogs.com/feffery/p/11898190.html 说明:本文经作者授权转载,禁止二次转载 全文8500字 本文对应代码已上传至我 ...

  7. python制作微信个人二维码_Python实现 | 微信带参数的二维码

    微信运营越来越多了,这种带参数二维码的使用场景还挺多的,但是网上的实现大都是PHP啥的,还不想写PHP的我只好用Python实现一下了. 关于带参二维码的介绍,记得先看官网:生成带参数的二维码. 先大 ...

  8. 型数据保留几位小数_Python数据分析—数据框的简单操作

    本文是数据分析的第三课,教大家如何在python中对数据框进行简单操作,包括更改列名.显示某列中的部分字符.对某列的数值型数据进行取整等. 本文目录 更改列名 显示某列中的部分字符 抽取某列的部分字符 ...

  9. python seaborn 热图 值对应颜色_Python数据分析之Seaborn(热图绘制)

    Seaborn热图绘制 %matplotlib inlineimport matplotlib.pyplot as pltimport numpy as np;np.random.seed(0)imp ...

  10. python查看数据集的维度、大小_Python数据分析 - numpy

    前言 NUMPY(以下简称NP)是Python数据分析必不可少的第三方库,np的出现一定程度上解决了Python运算性能不佳的问题,同时提供了更加精确的数据类型.如今,np被Python其它科学计算包 ...

最新文章

  1. Redis架构第二天:CenterOS集群、RDB和AOF、主从复制架构实践
  2. 47.QT-QChart之曲线图,饼状图,条形图使用
  3. uniapp小程序的getsysteminfo_Typecho小程序:Pisces-Mini-Program
  4. Linux内核分析 - 网络[一]:收发数据包的调用
  5. iPhone 12在二季度iPhone出货量中占63% 低于iPhone 11同期
  6. 【报告分享】2020年她趋势报告.pdf(附下载链接)
  7. linux下实现对多个文件去重软件,Linux下大文件的排序和去重复
  8. 4_2 刽子手游戏(UVa489)自顶向下逐步求精法
  9. 树莓派与Arduino Leonardo使用NRF24L01无线模块通信之基于RF24库 (四) 树莓派单子节点查询...
  10. 单链表尾指针要置为空?为什么单链表建立完以后,比如p指向尾节点,要加上一句p-next=NULL;?
  11. Python编曲实践(十):用Ableton Live 10手工扒的Grunge摇滚数据集,涵盖Grunge时期四大代表乐队的经典专辑
  12. Truecrypt之死
  13. 跟着团子学SAP PS:项目计划成本与项目预算设计思路
  14. token什么意思中文在C语言中,token什么意思(token里面包含什么信息)
  15. python格式化输出函数之format
  16. 世界上最健康的作息时间表
  17. 【目标跟踪系列】Struck: Structured Output Tracking with Kernels(代码调试运行篇)
  18. 京东E卡购买api接口
  19. Zeppelin设置访问登录权限
  20. iOS年月日、时分秒选择器

热门文章

  1. 程序猿,你也配吃10元的盒饭?
  2. 游游学姐小分队part 2:跑马灯(位运算)
  3. cisco ssl vpn设备和outlook owa渗透测试
  4. 透过数据看现实,漫谈实况FIFA的这些年
  5. Pixhawk精准着陆之IRLock配置
  6. html 视频列表页面,爱奇艺视频播放列表.html
  7. python点餐系统早餐_python 点餐系统(仅函数实现)
  8. 迭代法的收敛条件及收敛阶
  9. C++ ORM - fg100emil的专栏 - 博客频道 - CSDN.NET
  10. 介绍些数码产品吧。。仅供参考,笔记本,mp3,mp4,游戏机,手机,卡片相机_alir121d