什么是轮廓系数?
参见百度百科,讲的很清楚此处不赘述;
https://baike.baidu.com/item/%E8%BD%AE%E5%BB%93%E7%B3%BB%E6%95%B0/17361607?fr=aladdin
核心问题:
这个计算方法的复杂度是多少?
O(N^2)
其中N为样本数量;
这个复杂度对于spark分布式大数据处理而言,是不可接受的,所以怎么办呢?
spark的轮廓系数计算方法?
资料1 轮廓系数简单计算实现:
http://sujitpal.blogspot.com/2018/03/an-implementation-of-silhouette-score.html
资料2 spark Issue:
https://issues.apache.org/jira/browse/SPARK-14516
资料3 spark 的Issues解答:
https://drive.google.com/file/d/0B0Hyo__bG_3fdkNvSVNYX2E3ZU0/view
资料4 sklearn的实现方式:
https://scikit-learn.org/stable/modules/generated/sklearn.metrics.silhouette_score.html#sklearn.metrics.silhouette_score
通过simple计算方式和预结算两种方式,实现了复杂度降低,得以有效的应用。