我正在尝试使用K-means方法进行聚类,但我想要衡量我的聚类的表现。
我不是专家,但我渴望学习更多关于聚类的知识。
这是我的代码:
import pandas as pd
from sklearn import datasets
#loading the dataset
iris = datasets.load_iris()
df = pd.DataFrame(iris.data)
#K-Means
from sklearn import cluster
k_means = cluster.KMeans(n_clusters=3)
k_means.fit(df) #K-means training
y_pred = k_means.predict(df)
#We store the K-means results in a dataframe
pred = pd.DataFrame(y_pred)
pred.columns = ['Species']
#we merge this dataframe with df
prediction = pd.concat([df,pred], axis = 1)
#We store the clusters
clus0 = prediction.loc[prediction.Species == 0]
clus1 = prediction.loc[prediction.Species == 1]
clus2 = prediction.loc[prediction.Species == 2]
k_list = [clus0.values, clus1.values,clus2.values]
现在我已经有了我的KMeans算法和三个聚类,我试图使用Dunn指数来衡量聚类的性能(我们寻求更大的指数) 为此,我导入jqm_cvi包(可在这里找到)
from jqmcvi import base
base.dunn(k_list)
我的问题是:除了 silhouette_score,Scikit Learn 中是否已经存在任何聚类内部评估?或者在其他知名库中?