python构造字典的坑

python构造字典的坑

今天写手动决策树,一直在debug解决计算出的信息增益为负数的问题,最终发现是这个小问题,构造字典会自动删除重复的键值对。在数据集中可能出现feture:label完全相同的情况,所以导致了错误。

python构造字典的坑

由于前两个list的长度之和不等于第三个list的长度,我在计算划分后的熵值的时候将len(dicList)  (以下为sortList,是排序后的dicList) 看作样本总数,故分母偏小,导致newEntropy偏大,导致信息增益算成负数/(ㄒoㄒ)/~~

python构造字典的坑