1

我有一组 300,000 条历史客户购买数据记录。我已经启动了 SSAS 数据挖掘项目来识别最佳客户。

数据拆分:-90% 非买家 -10% 买家

我使用了各种 SSAS 算法(决策树和神经网络显示出最佳提升)来探索我的数据。

该项目的目标是根据谁最有可能购买产品来识别/评分客户。

目前,我已将所有记录用于此目的。感觉项目中缺少了一些东西。我现在正在读两本关于数据挖掘的书。他们都谈到将数据挖掘分成不同的集合;但是,他们都没有解释如何实际拆分它们。

我相信我需要将可能的记录分成 3 组并重新运行 ssas 算法。

主要问题:

  1. 如何将数据拆分为训练集、验证集和测试集 1.1 训练集中的买家和非买家比例应该是多少?
  2. 我如何根据最有可能购买产品和最不可能购买产品来对我的客户进行评分。
4

1 回答 1

2

您的集合的划分可以随机进行,因为您的数据集很大并且买家数量不太低(10%)。但是,如果您想确保您的数据集具有代表性,您可以获取 80% 的买家样本和 80% 的非买家样本并将它们混合以构建一个包含总数据集 80% 的训练集,并且它具有购买者与非购买者的比例与原始数据集相同,这使得子集具有代表性。您可能不想将数据集划分为两个子集,而是分为三个子集:训练、交叉验证和测试。如果您neural network按照您所说的那样使用 a,您应该使用交叉验证子集来调整您的模型(权重衰减、学习率、动量......)。

关于您的第二个问题,您可以按照您所说的那样使用神经网络并获取输出,如果您使用 sigmoid 作为输出层中的激活函数,则输出将在 [0, 1] 范围内,作为概率。我还建议您查看collaborative filtering此任务,因为它可以帮助您了解哪些产品可能是客户对使用您对具有类似偏好的其他买家的了解感兴趣的客户。

于 2013-09-22T09:53:47.550 回答