【Python实例第21讲】确定类个数的silhouette分析法

本文介绍了如何利用Silhouette分析法评估机器学习中的聚类效果,通过实例展示了如何选择合适的类个数。Silhouette值衡量样本在类内的紧密度和与其他类的距离,值越接近1表示聚类效果越好。通过生成样本数据并应用聚类算法,观察不同类个数下的Silhouette图,发现当n_clusters取3、5、6时,聚类效果不佳。
摘要由CSDN通过智能技术生成

机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)

在聚类问题中,Silhouette分析用来研究聚类结果的类间距离。Silhouette数值度量在相同类中的点,与不同类中的点相比的紧密程度。Silhouette图可视化这一测度,这样就提供了一种评价类个数的方法。

Silhouette值在[-1, 1]内,接近1表示样本远离邻近类,取0表示样本几乎在两个近邻类的决策边界上,取负值表示样本被分在错误的类里。在本例中,我们使用Silhouette分析选择一个类个数参数n_clusters的最优值。

实例详解

首先,加载必需的库。

from __future__ import print_function

from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_samples, silhouette_score

import matplotlib.pyplot as plt
import matplotlib.cm as cm
import numpy as np

使用函数make_blobs()产生样本数据,该函数专门用来生成用于聚类的团状正态样本。在这里,我们产生500个样本,分别属于4个类。其中的3个类比较接近,而另一个离这3个类比较远。

# Generating the sample dat
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值