При наличии набора столбцов ['A', 'B', ' C'] и зависимой переменной y, вычисляемая взаимная информация может быть между всеми объектами и y (один скаляр) или одним объектом и y (список скаляров). Исходя из этого, я не уверен, какие значения возвращает мне sklearn, поскольку значения меняются в зависимости от порядка объектов и количества введенных объектов.
- Взаимное информационное значение (между признаком и зависимой переменной), заданное 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])
Подробнее здесь: https://stackoverflow.com/questions/662 ... ture-order
Мобильная версия