我在 SSAS 中训练了一个简单的逻辑回归模型,使用 Gender 和 NIC 作为离散输入节点(NIC 为 0 表示非吸烟者,1 表示吸烟者),Score (0-100) 作为连续输出节点。
我想根据新参与者的性别和 NIC 值来预测分数。当然,我可以在 DMX 中运行单例查询;例如,以下产生一个值 49.51....
SELECT Predict(Score)
FROM [MyModel]
NATURAL PREDICTION JOIN
(SELECT 'M' AS Gender, '1' AS NIC) as t
但我不想使用 DMX,而是想从模型中创建一个公式,以便在与 SSAS“断开连接”时计算分数。
调查模型,我在输出节点的 NODE_DISTRIBUTION 中有以下信息:
ATTRIBUTE_NAME ATTRIBUTE_VALUE SUPPORT PROBABILITY VARIANCE VALUETYPE
Gender:F 0.459923854 0 0 0 7 (Coefficient)
Gender:M 0.273306289 0 0 0 7 (Coefficient)
Nic:0 -0.282281195 0 0 0 7 (Coefficient)
Nic:1 -0.802106901 0 0 0 7 (Coefficient)
0.013983007 0 0 0.647513829 7 (Coefficient)
Score 75.03691517 0 0 0 3 (Continuous
将这些系数插入逻辑回归公式——我被禁止作为新用户上传:)——对于上面的吸烟男性示例,
f(...) = 1 / (1 + exp(0 - (0.0139830071136734 -- Constant(?)
+ 0 * 0.459923853918008 -- Gender:F = 0
+ 1 * 0.273306289390897 -- Gender:M = 1
+ 1 * -0.802106900621717 -- Nic:1 = 1
+ 0 * -0.282281195489355))) -- Nic:0 = 0
结果为 0.374.... 但是我如何将这个值“映射”回 0-100 的分数分布?换句话说,我如何扩展上面的等式以产生与 DMX 单例查询相同的值?我假设它将需要我的分数分布的标准偏差和平均值,但我一直坚持如何使用这些值。我也不确定我是否正确使用第五行中的 ATTRIBUTE_VALUE 作为常量。
您可以提供的任何帮助将不胜感激!