#创建CHAID决策树模型
form = formula(paste(target,"~ ."))
vars=union(input,target)
model <- chaid(form, data = train1[train,vars],control = chaid_control(minsplit = 500,
minbucket = 200,
maxheight = 13))
#在保留的测试集上进行模型预测
pre = predict(model,newdata=train1[test,vars],
type="prob")[,2] # 取1还是2需要看情况
#计算在保留的测试集上的混淆矩阵
pre_data <- data.frame(train1[test,c(1,16)],pred_score=pre)
#为什么这句一直要报错,求大佬解释一下。
alpha <- quantile(pre_data$pred_score,table(train1$change)[1]/dim(train1)[1])
pre_data$pred_flag <- ifelse(pre_data$pred_score >= alpha,"1","0")
#将混淆矩阵结果保存为文本文件
write.csv(table(pre_data$change,pre_data$pred_flag),"test_1_con_matrix_CHAID.txt")