题目:随机生成3000个数,并对这3000个数进行K-means聚类,并对聚类的簇进 行可视化(不同类簇的点用不同的颜色表示),调整K的取值(k=2,3,4,5),观 观察簇的分类。并根据参数inertia和轮廓系数评估K的取值 第一步:随机生成3000个数
X,y=make_blobs(n_samples=3000,n_features=2,random_state=24)
第二步:定义可视化函数
def plot_clusters(X,y=y):
plt.scatter(X[:,0],X[:,1],c=y,s=1)
plt.xlabel("$x_1$",fontsize=14)
plt.ylabel("$x_2$",fontsize=14,rotation=0)
注:plt.scatter(X[:,0],X[:,1],c=y,s=1)
:使用scatter
函数绘制散点图。其中,X[:,0]
和X[:,1]
分别表示样本点的x和y坐标,c=y
表示使用y
数组中的值来设置散点的颜色(不同的聚类标签对应不同的颜色),s=1
表示散点的大小。
第三步: 遍历不同的k值,计算inertia和轮廓系数
inertia_values&#