Silhouettes:聚类结果衡量指标
来源:互联网 发布:网络是把双刃剑图片 编辑:程序博客网 时间:2024/05/16 07:27
import numpy as npfrom sklearn import datasetsfrom sklearn.metrics import pairwise_distancesfrom sklearn.preprocessing import LabelEncoderdef silhouette_samples(X, labels, metric='euclidean', **kwds): le = LabelEncoder() labels = le.fit_transform(labels) unique_labels = le.classes_ distances = pairwise_distances(X, metric=metric, **kwds) intra_clust_dists = np.ones(distances.shape[0], dtype=distances.dtype) inter_clust_dists = np.inf * intra_clust_dists for curr_label in unique_labels: mask = curr_label == labels current_distances = distances[mask] n_samples_curr_lab = np.sum(mask) - 1 if n_samples_curr_lab != 0: intra_clust_dists[mask] = np.sum(current_distances[:, mask], axis=1) / n_samples_curr_lab for other_label in unique_labels: if other_label != curr_label: other_mask = other_label == labels other_distances = np.mean(current_distances[:, other_mask], axis=1) inter_clust_dists[mask] = np.minimum(inter_clust_dists[mask], other_distances) sil_samples = inter_clust_dists - intra_clust_dists sil_samples /= np.maximum(intra_clust_dists, inter_clust_dists) return sil_samplesdataset = datasets.load_iris()data = dataset.datatarget = dataset.targetresult = silhouette_samples(data, target)print(result)
0 0
- Silhouettes:聚类结果衡量指标
- 聚类算法之K-means算法与聚类算法衡量指标
- 聚类算法之K-means算法与聚类算法衡量指标
- 机器学习第十二课(距离,K-means,聚类衡量指标)
- 招聘效果的衡量指标
- 招聘效果的衡量指标
- IO系统性能 衡量 指标
- 衡量软件质量的指标
- 机器学习性能衡量指标
- 软件程序性能衡量指标
- 聚类结果的评估指标及其JAVA实现
- 互联网上重要衡量指标分析
- 互联网上重要衡量指标分析
- 衡量引擎的主要指标和参数
- TPC,TPCC,TPMC(计算机性能衡量指标)
- 衡量引擎的主要指标和参数
- 衡量IO性能的几个指标
- 衡量个人成熟度的四个指标
- 顺序建链表
- SHA1校验算法C语言实现
- 【字符串6】翻转单词顺序列
- (第17讲)堆的数组实现
- 反编译初识
- Silhouettes:聚类结果衡量指标
- Ubuntu下安装Master PDF Editor
- Inotify与Android文件监控FileObserver原理
- java基础知识-重载与重写
- mysql中set autocommit=0与start transaction区别
- 【JavaWeb框架学习】之Hibernate缓存机制、一级缓存和二级缓存介绍
- 聊聊高并发系统之限流特技-1
- jQuery实现简单图片的轮播(自右向左播放)
- UVA 1631 Locker(HDU 4433)(DP)