1
如何使用准则找到和评估连续变量的最佳离散化?
我有一个包含连续变量和二进制目标变量(0和1)的数据集。 我需要相对于目标变量离散化连续变量(用于逻辑回归),并约束每个间隔的观察频率应该保持平衡。我尝试了机器学习算法,例如Chi Merge,决策树。Chi merge给我的间隔在每个间隔中具有非常不平衡的数字(一个间隔有3个观测值,另一个间隔有1000个观测值)。决策树很难解释。 我得出的结论是,最佳离散化应最大化离散化变量和目标变量之间的统计量,并且其间隔应包含大致相同数量的观察值。χ2χ2\chi^2 有解决这个问题的算法吗? 这在R中看起来是这样(def是目标变量,x是要离散化的变量)。我计算了Tschuprow的来评估转换后的变量与目标变量之间的“相关性”,因为统计量倾向于随着间隔数的增加而增加。我不确定这是否是正确的方法。χ 2ŤTTχ2χ2\chi^2 除了Tschuprow的(当班级数量减少时会增加)之外,还有其他方法可以评估我的离散化是否最佳吗?ŤTT 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)) }