Data Science with R in 4 Weeks - Week 2 - Day2

Hierarchical clustering

业务分析中经常遇到的一个挑战是如何对不同的数据进行分组。这些数据可以是用户,用户的使用行为,用户的态度,产品的价格,等等。常用的一种分组方法是 hierarchical clustering。

hierarchical clustering的基本思想是:距离较近的数据应该被分为一组,并保证每个组内的数据足够相似,而组和组之间的数据足够不同。

任意挑选两个数据,计算这两个数据之间的距离,以这个距离作为baseline,然后计算其中一个数据和第三个数据之间的距离,如果距离大于baseline,则说明1、2两个数据之间距离更近,应该被分为一组;如果小于baseline,则说明1、3两个数据之间距离更近,应该被分为一组。

例子:我们先生成一组数据:

> set.seed(1234)

> par(mar = c(0,0,0,0))

> x <- rnorm(12, mean = rep(1:3, each = 4), sd = 0.2)

> y <- rnorm(12, mean = rep(c(1,2,1), each = 4), sd = 0.2)

> plot(x,y,col = "blue", pch = 19, cex = 2)

> text(x+0.05, y+0.05, labels = as.character(1:12))

> dataframe <- data.frame(x=x, y=y)

采用dist 命令计算这些数据之间的距离

> distxy <- dist(dataframe)

> hClustering <- hclust(distxy)

> plot(hClustering)

结果如下图

dendrogram并不能告诉分析人员现有的数据有多少cluster,所以,需要分析人员能够learn your business in and out!  然后做出判断。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容