7.5 程序示例--PCA for 数据可视化-机器学习笔记-斯坦福吴恩达教授
程序示例–PCA for 数据可视化
我们有一张小鸟的图片,这是一个三通道彩色图像:
我们将图片的像素按颜色进行聚类,并在三维空间观察聚类成果:
似乎在三维空间可视化不是那么直观,借助于PCA,我们将聚类结果降到二维空间进行可视化:
测试代码:
# coding: utf8
# pca/test_pca4visualization.pyimport numpy as np
import kmeans
import pca
from scipy.io import loadmat
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.cm as cmx
import matplotlib.colors as colorsdef getCmap(count):color_norm = colors.Normalize(vmin=0, vmax=count-1)scalar_map = cmx.ScalarMappable(norm=color_norm, cmap='hsv')def map_index_to_rgb_color(index):return scalar_map.to_rgba(index)return map_index_to_rgb_colorfig = plt.figure()
ax = fig.add_subplot(111, projection='3d')data = loadmat('data/bird_small.mat')
A = data['A']A = A / 255.0;height, width, channels = A.shape
X = np.mat(A.reshape(height * width, channels))m, n = X.shapeclusterNum = 16
cmap = getCmap(clusterNum)
centroids, clusterAssment = kmeans.kMeans(X, clusterNum)
# 随机选择 1000 个样本绘制
sampleSize = 1000
sampleIndexs = np.random.choice(m, sampleSize)
clusters = clusterAssment[sampleIndexs]
samples = X[sampleIndexs]# 三维下观察
for i in range(sampleSize):x, y, z = samples[i,:].A[0]center = clusters[i, 0]color = cmap(center)ax.scatter([x], [y], [z], color=color, marker='o')
plt.show()# 二维下观察
reducedSamples = pca.PCA(samples, k=2)[1]
for i in range(sampleSize):x, y = reducedSamples[i,:].A[0]center = clusters[i, 0]color = cmap(center)plt.scatter([x], [y], color=color, marker='o')
plt.show()
7.5 程序示例--PCA for 数据可视化-机器学习笔记-斯坦福吴恩达教授相关推荐
- 7.4 程序示例--PCA for 加速学习-机器学习笔记-斯坦福吴恩达教授
程序示例–PCA for 加速学习 现在,我们手上有一个人脸数据集,每张图片大小为 32×32 ,以像素为特征,则每个特征向量的维度就为 1024 维: 考虑使用 PCA 进行降低特征维度到 100 ...
- 7.3 程序示例--PCA 模型-机器学习笔记-斯坦福吴恩达教授
程序示例–PCA 模型 # coding: utf8 # pca/pca.pyimport numpy as npdef normalize(X):"""数据标准化处理A ...
- 9.5 程序示例--推荐系统-机器学习笔记-斯坦福吴恩达教授
程序示例–推荐系统 推荐模型 在推荐模型中,我们将暴露: 训练接口 train() 预测接口 predict(Theta, X) 获得推荐接口 getTopRecommends(Theta, X, i ...
- 4.7 程序示例--算法诊断-机器学习笔记-斯坦福吴恩达教授
程序示例–算法诊断 我们手头有一份大坝水的流量与水位关系的数据,首先我们将其划分为训练集.交叉验证集和测试集: # coding: utf-8 # algorithm_analysis/diagnos ...
- 2.5 程序示例--非线性决策边界-机器学习笔记-斯坦福吴恩达教授
程序示例–非线性决策边界 我们首先对数据进行了多项式拟合,再分别使用 λ=0,λ=1,λ=100λ=0,λ=1,λ=100λ=0,λ=1,λ=100 的批量梯度下降法(sgd)完成了训练,获得了非线性 ...
- 2.4 程序示例--线性决策边界-机器学习笔记-斯坦福吴恩达教授
程序示例–线性决策边界 回归模块 在逻辑回归模块 logical_regression.py 中,实现了批量梯度下降法(bgd)以及随机梯度下降法(sgd),同时,支持正规化方程 # coding: ...
- 1.7 程序示例--多项式回归-机器学习笔记-斯坦福吴恩达教授
程序示例–多项式回归 下面,我们有一组温度(temperature)和实验产出量(yield)训练样本,该数据由博客 Polynomial Regression Examples 所提供: tempe ...
- 8.7 程序示例--异常检测-机器学习笔记-斯坦福吴恩达教授
程序示例–异常检测 异常检测模型 提供了一般高斯分布模型和多元高斯分布模型.其中,多元高斯分布模型被限制到了同轴分布: # coding: utf8 # anomaly_detection/anoma ...
- 5.11 程序示例--垃圾邮件检测-机器学习笔记-斯坦福吴恩达教授
程序示例–垃圾邮件检测 邮件内容的预处理 下面展示了一封常见的 email,邮件内容包含了一个 URL (http://www.rackspace.com/),一个邮箱地址(groupname-uns ...
最新文章
- danfoss 变频器的profinet通讯调试_840D sl系统PLC 开机调试
- 【视频】测试经理必修课
- kalilinux安装qt_Kali Linux安装搜狗输入法(只需5步)
- python3精要(43)--变量注释
- 板邓:wordpress循环输出分类信息函数get_categories()
- advanced installer更换程序id_好程序员web前端培训分享kbone高级-事件系统
- 重学java基础第二课:java和python分析
- [vue] 你有看过vue的源码吗?如果有那就说说看
- 自定义表单-列表字段的数据源绑定
- 手机5g什么时候普及_5G手机什么时间普及,现在买4G手机划算吗?
- labeltool标注工具使用说明
- word文档图标变成白纸_word文档图标显示异常怎么办
- Win10系统开启黑暗主题
- 《天道》解读三:什么是天道?
- 2 计算机控制器的组成,组合逻辑控制器组成结构及工作原理解析
- Android-skin-support 换肤原理全面解析
- 网盘限速怎么办? 小编来支招!
- 32g的u盘速度测试软件,写入超100MB/s?32G神速U盘PK固态硬盘
- 学习【AI测试】人工智能 (AI) 测试--开篇经验分享
- linux下kegg注释软件,工具篇丨GO和KEGG富集不到通路?快试试这个超赞的功能分析工具吧...
热门文章
- Bootstrap模态框报错
- $.ajax() 方法的理解
- PHPCMS v9 二次开发_验证码结合Session开发
- wince6.0 编译报错:error C2220: warning treated as error - no 'object' file generated的解决办法...
- Spring 之常用接口
- F(n)完全覆盖中的计数问题
- Tomcat学习总结
- MySQL优化学习总结
- 7个jquery easy ui 基本组件图解
- 单例模式的几种实现方式及优缺点