之前有一篇文章介绍了ML-KNN多标签分类算法,这里再介绍另一个算法ML-DT,算法思想比较简单,借鉴了决策树根据信息增益筛选特征生成分类器的思想,多标签场景下,信息增益表示的是该特征对所有标签的鉴别能力。
算法大致思想如下:首先计算每个特征的信息增益IG,挑选IG最大的特征来划分样本为左右子集,递归下去,直到满足停止条件(例如叶子节点中子集样本数量为100)结束,对未知样本,沿根节点遍历一条路径到叶子节点,计算叶子节点样本子集中每个标签为0和1的概率,概率超过0.5的标签定为未知样本标签。
先贴下伪代码,然后结合伪代码介绍算法细节:
1、第5行计算特征l在每个划分点的信息增益,并挑选最大的作为分支节点划分样本集
其中,MLEnt代表信息熵,