題目要求: 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)
("acc="
,acc)
("nmi="
,nmi)
("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 分為...