【问题标题】:SSAS - Classification - How To Split Data into: Training Set - Validation Set - Test SetSSAS - 分类 - 如何将数据拆分为:训练集 - 验证集 - 测试集
【发布时间】:2013-09-27 07:43:02
【问题描述】:

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

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

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

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

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

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

主要问题:

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

【问题讨论】:

    标签: ssas classification spss ssas-2008 statistics


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答。如何在 SSAS 的输出层中使用 sigmoid 作为激活函数?
    • 如果你查看文档:technet.microsoft.com/en-us/library/cc645901.aspx 你会发现Hidden neurons use a hyperbolic tangent function (tanh) for their activation function, whereas output neurons use a sigmoid function for activation 所以你不需要做任何事情,这是默认设置。
    猜你喜欢
    • 2019-05-01
    • 1970-01-01
    • 2016-07-04
    • 2016-09-13
    • 2021-01-19
    • 2020-10-01
    • 1970-01-01
    • 2021-05-08
    • 2021-04-19
    相关资源
    最近更新 更多