R_DATACAMP10 Cluster Analysis in R分类分析

Calculating distance between observations计算两点间距离

lims(x = c(-30,30), y = c(-20, 20)) 应用于ggplot中,可以设置图标坐标轴的范围

dist(two_players) dist(data.frame)会计算出数据结构中各个点相互之间的举例

scale(data.frame)后 再dist,可以消除因为同组数之间相差太大引起的影响,比如一个是千米,一个是毫升这种毫不相关的量。即矩阵的中心化。

如果data.frame中的data是 YES/NO LOW/MIDDLE/HIGH这样的组合 如何用dist进行计算呢?
首先,library(dummies)
dummy_survey <- dummy.data.frame(job_survey)用dummy的数据结构格式转化
dist_survey <- dist(dummy_survey, method = 'binary')再dist,方式选择二进制
以下是method的取值
euclidean 欧几里德距离,就是平方再开方。
maximum 切比雪夫距离
manhattan 绝对值距离
canberra Lance 距离
minkowski 明科夫斯基距离,使用时要指定p值
binary 定性变量距离.

矩阵中给出各个参数互相之间的关联值,其中其他数据对一组数据的关联值,分三个方面:

    • Complete: the resulting distance is based on the maximum,max()
    • Single: the resulting distance is based on the minimum,min()
    • Average: the resulting distance is based on the average,mean()

hc_players <- hclust(dist_players, method = "complete")
clusters_k2 <- cutree(hc_players, k = 2)
hclust()是聚类函数
cutree(k = )从中提取聚类后的???

library(dendextend)
color_branches()
dend_20 <- color_branches(dend_players, h = 20)

library(dendextend)
dist_players <- dist(lineup, method = 'euclidean')
hc_players <- hclust(dist_players, method = "complete")
dend_players <- as.dendrogram(hc_players)as.dendrogram这里是转化成什么格式?
plot(dend_players)做出来是树状图
dend_20 <- color_branches(dend_players, h = 20) color_branches是给树状图上色,h是指上色的高度

dist_customers <- dist(customers_spend)计算两点距离
hc_customers <- hclust(dist_customers, method = "complete")用hclust聚类之
plot(hc_customers)画出聚类后的树状图
clust_customers <- cutree(hc_customers, h = 15000)设置一个高度限制,cutree,这里的h具体是指代什么?
segment_customers <- mutate(customers_spend, cluster = clust_customers)将cutree下来的各组数的组别加入到原始datafram中成为新的一列cluster

ggplot中的ifelse

K-means clustering K值平均分类

kmeans(lineup, centers = 2)创建一个k均值模型,此处k=几就是分为按颜色分为几类。
clust_km2 <- model_km2$cluster模型中的cluster列选出来
lineup_km2 <- mutate(lineup, cluster = clust_km2)将模型中分配好组的cluster列加入原来的数据结构中
ggplot(lineup_km2, aes(x = x, y = y, color = factor(cluster))) +
geom_point()绘制出来,利用散点图看出分组情况。此处有关ggplot中的颜色要不要factor()之,是因为如果不转化为因子,那么原来的格式是int,是连续的,按颜色分类时就会是一个连续的按颜色渐变分类,如果变成factor后就会变成离散型的分类,也就是说从1~2变成了1,2这样的分类。

library(purrr)
tot_withinss <- map_dbl(1:10, function(k){
model <- kmeans(x = lineup, centers = k)
model$tot.withinss
})

elbow_df <- data.frame(
k = 1:10,
tot_withinss = tot_withinss
)
取很多个K值(从1到10)

library(cluster)
pam()与kmeans的功能类似,都是创建模型model。pam_k2 <- pam(lineup, k = 2)
kmeans是围绕均值进行划分,对异常值敏感。而pam更稳健,是对于中心值划分。
silhouette()
plot(silhouette(pam_k2))绘制出相关的条形图

sil_width <- map_dbl(2:10, function(k){
model <- pam(x = customers_spend, k = k)
modelsilinfoavg.width
})
sil_df <- data.frame(
k = 2:10,
sil_width = sil_width
)
ggplot(sil_df, aes(x = k, y = sil_width)) +
geom_line() +
scale_x_continuous(breaks = 2:10)
批量设置K值然后绘制出关于K值的折线图来确定K值

segment_customers %>%
group_by(cluster) %>%
summarise_all(funs(mean(.)))
分类汇总查看之前的结果

Case Study: National Occupational mean wage

library(tibble)
rownames_to_column(as.data.frame(oes), var = 'occupation')此函数可以将数据结构中的每一列的名字转化为一列存储起来,其新的这一列的名称就是var = '...'

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,794评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,050评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,587评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,861评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,901评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,898评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,832评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,617评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,077评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,349评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,483评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,199评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,824评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,442评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,632评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,474评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,393评论 2 352

推荐阅读更多精彩内容

  • From shirinsplayground,非常好的机器学习的文章,保存下来,慢慢学习。 https://shi...
    iColors阅读 1,197评论 0 0
  • 序 2017年8月7号零点,现在此刻,从【简书】开始…… 我,很喜欢写一些东西,只是单纯的喜...
    如水落落阅读 204评论 0 1
  • 保护自己的注意力,让自己注意放在别人需求上,从而在这个需求上获得自己的价值,做到无人替代的情况下,你将把价值变现,...
    刘冰杰阅读 354评论 0 1