我在观看麻省理工学院开放课程6.0002的聚类视频,但对其中的一些代码不太理解。
这是什么 .Cluster
?
for e in initialCentroids: clusters.append(cluster.Cluster([e]))
这是什么 .distance
?
for e in examples: smallestDistance = e.distance(clusters[0].getCentroid())
这是什么 .dissimilarity
?
minDissimilarity = cluster.dissimilarity(best)
从代码中我能理解他们在做什么,但我希望能得到更多详细信息。相关的文档将非常受欢迎!
回答:
这些术语主要用于描述数据及其之间的关系。我们从聚类开始讲起。
Cluster
是一组可能在某种意义上具有相似特征的观测数据点。聚类主要是一种无监督学习的方法。为了便于理解,可以想象地图是一组聚类,按国籍对人们进行分组,但在机器学习中,人们可能会分散到其他国家——这在某种程度上是正常的。
如果我们将 distance
视为聚类之间的距离,这个术语指的是聚类1的中心与聚类2的中心之间的距离。该术语也可能指给定点,通过测量该点到所有聚类中心的距离——该点将属于距离最小的聚类。
此外,dissimilarity
描述的值与距离非常相似,它表明数据点与原始中心的相似程度不高。这意味着,一旦距离较高,不相似性也会较高,我个人认为是这样——但对此不是很确定。
希望这些对你有帮助。