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)

Data Science with R in 4 Weeks - Week 2 - Day2_第1张图片

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

> distxy <- dist(dataframe)

Data Science with R in 4 Weeks - Week 2 - Day2_第2张图片

> hClustering <- hclust(distxy)

> plot(hClustering)

结果如下图

Data Science with R in 4 Weeks - Week 2 - Day2_第3张图片

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

你可能感兴趣的:(Data Science with R in 4 Weeks - Week 2 - Day2)