![](/img/trans.png)
[英]Memory issues: Cluster-analysis with very large multi-scaled data in R using Gower distance and k-medoids
[英]Cluster Analysis using R for large data sample
我刚开始使用RI have细分电子商务零售业务的客户数据库。 我寻求有关进行此练习的最佳方法的一些指导。 我搜索了已经在此处发布的主题,并像dist()和hclust()一样尝试了它们。 但是,由于我不熟悉R,因此我遇到了一个或另一个问题,无法解决。这是我的问题的简要说明。 到目前为止,我有大约480K的购买记录。 数据包含以下列:
此练习的业务目标是确定最有利可图的细分,并鼓励通过广告系列在这些细分中重复购买。 我能否获得一些成功完成操作的指导,而又不会遇到样本大小或列的数据类型之类的问题?
阅读本文以了解如何对数据帧进行子集化。 当您尝试定义d时,您似乎在提供大量数据的方法,这可能是通过先对表进行子设置来解决的。 如果不是这样,您可能希望对数据进行随机抽样而不是对所有数据进行抽样。 假设您知道数据框cust_data
4到10列包含数字数据,那么您可以尝试以下操作:
cust_data2 <- cust_data[, 4:10]
d <- dist(cust_data2)
对于较大的值,您可能需要对它们进行对数转换-进行实验,看看有什么意义。 我对此确实不确定,这只是一个建议。 也许选择一个更合适的聚类或距离度量会更好。
最后,当您运行hclust时,您需要传递d矩阵,而不是原始数据集。
h <- hclust(d, "ave")
遗憾的是,您的数据不包含任何属性,这些属性指示哪些类型的项目/交易未促成销售。
我不确定群集是否是解决问题的方法。
这里有一些想法:
首先将您的数据分成一个训练集(例如70%)和一个测试集。
建立一个简单的线性回归模型,例如将“平均篮子值”作为响应变量,并将所有其他变量作为自变量。
fit <-lm(averagebasketvalue ~., data = custdata)
在训练集上运行模型,确定重要属性(在summary(fit)
输出中至少具有一颗星的属性),然后关注这些变量。
通过计算测试集上的R平方和误差平方和(SSE),检查测试集上的回归系数。 您可以使用predict()函数,调用看起来像
fitpred <- predict(fit, newdata=testset)
summary(fitpred) # will give you R²
也许“城市”包含太多独特的价值,以至于没有意义。 尝试通过引入新的属性CityClass来概括它们(例如BigCity-MediumCity-SmallCity ...或任何对您的城市有用的分类方案)。 您也可以将模型设为“性别”。 删除“电子邮件ID”。
这可能会持续一段时间...使用模型以尝试获得更好的R平方和SSE。
我认为基于树的模型(rpart)在这里也可以很好地工作。
然后,您可能会在以后更改为聚类分析。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.