我已经在SSAS中训练了一个简单的逻辑回归模型,使用Gender和NIC作为离散输入节点(NIC为非吸烟者为1,1对于吸烟者)以Score(0-100)作为连续输出节点。鉴于在SSAS中计算的逻辑回归系数,创建一个计算连续输出值的公式
我想基于性别和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单例查询相同的值?我假设它将需要我的分数分布的stdev和平均值,但我坚持如何使用这些值。我也不确定我是否正确使用第五行的ATTRIBUTE_VALUE作为常量。
任何帮助,您可以提供将不胜感激!
感谢哈利,我故意做了一个非常简单的例子,以便我能够解决问题。我实际上坚持使用logistic回归模型,但至少在SSAS中,它似乎支持连续值作为输出,如果我理解: ,优点是公式将输出限制在0-1范围内。 [Logistic Regression](http://msdn.microsoft.com/en-us/library/cc645904) – hbeam
是的,但是使用的S曲线专门用于渲染0或1(从技术上讲,它是连续的,因为数学属性,但只是缩放这个模型的结果可能不是你想要的)。在大多数情况下,如果你没有进行YES/NO分类,你可能需要线性回归。问题在于它是否预测范围在1-100之外。您必须通过将这些实例归类为异常值或在软件中舍入(舍入为100或最多1)来解决此问题。 –