- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用R语言完成K-Means聚类建模v1.0
用R语言实现K-Means聚类建模;;1.1 为什么要使用聚类算法?;1.2 K-Means算法介绍;1.3 K-Means算法过程介绍;;2 .1数据挖掘模型建模过程;客户细分宽表数据收集;设置工作环境;加载数据;数据质量分析及处理
变量相关性分析
变量标准化;目的:排除数据质量差的变量
步骤
加载数据
检查数据质量
生成数据质量分析报告;数据质量检查;数据质量检查--值分析方法;数据质量检查;数据质量检查--质量评估原则;数据处理;年龄;
缺失值替换
adult_data[is.na(adult_data$age),age] - mean(adult_data$age,na.rm=T) #以均值替代空值
;K-Means算法只能处理数值型变量
在建模时,需要将非数值型变量(例如,字符型)进行数值化处理
数值化处理原则:合理
需要注意的问题:
原变量中各种取值之间是否有隐含的大小或层级关系(职位 or 性别?)
如何处理变量中未知取值;#负值转为正值
adult_data$hours_per_week -ifelse(adult_data$hours_per_week 0,-adult_data$hours_per_week, adult_data$hours_per_week ) ;EDA:数据特征分析;EDA: 数据分段处理;目的:
将数据变量中相关性强的变量标识出来加以分析,以免在聚类分析中因为引入相关性较强的变量导致人为的将某些因素放大而影响聚类结果;根据不同需要,设定不同的强相关阈值,将高相关的数据变量列出
本币一年以上整整季日均余额 与 本币定期季日均余额 相关性:0.9
去掉谁?;相关性分析
da_cor- cor(dm_data)
write.csv(da_cor,da_cor.txt)
思考:如何除去高相关变量更加合理?;?;函数
da_stats - apply(dm_data,2,scale)
回忆:为何要进行标准化?
提示:年龄 和 资产 的绝对值差异……;建模变量;函数kmeans(数据目标,分群数需求)
km - kmeans(km_da,5)
KM返回值
聚类结果(即km$cluster):样本归属群号的数据集
聚类中心(即km$centers):每个群中,各变量的平均值
群 内 距 (即km$withinss):每个样本到其所在群中心点的距离之和
群样本数(即km$size):每个群中的样本个数。
思考:
既然K-Means算法是已知聚类建模,那么应该分几类?;2.3 分群特征分析(1);函数
dm_char - dm_character(dm_data,km$cluster)
write.csv(dm_char,dm_char_k_da.txt)
思考1:输入变量不同,对于分析结果的影响?
思考2:如何分析变量更加合理?;对不同分群的不同数据变量分别统计其关键指标,加以横向对比,刻画不同分群的差异以及特征。我们可以将结果导入Excel,采用数据透视表的方式对结果进行分析并结合图表进行比对。;最终形成客户细分分析报告;除了上述方式,我们也可以对变量值进一步进行处理。采用“评分”的方式观察各群之间的差异。
用这种方式处理后,可以较为清晰、简单的找出各个分群之间的差异。
文档评论(0)