연속 변수와 이진 대상 변수 (0 및 1)가있는 데이터 세트가 있습니다.
목표 변수와 관련하여 연속 변수 (로지스틱 회귀 분석)를 불연속 화하고 각 구간의 관측 빈도가 균형을 이루도록 제한해야합니다. Chi Merge, 의사 결정 트리와 같은 기계 학습 알고리즘을 시도했습니다. Chi merge는 각 구간에서 매우 불균형 한 수의 구간을 제공했습니다 (3 개의 관측 값이있는 구간과 1000의 다른 구간). 의사 결정 트리는 해석하기 어려웠습니다.
최적의 이산화는 이산화 변수와 목표 변수 사이의 통계량으로, 대략 같은 양의 관측 값을 포함하는 구간을 가져야합니다.
이 문제를 해결하기위한 알고리즘이 있습니까?
이것은 R에서와 같이 보일 수 있습니다 (def는 대상 변수이고 x는 이산 될 변수입니다). 나는 Tschuprow의 계산 변환 된 변수와 목표 변수 사이의 "상관"을 평가하기 위해 통계는 간격 수에 따라 증가하는 경향이 있습니다. 이것이 올바른 방법인지 확실하지 않습니다.
내 이산화가 Tschuprow 's 이외의 것이 최적인지 평가하는 다른 방법이 있습니까? (클래스 수가 감소하면 증가)?
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))
}