Я обучил простую модель логистической регрессии в SSAS, используя пол и сетевой адаптер в качестве дискретных входных узлов (NIC равен 0 для некурящего, 1 для курильщика) со счетом (0-100) в качестве непрерывного выходного узла.Представленные коэффициенты логистической регрессии, рассчитанные в SSAS, создают формулу для вычисления непрерывного выходного значения
Я хочу предсказать оценку на основе значений нового участника для Gender и NIC. Конечно, я могу запустить singleton-запрос в 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 в пятой строке в качестве константы.
Любая помощь, которую вы можете предоставить, оценят!
Спасибо, Гарри, я целенаправленно сделал очень простой пример, чтобы я мог решить эту проблему. Я фактически придерживаюсь модели логистической регрессии, но, по крайней мере, в SSAS, она, похоже, поддерживает непрерывные значения как результат, с тем преимуществом, что формула ограничивает вывод в пределах 0-1, если я понимаю: . [Логистическая регрессия] (http://msdn.microsoft.com/en-us/library/cc645904) – hbeam
да, но используемая S-кривая специально предназначена для визуализации 0 или 1 (технически она непрерывна из-за математического свойства, но просто масштабирование результата этой модели, вероятно, НЕ то, что вы хотите). В большинстве случаев, если вы не выполняете классификацию YES/NO, вам, вероятно, нужна линейная регрессия. Проблема тогда в том, что она предсказывает вне диапазона 1-100. Вы должны решить эту проблему, либо классифицируя эти экземпляры как выбросы, либо округление (до 100 или до 1) в программном обеспечении. –