如何使用Scikit-learn生成用于双聚类的数组?


在本教程中,我们将学习如何使用 Python Scikit-learn (Sklearn) 生成具有恒定块对角结构和块棋盘结构的数组,用于双聚类。

生成具有恒定块对角结构的数组

要生成具有恒定块对角结构的双聚类数组,我们可以采取以下步骤:

步骤 1 − 导入 sklearn.datasets.make_biclusters 和 matplotlib。

步骤 2 − 设置图形大小

步骤 3 − 创建数据点,即数据、行和列。

步骤 4 − 创建一个绘图器来显示具有恒定块对角结构的数组。

步骤 5 − 提供标题。

示例

在下面给出的示例中,我们将生成一个形状为 (500, 500) 且具有 6 个集群的数组。

# Importing libraries from sklearn.datasets import make_biclusters # Matplotlib for plotting the array with constant diagonal structure from matplotlib import pyplot as plt # Set the figure size plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # Creating the bi-cluster Test Datasets using 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("An array\nwith constant block diagonal structure for biclustering") plt.show()

输出

它将产生以下输出:

生成具有块棋盘结构的数组

要生成具有块棋盘结构的双聚类数组,我们可以采取以下步骤:

步骤 1 − 导入库 sklearn.datasets.make_checkerboard 和 matplotlib。

步骤 2 − 设置图形大小

步骤 3 − 创建数据点,即数据、行和列

步骤 4 − 创建一个绘图器来显示具有恒定块对角结构的数组。

步骤 5 − 提供标题。

示例

在下面给出的示例中,我们将生成一个形状为 (600, 600) 且集群数为 (4, 3) 的数组。

# Importing libraries from sklearn.datasets import make_checkerboard # Matplotlib for plotting the array with block chekerboard structure from matplotlib import pyplot as plt # Set the figure size plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True # Creating the Test Datasets using 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("An array\nwith block checkerboard structure for biclustering") plt.show()

输出

它将产生以下输出:


更新于:2022年10月4日

353 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告