栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Python中的数据矩阵上绘制层次聚类的结果

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中的数据矩阵上绘制层次聚类的结果

这个问题不能很好地定义 矩阵 :“值矩阵”,“数据矩阵”。我认为您的意思是 距离矩阵 。换句话说,对称非负N×N 距离矩阵
D中的元素D_ij表示两个特征向量x_i和x_j之间的距离。那是对的吗?

如果是这样,请尝试以下操作(2010年6月13日编辑,以反映两个不同的树状图):

import scipyimport pylabimport scipy.cluster.hierarchy as schfrom scipy.spatial.distance import squareform# Generate random features and distance matrix.x = scipy.rand(40)D = scipy.zeros([40,40])for i in range(40):    for j in range(40):        D[i,j] = abs(x[i] - x[j])condensedD = squareform(D)# Compute and plot first dendrogram.fig = pylab.figure(figsize=(8,8))ax1 = fig.add_axes([0.09,0.1,0.2,0.6])Y = sch.linkage(condensedD, method='centroid')Z1 = sch.dendrogram(Y, orientation='left')ax1.set_xticks([])ax1.set_yticks([])# Compute and plot second dendrogram.ax2 = fig.add_axes([0.3,0.71,0.6,0.2])Y = sch.linkage(condensedD, method='single')Z2 = sch.dendrogram(Y)ax2.set_xticks([])ax2.set_yticks([])# Plot distance matrix.axmatrix = fig.add_axes([0.3,0.1,0.6,0.6])idx1 = Z1['leaves']idx2 = Z2['leaves']D = D[idx1,:]D = D[:,idx2]im = axmatrix.matshow(D, aspect='auto', origin='lower', cmap=pylab.cm.YlGnBu)axmatrix.set_xticks([])axmatrix.set_yticks([])# Plot colorbar.axcolor = fig.add_axes([0.91,0.1,0.02,0.6])pylab.colorbar(im, cax=axcolor)fig.show()fig.savefig('dendrogram.png')

祝好运!让我知道您是否需要更多帮助。


编辑:对于不同的颜色,请调整中的

cmap
属性
imshow
。有关示例,请参见scipy /
matplotlib文档
。该页面还描述了如何创建自己的颜色图。为了方便起见,我建议使用预先存在的颜色图。在我的示例中,我使用
YlGnBu


Edit:

add_axes
(see documentation
here)
accepts a list or tuple:
(left, bottom, width, height)
. For example,
(0.5,0,0.5,1)
adds an
Axes
on the right half of the figure.
(0,0.5,1,0.5)
adds an
Axes
on the top half of the figure.

Most people probably use

add_subplot
for its convenience. I like
add_axes

for its control.

To remove the border, use

add_axes([left,bottom,width,height],frame_on=False)
. See example
here.



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/650328.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号