分類數據聚類&決策樹探索聚類因素-R語言

一個臨時需求是給到一批調研問卷的數據,維度有100+,需要對這麼多維度對個體進行聚類,通過對指標進行處理,以及與研究指標的關聯關係,進行降維,最終保留20個左右的指標,基於在20個左右的指標,對對象進行聚類,探究人羣聚類特徵規則,便於業務人員進行決策,以下便是先聚類,後續需要再基於影響因素探究每一類的特徵,故需要決策樹。

數據格式
這裏寫圖片描述

R代碼

library(rpart)
library(rpart.plot)
library(cluster)
library(party)
library(dplyr)
data<-read.csv("F://分類別_xxx//000000.csv",header=T,as.is=T);#獲取數據
treedata2<-data[grep("2",data$S1),]#篩選數據
treedata<-treedata2[,-1]#剔除首列
r1<-clara(treedata,3)#採用k-中心聚類的方式,聚成3類
clusplot(r1)#查看,聚類效果

聚類效果圖如下
這裏寫圖片描述

####將聚類結果輸出####
type<-r1$clustering
result<-data.frame(treedata2,type)
write.table(result,"F://分類別_xxx//result-2-3.csv",append=TRUE,row.names=FALSE,sep=",")
####對聚類後結果進行統計查看####
part<-table(type)
group <- group_by(result, type,支付能力)
group_result <- summarise(group, n = n())
group_result

基於聚類結果,擬合決策樹,對聚類影響因素進行探索

####決策樹擬合####
formula=type~ S6_學歷+S7a_工作屬性+S10+S12a_1_T_家庭結構+S25_1_T_所持房產數量+S28_是否有私家車+S30_家庭結構+C3_日常就餐飲食習慣+C4a_日常出行習慣+Segment+生命週期
dt<-rpart(formula,data=treedata,parms = list(prior = c(.65,.35), method = "class"))#擬合決策樹
rpart.plot(dt,type=4)#繪圖

這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章