machine-learning - 使用 SSAS 数据挖掘获取测试和训练集的评分结果

标签 machine-learning ssas regression

我们有一个相当大表,我们正在使用 SSAS 数据挖掘对其进行预测。

我们正在努力以有效的方式获取评分的测试和训练用例以进行验证。有没有一种方法可以不调用每行的算法(预测连接)?

例如,如果我的输入数据集具有以下列:

(客户、国家/地区、年龄、性别、购买金额)我想获取...

(客户、国家/地区、年龄、性别、购买金额、预测购买金额、概率)

它必须是可能的,因为这是在模型处理过程中完成的事情,并且它可能用于生成验证图表,例如系统获取分类矩阵。

如果我们谈论的是数十亿行,这将是一个巨大的性能改进。

  • 避免双重计算(预测连接将为每行执行模型)
  • 避免使用 openrowset 将数据从 DB 移动到 SSAS(案例已保存在 model.cases 上)
  • 避免将结果写回某处以供将来分析

这应该是微不足道的事情来解决......我一定错过了一些东西。

最佳答案

我得到了来自 Microsoft 的解决方案。我写在这里是因为它可能对其他人有用

训练/测试数据存储在挖掘结构中,除非训练后被清除。以下查询应该有效:

从挖掘模型 [ModelName] 中选择 Predict(..)、PredictProbability(..) 自然预测连接

哪里可以: 从采矿结构 [MiningStructureName].CASES 中选择 * 从挖掘结构 [MiningStructureName].CASES WHERE IsTrainingCase() 中选择 * 从挖掘结构 [MiningStructureName].CASES WHERE IsTestCase() 中选择 *

从采矿结构中清除案件 从挖掘结构中删除 [MiningStructureName].CASES

挖掘结构训练案例没有应用模型过滤器。如果要查询发送到模型的实际训练案例,您可以在 where 子句中显式键入过滤器或直接查询挖掘模型案例(如果模型启用了钻取) SELECT * FROM MINING STRUCTURE [MiningStructureName].CASES WHERE IsTrainingCase() and [Gender]='Female' 从挖掘模型 [ModelName].CASES 中选择 *

如果挖掘结构列名称与挖掘模型列名称不同,则必须使用“PREDICTION JOIN”而不是“NATURAL PREDICTION JOIN”,并在查询中提供映射。

关于machine-learning - 使用 SSAS 数据挖掘获取测试和训练集的评分结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425421/

相关文章:

python - Python + Pandas 中的差异

Python-VTK 3D Spline Regression 通过血管树的 STL 模型

python - 如何创建用于回归的神经网络?

machine-learning - 机器学习中特征的降维

machine-learning - 如何使用动态大小的输入集合来处理机器学习问题?

r - 回归和 PCA 的视觉比较

machine-learning - 仅包含 "yes"个实例的二元分类

c# - SSAS Tabular AMO - 如何知道请求的刷新何时完成

ssas - SQL 到 MDX Where IN 子句

SSAS数据源 View 关系