Ошибка выбора типа: ошибка типа: numpy.ndarray - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть работа, в которой я хочу использовать алгоритм минимальной избыточности.Коды следующие.

import numpy as np
import pandas as pd
from skfeature.function import information_theoretical_based

dataset=pd.read_csv("cancer.csv")
data=pd.DataFrame(dataset)
X= data.iloc[:,:1].values
y=data.iloc[:,1:].values

information_theoretical_based.MRMR.mrmr(X,y)

Программа выдает ошибку «TypeError: unhashable type: 'numpy.ndarray'»:

TypeError Traceback (последний вызов последнего) in () ----> 1 information_theoretical_based.MRMR.mrmr (X, y)

/ usr / local / lib / python3.6 / dist-packages / skfeature / function / information_theoretical_based / MRMR.pyв mrmr (X, y, ** kwargs) 33 F, J_CMI, MIfy = LCSI.lcsi (X, y, гамма = 0, имя_функции = 'MRMR', n_selected_features = n_selected_features) 34 еще: ---> 35 F,J_CMI, MIfy = LCSI.lcsi (X, y, гамма = 0, имя_функции = 'MRMR') 36 return F, J_CMI, MIfy

/ usr / local / lib / python3.6 / dist-packages /skfeature / function / information_theoretical_based / LCSI.py в lcsi (X, y, ** kwargs) 65 для i в диапазоне (n_features): 66 f = X [:, i] ---> 67 t1 [i] = midd (f, y) 68 69 # убедитесь, что j_cmi положителен в самом начале

/ usr / local / lib / python3.6 / dist-packages / skfeature / utility / entropy_estimators.py в середине (x,y) 101 "" "102 -> 103 return -entropyd(list (zip (x, y))) + entropyd (x) + entropyd (y) 104 105

/ usr / local / lib / python3.6 / dist-packages / skfeature / utility / entropy_estimators.py in entropyd (sx, base) 93 "" "94 ---> 95 возвращает entropyfromprobs (hist (sx), base = base) 96 97

/ usr / local / lib / python3.6 / dist-packages / skfeature / utility / entropy_estimators.py в хронологии (sx) 116 d = dict () 117 для s в sx: -> 118 d [s] = d.get (s, 0) + 1 119 вернуть карту (лямбда-з: float (z) / len (sx), d.values ​​()) 120

Ошибка типа: неустранимый тип: 'numpy.ndarray'

1 Ответ

0 голосов
/ 30 ноября 2018

Ваш X меньше вашего y.

Возможно, измените его на:

X = data.iloc[:,1:].values

y = data.iloc[:,:1].values
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...