如何使用Scikit-learn生成用于双聚类的数组?
在本教程中,我们将学习如何使用Python Scikit-learn(Sklearn)生成具有恒定块对角线结构和块棋盘结构的数组以进行双聚类。
生成具有恒定块对角线结构的数组
要生成双聚类的具有恒定块对角线结构的数组,我们可以执行以下步骤 −
第1步 − 导入sklearn.datasets.make_biclusters和matplotlib。
第2步 − 设置图表大小。
第3步 − 创建数据点即数据,行和列。
第4步 − 创建一个绘图器来显示具有常数块对角线结构的数组。
第5步 − 提供标题。
示例
在下面的示例中,我们将生成一个形状为(500,500)的数组,并分为6类。
# 导入库
from sklearn.datasets import make_biclusters
# 用于绘制具有恒定对角线结构的数组的Matplotlib
from matplotlib import pyplot as plt
# 设置图表大小
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 使用sklearn.datasets.make_biclusters创建双聚类测试数据集
data, rows, columns = make_biclusters(
shape=(500, 500), n_clusters=6, noise=5, shuffle=False, random_state=0
)
plt.matshow(data, cmap=plt.cm.Reds)
plt.title("用于双聚类的具有恒定块对角线结构的数组")
plt.show()
输出
它将产生以下输出 −
生成具有块棋盘结构的数组
要生成具有块棋盘结构的数组以进行双聚类,我们可以执行以下步骤−
第1步 − 导入库sklearn.datasets.make_checkerboard和matplotlib。
第2步 − 设置图表大小。
第3步 − 创建数据点即数据,行和列。
第4步 − 创建一个绘图器来显示具有常数块对角线结构的数组。
第5步 − 提供标题。
示例
在下面的示例中,我们将生成形状为(600,600)且聚类数为(4,3)的数组。
# 导入库
from sklearn.datasets import make_checkerboard
# 导入 Matplotlib 库以便绘制具有块状方块结构的数组
from matplotlib import pyplot as plt
# 设置图像大小
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
# 使用 sklearn.datasets.make_checkerboard 创建测试数据集
n_clusters = (4, 3)
data, rows, columns = make_checkerboard(
shape=(600, 600), n_clusters=n_clusters, noise=10, shuffle=False, random_state=0
)
plt.matshow(data, cmap=plt.cm.Greens)
plt.title("用于双聚类的具有块状的方块结构的数组")
plt.show()
输出
它将生成以下输出 −