Python 如何生成块对角数据矩阵

Python 如何生成块对角数据矩阵,python,python-3.x,matlab,matplotlib,Python,Python 3.x,Matlab,Matplotlib,我们使用的第一个合成数据集是一个100×100矩阵,四个25×25块矩阵对角排列。每个块内的数据表示一个簇中两个对应点的亲和力,而所有块外的数据表示噪声。每个块内的关联数据是随机的 在0和1范围内生成,而噪声数据在0和c范围内随机生成,其中c分别设置为0.6、0.7和0.8。此外,为了使聚类任务更具挑战性,我们随机选取25个噪声数据点,并将它们的值设置为1 想要的人像是这个有颜色条的。 这将让您开始生成矩阵 import matplotlib.pyplot as plt import numpy

我们使用的第一个合成数据集是一个100×100矩阵,四个25×25块矩阵对角排列。每个块内的数据表示一个簇中两个对应点的亲和力,而所有块外的数据表示噪声。每个块内的关联数据是随机的 在0和1范围内生成,而噪声数据在0和c范围内随机生成,其中c分别设置为0.6、0.7和0.8。此外,为了使聚类任务更具挑战性,我们随机选取25个噪声数据点,并将它们的值设置为1

想要的人像是这个有颜色条的。

这将让您开始生成矩阵

import matplotlib.pyplot as plt
import numpy as np

c_min, c_span = 0.0, 0.7
x = c_min + c_span*np.random.random((100,100))
for i in range(4):
    j = i*25
    x[j:j+25, j:j+25] = np.random.random((25,25))

plt.imshow(x, interpolation='nearest')
plt.colorbar()
plt.show()


总的来说,听起来你需要三个不同的矩阵,每个矩阵的背景范围不同(0.6),(0.7),(0.8)。如果是这样,只需更改
c\u span
。(另外,看起来您使用的是“jet”颜色贴图,但这不是一个好的感知颜色贴图,但如果您需要,可以在绘图调用中使用
cmap=plt.cm.jet

问题是什么?欢迎来到SO。这不是一个讨论论坛或教程。请花时间阅读和阅读该页面上的其他链接。显示数据、您的工作以及您在绘制数据时遇到的问题。不要考虑<代码>机器学习< /代码>或代码> SCIKIT学习< /代码>问题,请不要滥发标签(删除)。非常感谢!