我注意到sklearn mutual_info_classif函数中的行为与我在mutual information目标中的预期不一致
给定一组列['a'、'B'、'C']和因变量y,计算的互信息可以是所有特征和y(单个标量)之间的互信息,也可以是单个特征和y(标量列表)之间的互信息。基于此,我不确定sklearn返回给我的值是什么,因为这些值随功能的顺序而变化,并随输入的功能数量而变化
feature_scores = mutual_info_classif(X[['A', 'B', 'C']], y, random_state=0)
feature_scores
array([0. , 0.13, 0.045])
feature_scores = mutual_info_classif(X[['A', 'C', 'B']], y, random_state=0)
feature_scores
array([0. , 0.017, 0.14]
feature_scores = mutual_info_classif(X[['A', 'B']], y, random_state=0)
feature_scores
array([0. , 0.14])
feature_scores = mutual_info_classif(X[['A', 'B', 'C']], y, random_state=0)
feature_scores
array([0. , 0.13, 0.045])
有人能向我解释一下这种行为吗?为什么这是正确的
目前没有回答
相关问题 更多 >
编程相关推荐