#c50决策树作为商业版本的决策树,尤其高效的速度和,更加符合理论意义的分类方式
#信息熵,信息熵增益率作为样本数据的分支方式,下文中没有对连续型变量做输入,可以参考chimerge转化为分类型变量
#如果想转变为2叉树形式可以参考以gini或者信息熵增益率作为分类方式
#最终形成的分类数做减枝的参考是子误差加权后比父误差要小,则分类延续,否则剪枝
#w1=matrix(sign(rnorm(120)),15,8,1)
info_entropy
{
#print(x);
#print(y);
z=as.matrix(cbind(x,y));
n=ncol(z);
m_test=c();
m2=c();
m_sel=c();
m_sel2=c();
m_test2=c();
m_sel3=c();
m_rat=c();
for(i in 1:(n-1))
{
m2
m2=ftable(z[,n],z[,i]);
m_test=m2/rep(colSums(m2),each=nrow(m2));#对应的条件概率
m_test2=rep(colSums(m2)/(sum(m2)),each=nrow(m2))*(-m_test*log(base=2,m_test));#对应条件熵
m_test2[which(is.nan(m_test2))]
#条件熵
m_sel
#信息熵