PCA还可以对数据进行降噪
首先引入相关包

import numpy as np
import matplotlib.pyplot as plt
X = np.empty((100,2))
X[:,0] = np.random.uniform(0,100,size=100)#产生实数
X[:,1] = 0.75 * X[:,0] + 3. +np.random.normal(0,10,size=100)
plt.scatter(X[:,0],X[:,1])


降噪去抖动(降维,然后复原)

#降噪,去抖动
from sklearn.decomposition import PCA
pca = PCA(n_components=1)
pca.fit(X)
X_reduction = pca.transform(X)
X_restore = pca.inverse_transform(X_reduction)
plt.scatter(X_restore[:,0],X_restore[:,1],color = 'r')
plt.scatter(X[:,0],X[:,1])


另外一个例子,手写识别数据集

#再举一个例子,手写识别数据集
from sklearn import datasets
digits = datasets.load_digits()
X = digits.data
y = digits.target
noisy_digits = X + np.random.normal(0,4,size = X.shape)

必须在外部声明example_digits

example_digits = noisy_digits[y == 0,:][:10]
for num in range(1,10):X_num = noisy_digits[y == num,:][:10]example_digits = np.vstack([example_digits,X_num])print(example_digits.shape)
(100, 64)

可视化一下加噪后的数据
可视化代码

def plot_digits(data):fig,axes = plt.subplots(10,10,figsize = (10,10),subplot_kw = {'xticks':[],'yticks':[]},gridspec_kw =dict(hspace = 0.1,wspace = 0.1))for i ,ax in enumerate(axes.flat):ax.imshow(data[i].reshape(8,8),cmap='binary',interpolation = 'nearest',clim = (0,16))
plot_digits(example_digits)


PCA处理

pca = PCA(0.7)
pca.fit(noisy_digits)
print(pca.n_components_)
26
components = pca.transform(example_digits)
flitered_digits = pca.inverse_transform(components)
plot_digits(flitered_digits)

Python机器学习:PCA与梯度上升:008使用PCA对数据进行降噪相关推荐

  1. 【python机器学习】线性回归--梯度下降实现(基于波士顿房价数据集)

    波士顿房价数据集字段说明 crim 房屋所在镇的犯罪率 zn 面积大于25000平凡英尺住宅所占比例 indus 房屋所在镇非零售区域所占比例 chas 房屋是否位于河边 如果在河边,值1 nox 一 ...

  2. Python机器学习:评价分类结果008多分类问题中的混淆矩阵

    多分类问题中的混淆矩阵 #十分类问题 import matplotlib.pyplot as plt import numpy as np 数据 from sklearn import dataset ...

  3. Python机器学习:线型回归法008实现多元线性回归

    使用封装的:LinearRegression import numpy as np from Simple_linear_Regression.metrics import r2_score clas ...

  4. Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析

    Python机器学习/数据挖掘项目实战 波士顿房价预测 回归分析 此数据源于美国某经济学杂志上,分析研究波士顿房价( Boston HousePrice)的数据集. 在这个项目中,你将利用马萨诸塞州波 ...

  5. Python机器学习:PCA与梯度上升:05高维数据映射成低维数据(封装一个PCA)

    使用封装后的PCA进行操作 import numpy as np import matplotlib.pyplot as plt from pcaa.PCA import PCA 生成数据 X = n ...

  6. PCA主成分分析算法专题【Python机器学习系列(十五)】

    PCA主成分分析算法专题[Python机器学习系列(十五)] 文章目录 1. PCA简介 2. python 实现 鸢尾花数据集PCA降维 3. sklearn库实现 鸢尾花数据集PCA降维案例    ...

  7. Python机器学习笔记 使用scikit-learn工具进行PCA降维...

    Python机器学习笔记 使用scikit-learn工具进行PCA降维 之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-lear ...

  8. Python机器学习笔记 使用scikit-learn工具进行PCA降维

    Python机器学习笔记 使用scikit-learn工具进行PCA降维 之前总结过关于PCA的知识:深入学习主成分分析(PCA)算法原理.这里打算再写一篇笔记,总结一下如何使用scikit-lear ...

  9. python机器学习库sklearn——SGD梯度下降法

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!大家可以看看是否对自己有帮助:点击打开 docker/kubernetes入门视频教程 全栈工程师开发手册 (作者:栾鹏) pyth ...

最新文章

  1. pr预设的卷及内核锐化是什么_看完这一篇,彻底搞懂锐化怎么用!
  2. 相机数据格式设置不对踩坑
  3. 量子计算机模拟其他系统,一种量子计算机的模拟控制方法、系统及相关组件技术方案...
  4. 51CTO下载IT类/程序类/开发类资源汇总
  5. socket编程listen函数限制连接数的解决方案_网络编程——服务器篇
  6. 英语在线听力翻译器_仁爱版初一英语免费听力训练电子教程
  7. 用dataGridView实现增删改查
  8. android系统三防机,这才是真正给老人设计的智能手机:三防+安卓系统+超大音量,AGM H2...
  9. 源码分析参考:Queue
  10. iOS核心动画高级技术(九) 图层时间
  11. 蓝鸥iOS开发教程C语言——while语句
  12. 微星小飞机界面翻译_/|黑科技高效快捷的多引擎翻译软件
  13. MySql整理(基础|进阶|运维)【黑马程序员视频】
  14. NV12图像格式叠加(水印原理演示)
  15. northwind数据库mysql下载_SQLEXPRESS 2012 安装NorthWind和Pub数据库
  16. 中国微型电动车行业市场供需与战略研究报告
  17. 高级项目经理的企业需求、企业地位
  18. 梅特勒托利多xk3124电子秤说明书_托利多电子秤设置说明
  19. 【matlab选题推荐二】MATLAB差影法车型识别算法研究
  20. 哈尔滨红继红小学计算机名师,【喜报】哈尔滨市20名教师喜获特级教师荣誉称号丨有没有你(认识)的老师...

热门文章

  1. 使用Genymotion模拟器
  2. 【BZOJ4517】排列计数,组合数+错排
  3. bzoj4419 [Shoi2013]发微博 差分
  4. Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令
  5. 【每日一网】Day16:Inside-Outside Net(ION)讲解
  6. 学生信息管理信息系统--添加用户
  7. c语言窗口最大化,使用SDL处理最大化的窗口
  8. 粒子运动模拟 - Verlet积分算法简介
  9. VLfeat win10 vs2015 编译
  10. Python中浅拷贝和深拷贝的理解与研究