kxen を使用して、クライアント データでロジスティック回帰モデルを構築することを検討しています。今まで SAS と R studio を使ってきましたが、Kxen で使われている K2R パッケージのロジックを明確に理解するのに苦労しています。
Kxen - (beta, intercept)
1) sql でスコアリング関数を構築したい場合、どのように回帰係数を取得できますか?
次のSQLコードを取得しました(コードの一部を同封):
SELECT $key, $target_variable, CAST( (CASE
WHEN $target_variable <= -1.32354053933e0 THEN 0.0e0
WHEN $target_variable <= -3.245405264555e-1 THEN 0.0e0
WHEN $target_variable <= -3.235405393301e-1 THEN ( 2.283134417281e-3*$target_variable+7.409696685844e-4 )
WHEN $target_variable <= -2.673812457267e-1 THEN ( 4.065409082516e-5*$target_variable+1.543635190092e-5 )
WHEN $target_variable <= -"2.673250302176e-1 THEN ( 4.057282329758e1*"$target_variable"+1.084841700789e1 )
..... [more code here]
ELSE 0.0e0
END) AS FLOAT )
AS PROBA0
into [table_name]
FROM
(
SELECT $key, ( 2.191922889118e-2 + CAST( (CASE
WHEN ( "predictor1" IS NULL OR "predictor1" = '' ) THEN -6.39011247354e-3
WHEN "predictor1" <= -2.432307283e0 THEN -1.541583426389e-1
WHEN "predictor1" <= 9.41313103e-1 THEN ( 9.932069236689e-2*"predictor1"+8.742010175092e-2 )
WHEN "predictor1" <= 1.696595422e0 THEN ( 4.169961790129e-2*"predictor1""+2.454336172985e-1 )
WHEN "predictor1" >= 1.696595402e0 THEN 3.16180997712e-1
ELSE -6.39011247354e-3
END) AS FLOAT)+
CAST( (CASE
WHEN ( "predictor2" IS NULL OR "predictor2" = '' ) THEN 3.937894402762e-3
WHEN "predictor2" <= -9.99550198e-1 THEN -2.797353866946e-2
WHEN "predictor2" <= -1.27770581e-1 THEN ( 2.918798485695e-2*"predictor2""+1.201317665409e-3 )
WHEN "predictor2" <= 3.78487285e-1 THEN ( 2.547969219572e-2*"predictor2"+6.997428207111e-3 )
...... [more code here]
) AS $target_varialbe FROM [table_name]
) TMPTABLE0
予測変数はすべて、WOE 変換後に入力され、連続変数として定義されます。
2)割り当てられたスコアで顧客を注文する場合、注文は確率で注文する場合とは異なります-スコアから確率への変換は単調な関数ではありませんか?私の目的は、正規化されたスコア/確率を顧客に割り当てることです。
誰でも説明できますか?