好的,下面是使用 k-means 聚类算法对数据集进行聚类的代码: 首先,导入所需的库:``` numpy as as 。 作为 。 ``接下来,读取数据集:`` ` = pd.('data.csv')X = data.iloc[:, [0, 1]]。````其中,`data.csv`是一个包含两列数据的 CSV 文件,每一行代表一个数据点。 然后,使用 Elbow 方法确定最佳簇数: ``` = []for i in range(1, 11): = (=i, init='k-means++', =300, =10, = 0 ).fit(X)wcss.(.)plt.plot(range(1, 11), wcss)plt.title('肘部')plt.(' of ')plt.('WCSS')plt.show ( )```在上面的代码中,我们循环了从1到10的簇号,并计算了每个簇号下的WCSS (--Sum-of-)。
然后我们绘制了簇数和 WCSS 之间的关系,通过观察图像,我们可以粗略地确定最佳簇数。 最后,使用确定的簇数进行 k-means 聚类: 上面的 ``` = (=3, init='k-means++', =300, =10, =0) = .(X)```在代码中,我们将聚类数设置为3,使用`()`方法对数据进行聚类,并将聚类结果赋值给`. 以下是完整代码:``` numpy as as . 作为 。 = pd.('data.csv')X = data.iloc[:, [0, 1]]。 = []for i in range(1, 11): = (=i, init='k-means++', =300, =10, =0).fit(X)wcss.(.)plt.plot(range (1, 11), wcss)plt. title('Elbow')plt.(' of ')plt.('WCSS')plt.show() = (=3, init='k-means++', =300, =10, =0) = .( X)plt.(X[ == 0, 0], X[ == 0, 1], s=100, c='红色', 标签=' 1')plt.(X[ == 1, 0] , X[ == 1, 1], s=100, c='蓝色', label=' 2')plt.(X[ == 2, 0], , c='绿色', label=' 3' )plt.(.[:, 0], .[:, 1], s=300, c='', label='')plt.title('' )plt.('X')plt.(' Y')plt.()plt.show()```其中`data.csv`文件内容如下:```X,Y2,32,43, 46,67,57,7 ``最后,我们还绘制了聚类结果的散点图。 在这里,我们使用不同的颜色来表示不同的簇,并使用一个大黄点来表示每个簇的中心点。