K Means聚類make moons資料

2021-10-05 02:19:08 字數 1423 閱讀 1571

題目要求: sklearn中的make_moons方法生成資料,用k-means聚類並視覺化。輸出三大指標如:acc = 0.755, nmi = 0.1970, ari = 0.2582。

**示例

import matplotlib.pyplot as plt

import seaborn as sns;sns.

set(

)from sklearn.datasets import make_moons

from sklearn.cluster import kmeans

from sklearn.metrics import accuracy_score

from sklearn.metrics import normalized_mutual_info_score

from sklearn.metrics import adjusted_rand_score

fig = plt.figure(1)

plt.subplot(1,

2,1)

#一行一列

x1, y1 = make_moons(n_samples=

400, noise=

0.1)

plt.title(

'make_moons function'

)plt.scatter(x1[:,

0], x1[:,

1], marker=

'o',s=

15, c=y1,cmap=

'viridis'

)plt.subplot(1,

2,2)

#一行兩列

kmeans = kmeans(n_clusters=2)

#2個聚類中心

kmeans.fit(x1)

y_kmeans = kmeans.predict(x1)

plt.scatter(x1[:,

0], x1[:,

1], c=y_kmeans, s=

15,cmap=

'viridis'

)##三大指標

acc=accuracy_score(y1,y_kmeans)

nmi=normalized_mutual_info_score(y1,y_kmeans)

ari=adjusted_rand_score(y1,y_kmeans)

print

("acc="

,acc)

print

("nmi="

,nmi)

print

("ari="

,ari)

plt.show(

)

輸出示例

K Means聚類演算法

k means聚類演算法 intergret kmeans演算法的基本思想是初始隨機給定k個簇中心,按照最鄰近原則把待分類樣本點分到各個簇。然後按平均法重新計算各個簇的質心,從而確定新的簇心。一直迭代,直到簇心的移動距離小於某個給定的值。k means聚類演算法主要分為三個步驟 1 第一步是為待聚類...

聚類演算法 K means

演算法接受引數 k 然後將事先輸入的n個資料物件劃分為 k個聚類以便使得所獲得的聚類滿足 同一聚類中的物件相似度較高 而不同聚類中的物件相似度較小。聚類相似度是利用各聚類中物件的均值所獲得乙個 中心物件 引力中心 來進行計算的。k means演算法是最為經典的基於劃分的聚類方法,是十大經典資料探勘演...

模糊kmeans聚類

首先介紹乙個,fuzzykmeans演算法的主要思想 模糊均值聚類 fcm 即眾所周知的模糊isodata,是用隸屬度確定每個資料點屬於某個聚類的程度的一種聚類演算法。1973年,bezdek提出了該演算法,作為早期硬均值聚類 hcm 方法的一種改進。fcm把 n 個向量 xi i 1,2,n 分為...