我正在使用R语言中的fSelector
包,通过information.gain
函数来测量信息增益。
我对输出的结果有些不确定,因为其中有负号,我能理解在iris数据集上的输出结果。
weights <- information.gain(cross_over ~ age + max_stake_scale + current_loyalty_status + lifespan + early_hours + morning + afternoon + evening, df
输出结果是:
attr_importanceage 0.000000e+00max_stake_scale 0.000000e+00current_loyalty_status 2.968854e-04lifespan 1.523364e-02early_hours 0.000000e+00morning 0.000000e+00afternoon 0.000000e+00evening 0.000000e+00
响应变量是二元的,即是否交叉,是或否。我不确定哪些特征是重要的,请指教。
谢谢
回答:
信息增益告诉你,通过了解某个特定特征的值,你能获得多少信息。在二元分类问题中,你需要1比特的信息来进行分类(因为有两种可能的结果);即某个特定特征的最大信息增益为1。
在你的例子中,几乎所有特征的信息增益都是0,这意味着了解它们的数值对决定数据所属的类别没有任何帮助。非零值表示最重要的特征(尽管仍然相当不具信息性)——lifespan
和current_loyalty_status
。负号只是指数表示法的一部分,即2.968854e-04
表示2.968854 * 10^-4
或0.0002968854
。