在理解大数据方面,聚类是一种很常用的基本方法。近日,数据科学家兼程序员 Peter Gleeson 在 freeCodeCamp 发布了一篇深度讲解文章,对一些聚类算法进行了基础介绍,并通过简单而详细的例证对其工作过程进行了解释说明。看看下面这张图,有各种各样的虫子和蜗牛,你试试将它们分成不同的组别?不是很难吧,先从找出其中的蜘蛛开始吧! 完成了吗?尽管这里并不一定有所谓的「正确答案」,但一般来说我们可以将这些虫子分成四组:蜘蛛、蜗牛、蝴蝶/飞蛾、蜜蜂/黄蜂。很简单吧?即使虫子数量再多一倍你也能把它们分清楚,对吗?你只需要一点时间以及对昆虫学的热情就够了——其实就算有成千上万只虫子你也能将它们分开。但对于一台机器而言,将这 10 个对象分类成几个有意义的分组却并不简单——在一门叫做组合学(combinatorics)的数学分支的帮助下,我们知道对于这 10 只虫子,我们可以有 115,975 种不同的分组方式。如果虫子数量增加到 20,那它们可能的分组方法将超过 50 万亿种。要是虫子数量达到 100,那可能的方案数量将超过已知宇宙中的粒子的数量。超过多少呢?据我计算,大约多 500,000,000,000,000,000,000,000,000,000,000,000 倍,已是难以想象的超天文数字!但其中大多数分组方案都是无意义的,在那些浩如烟海的分组选择中,你只能找到少量有用的
...
继续阅读
(22)