聚类算法为无监督
聚类算法追求“簇内差异小,簇外差异大”,而差异由样本点到其所在的簇的质心的距离来衡量。通过欧几里得、曼哈顿距离和余弦距离度量。
1.KMeans中不存在损失,样本点到簇心的距离是聚类算法的评估指标,不是损失函数。损失函数本质是用来衡量模型的拟合效果的,只有有着求解参数需求的算法,才有损失函数。决策树和KNN有衡量分类效果指标准确度,准确度对应的损失叫泛化误差,但不能通过最小化泛化误差来求解某个模型需要的信息,只是希望模型的效果表现出来的泛化误差很小,所以决策树,KNN也不存在损失函数。
2.聚类算法的模型评估指标
不同于分类模型和回归,聚类算法的模型评估不是一件简单的事。在分类中,有直接结果(标签)的输出,并且分类的结果有正误之分,所以我们使用预测的准确度,混淆矩阵,ROC曲线等等指标来进行评估,但无论如何评估,都是在”模型找到正确答案“的能力。而回归中,由于要拟合数据,我们有SSE均方误差,有损失函数来衡量模型的拟合程度。但这些衡量指标都不能够使用于聚类。
而将一个数据集中的所有簇的簇内平方和相加,就得到了整体平方和(Total Cluster Sum of
Square),又叫做total inertia。平方和是用距离衡量簇内差异的指标,但是这个指标来衡量聚类算法缺点和极限极大。
2.1当样本有真实聚类情况的数据,可以对于聚类算法的结果和真实结果来衡量聚类的效果:常用的有互信息分、V-measure和调整兰德系数
2.2当真实标签未知的时候:轮廓系数
在99%的情况下,我们是对没有真实标签的数据进行探索,也就是对不知道真正答案的数据进行聚类。这样的聚类,是完全依赖于评价簇内的稠密程度(簇内差异小)和簇间的离散程度(簇外差异大)来评估聚类的效果。其中轮廓系数是最常用的聚类算法的评价指标。它是对每个样本来定义的,它能够同时衡量:
1)样本与其自身所在的簇中的其他样本的相似度a,等于样本与同一簇中所有其他点之间的平均距离
2)样本与其他簇中的样本的相似度b,等于样本与下一个最近的簇中的所有点之间的平均距离
根据聚类的要求”簇内差异小,簇外差异大“,我们希望b永远大于a,并且大得越多越好。
2.3 当真实标签未知的时候:Calinski-Harabaz Index
除了轮廓系数是最常用的,我们还有卡林斯基-哈拉巴斯指数(Calinski-Harabaz Index,简称CHI,也被称为方差比标准),戴维斯-布尔丁指数(Davies-Bouldin)以及权变矩(Contingency Matrix)可以使用。
比起轮廓系数,有个大的优点就是计算非常迅速。
3.重要参数涉及到代码部分,后面有空更
4.重要属性和接口,涉及到代码部分,后面有空更
6.核心函数,cluster.k_means类
7.案例实践,涉及到很多代码,有空回来更