菜鸟日记——k-means聚类实现并绘图

本文记录了使用R语言进行K-means聚类的过程,将离散型客户信息转换为数值型,通过k-means算法进行客户细分,以提高组内相似度并降低组间相似度。内容包括数据预处理、K-means实现和结果的二维图展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近正在做客户细分模型,利用K-means将客户信息划分成多个组并进行特征刻画使得同一簇内的客户相似度较高,不同簇间的相似度比较低。目前只做到了客户信息聚类。

  1. 数据准备
    原本的数据是一些客户的注册基本信息大部分为离散型数据因此考虑到K-means模型对数值类的数据处理效果要比文本类要好因此将注册信息进行重新编排,用ID类型的数据代替原本的数据,比如注册地点:东莞市<——>01,广州市<——>03
  2. R工具包
    library(kernlab)
    library(magrittr)
    library(fpc)

  3. K-means实现

    #利用pamk找k,在用kmeans找labels
    data <- read.csv('.~/quantize_companyfeature.csv')
    data$regisCode <- as.numeric(data$regisCode)
    data$regCapital <- as.numeric(data$regCapital)
    data$checkDate <- as.numeric(data$checkDate
    data[is.na(data)] <- 0
    pamk.result <- pamk(data,criterion="multiasw",usepam=FALSE,critout=TRUE)
    summary(pamk.result)
    pamk.result$nc
    kc <- kmeans(data, pamk.result$nc)
    kc$cluster
    out=as.character(kc$cluster)#将out转化为字符向量
    write(out,file='C:/Users/Administrator/Desktop/xy/output.txt',1,,)
    combin_cluster <- read.csv('C:/Users/Administrator/Deskt

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值