sklearn聚類算法 在Python中聚類后,如何知道哪個樣本屬于哪一類?
在Python中聚類后,如何知道哪個樣本屬于哪一類?首先可以看到聚類后的樣本如果使用Python sklearn中的K-means聚類算法,算法類本身就有一些屬性可以知道聚類后的情況。例如,有一些模型
在Python中聚類后,如何知道哪個樣本屬于哪一類?
首先可以看到聚類后的樣本
如果使用Python sklearn中的K-means聚類算法,算法類本身就有一些屬性可以知道聚類后的情況。
例如,有一些模型屬性,clusterucentersuuuuuux是聚類后得到的聚類中心,標簽uuux如上圖所示,樣本[1.4,0.2]對應第三個類別,聚類結果還有每個類別的聚類中心和每個類別的樣本數(shù)。這種方法可以用來尋找相應的標簽分類。
當然,還有一種預測方法,它可以直接輸出輸入樣本的類標簽
函數(shù)[labels]=kmeansu聚類(data,k)
[num,~]=size(data)
ind=randperm(num)
ind=ind(1:k)
centers=data(ind,:)
d=inf
labels=nan(num,1)
whiled>0
labels0=labels
dist pdist2(data,centers)
[~,labels]=min(dist,[],2)
d=sum(labels0~=labels)
fori=1:k
centers(i,:)=mean(data(labels==i,:),1)
結束
結束
結束