Я пытаюсь использовать максимальный информационный коэффициент в ноутбуке jupyter с набором данных Boston Housing .
import numpy as np
import pandas as pd
from minepy import MINE
#Read dataset
df = pd.read_csv('housing.data', delim_whitespace=True, header=None);
col_name = ['CRIM', 'ZN' , 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
df.columns = col_name;
#Compute MIC
m = MINE()
m.compute_score(df[col_name[0:13]], df.MEDV)
print(m.mic())
m.compute_score(..
дает мне ValueError: Buffer has wrong number of dimensions (expected 1, got 2)
.
Обновление
Теперь я понимаю, что compute_score()
ожидает вектор вместо матрицы.Как правильно найти оценки MIC между df.MEDV
и 13 функциями df[col_name[0:13]]
?