【R语言 第2篇】K-means聚类分析流程

聚类算法是没用因变量的。
聚类算法有层次聚类、基于划分的聚类、两步聚类法、基于密度的聚类。

聚类方法的逻辑

客户细分是将全体客户划分为多个分组并刻画特征的过程,使得组内客户高度相似,组间客户差异明显。
基本逻辑:
步骤1:从N个观测和K各属性数据开始;
步骤2:计算N各观测两者之间的距离;
步骤3:将相离最近的观测聚为一类,距离远的分为不同类。最终达到组间的距离最大化,组间的距离最大化。

特别注意:

聚类分析前要对数据进行标准化(scale),然后做主成分分析(降维)。

K-means聚类示例

  • 得知当前文件位置
    getwd()
  • 更改文件位置
    setwd("E:/R/……")
  • 这里使用河流化学成份对有害藻类影响的数据集
  • 数据属性说明:
  • season 季节
  • size 河流大小
  • speed 河流速度
  • mxPH 最大PH值
  • mnO2 最小含氧量
  • Cl 平均氯化物含量
  • NO3 平均硝酸盐含量
  • NH4 平均氨含量
  • oPO4 平均正磷酸盐含量
  • PO4 平均磷酸盐含量
  • Chla 平均叶绿素含量
  • algae 有害藻的频率数目
  • 读入数据
    vdata=read.csv("algpre.csv")
  • 加载包,查看数据缺失情况
    library(ggplot2)
    library(dfexplore)
    dfplot(vdata)
    summary(vdata)
  • 层次聚类、基于划分聚类(Kmeans)、基于密度聚类都只可以用于连续变量,
  • 使用mxPH,mnO2,Cl,NO3,NH4,oPO4,PO4,Chla这些属性进行聚类。
    Vdata2<-vdata[,c("mxPH","mnO2","Cl","NO3","NH4","oPO4","PO4","Chla")]
  • 进行kmeans聚类前,需要进行标准化处理,这里使用scale函数进行标准化
    data1=scale(Vdata2)
  • 加载fpc包,使用pamk函数,确定聚类个数
    library(fpc)
    pamk.result=pamk(data1)
    pamk.result$nc
  • 使用stats包中的kmeans函数,iter.max最大迭代次数,可写可不写,但是数据量很大的时候,一定要写防止死机。
    kmd=kmeans(data1,centers = pamk.result$nc,iter.max = 100)
  • 输出聚类结果
    type=kmd$cluster
  • 查看聚类结果分布
    table(type)
  • 聚类中心结果输出
    centerver=kmd$centers
    centerver
  • 将聚类中心结果写入本地excel中,用excel雷达图来描述聚类因子特征,找出每类的优势特征和劣势特征。
    write.csv(centerver,'E:/R/……/centerver.csv')
  • 把聚类结果添加到原始数据中
    data2<-cbind(vdata,type=kmd$cluster)

下篇将补上“主成分分析和因子分析”的实际操作。

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

推荐阅读更多精彩内容