稀饭鲲 2022-03-12 16:35
浏览 14
已结题

拜读您的代码,有一处可能有误

拜读您的代码,感谢万分。我在研读这篇论文并对比你的代码后,发现有一处计算与论文中不一致,
在你的代码最后要选取能够使得互信息增量最大化的特征时,论文中是按照选取计算后“值最大的”特征,而你的算法中按照你的思路是对计算结果添加了负号,所以是选取计算后“值最小”的特征。

149行:evaluate_list = [ent_f_with_l_and_l_list[i] - ent_f_with_l_list[i] for i in range(self.train_data.shape[1])]

# 计算新添加特征与原有标签间的信息熵大小
176行:f_evaluate_list = [evaluate_list[i] - ent_f_with_f_and_l_list[i] for i in range(self.train_data.shape[1])]

可以理解为:

f_evaluate_list = [ent_f_with_l_and_l_list  -  ent_f_with_l_lis t -  ent_f_with_f_and_l_list]

而文章中是图片所示

img

所以我认为你在算法第176行应该使用 “+” 号。

也有可能是我理解不深刻产生误解,作者您怎么认为?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 3月20日
    • 创建了问题 3月12日