人工智能概论:作业六 kmeans聚类

利用sklearn数据集中的wine数据集进行kmeans聚类,利用数据中的前两列属性进行聚类,要求聚成3类,并用散点图绘制出聚类前和聚类后的效果图。

from sklearn import datasets

wine = datasets.load_wine()
data = wine['data'][:, :2]
data.shape

import matplotlib.pyplot as plt

plt.scatter(data[:, 0], data[:, 1])
plt.title('Before Classified')
plt.xlabel('Alcohol')
plt.ylabel('Malic acid')

from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=3)
kmeans.fit(data)

class_1 = data[kmeans.labels_ == 0]
class_2 = data[kmeans.labels_ == 1]
class_3 = data[kmeans.labels_ == 2]

plt.scatter(class_1[:, 0], class_1[:, 1])
plt.scatter(class_2[:, 0], class_2[:, 1])
plt.scatter(class_3[:, 0], class_3[:, 1])
plt.title('After Classified')
plt.xlabel('Alcohol')
plt.ylabel('Malic acid')
image-20221108203358961 image-20221108203411396