对应 scikit-learn 方法是 sklearn.metrics.silhouette_score。该方法是计算所有样本的平均值,另一个方法 silhouette_samples 会返回所有样本的轮廓系数。在文档中提到,轮廓系数需要聚类数大于2,小于(样本数-1)。方法包括几个参数,最终返回一个 float 的轮廓系数,通常是在全部样本上的。
X:二维样本,通常为[n_samples, n_features],当 metric 设置为”precomputed”时,应为[n_samples, n_samples]方阵
labels:一维矩阵,每个样本所属簇的 label
metric:预计算”precomputed”,或者为一个可调用的函数计算两个实例之间的距离。如果为 string,则必须是metrics.pairwise.pairwise_distances 中 metric 可选的(‘cityblock’, ‘cosine’, ‘euclidean’, ‘l1’, ‘l2’, ‘manhattan’ 或‘braycurtis’, ‘canberra’, ‘chebyshev’, ‘correlation’, ‘dice’, ‘hamming’, ‘jaccard’, ‘kulsinski’, ‘mahalanobis’, ‘matching’, ‘minkowski’, ‘rogerstanimoto’, ‘russellrao’, ‘seuclidean’, ‘sokalmichener’, ‘sokalsneath’, ‘sqeuclidean’, ‘yule’)——好多啊。
sample_size:随机取样一部分计算平均值,int 类型
random_state:当sample_size 为非空时用来生成随机采样。给定一个种子,或者使用 numpy.RandomState
kwds:其他可选的 key-value 参数
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar