連続変数とバイナリターゲット変数(0と1)を含むデータセットがあります。
(ロジスティック回帰の)連続変数をターゲット変数に関して離散化する必要があります。また、各区間での観測頻度のバランスをとるように制約されています。Chi Mergeのような機械学習アルゴリズム、決定木を試しました。Chiマージにより、各間隔で非常に不均衡な数の間隔が得られました(3つの観測値を持つ間隔と1000の別の間隔)。決定木は解釈が困難でした。
最適な離散化では、離散化された変数とターゲット変数の間の統計が最大化され、ほぼ同じ量の観測を含む間隔が必要であるという結論に達しました。
これを解決するためのアルゴリズムはありますか?
これはRでは次のようになります(defはターゲット変数、xは離散化される変数です)。私はTschuprowの計算ので、変換され、ターゲット変数間の「相関性」を評価するために、χ 2統計は間隔の数に伴って増加する傾向にあります。これが正しい方法かどうかはわかりません。
chitest <- function(x){
interv <- cut(x, c(0, 1.6,1.9, 2.3, 2.9, max(x)), include.lowest = TRUE)
X2 <- chisq.test(df.train$def,as.numeric(interv))$statistic
#Tschuprow
Tschup <- sqrt((X2)/(nrow(df.train)*sqrt((6-1)*(2-1))))
print(list(Chi2=X2,freq=table(interv),def=sum.def,Tschuprow=Tschup))
}