Я работаю над выбором функции из набора данных NSL-KDD. После предварительной обработки мой X-DoS имеет такой тип данных:
type_of_target(X_newDoS)
'continuous-multioutput'
и Y_DoS как
type_of_target(Y_DoS)
'unkonwn'
Я запускаю часть выбора функции как:
from sklearn.feature_selection import RFE
from sklearn.ensemble import RandomForestClassifier
clf =RandomForestClassifier( n_jobs = 2)
rfe = RFE(clf, n_features_to_select=1)
rfe.fit(X_newDoS, Y_DoS)
Сообщение об ошибке:
ValueError Traceback (most recent call
last)
<ipython-input-31-6c22f9cc2bba> in <module>()
12 rfe = RFE(clf, n_features_to_select=1)
---> 13 rfe.fit(X_newDoS, Y_DoS)
14
4 frames
/usr/local/lib/python3.6/dist-packages/sklearn/utils/multiclass.py in
check_classification_targets(y)
167 if y_type not in ['binary', 'multiclass', 'multiclass-
multioutput',
168 'multilabel-indicator', 'multilabel-
sequences']:
--> 169 raise ValueError("Unknown label type: %r" % y_type)
170
ValueError: Unknown label type: 'unknown'
X_newDoS - массив пустых значений, а Y_DoS - массив измерений (125972,2). Нажав на файл multiclass.py, я увидел, что в списке нет «неизвестного» типа. Я попытался преобразовать массив Y_DoS в массив Numpy с помощью:
Y_DoS = np.array(Y_DoS)
Тем не менее, это неизвестный тип данных, который не может быть распознан файлом multiclass.py. Как я могу решить эту проблему? Как сделать переменную Y_DoS для другого типа, распознаваемого файлом multiclass.py, не теряя его содержимого и структур?
Для справки я использовал код из этой ссылки и сделал те же шаги для предварительной обработки. https://github.com/CynthiaKoopman/Network-Intrusion-Detection/blob/master/DecisionTree_IDS.ipynb
Я довольно новичок в машинном обучении. Программа работала нормально с numpy 1.11.3, sklearn 0.18.1 и pandas 1.19.2. При работе с текущими предустановленными версиями библиотек colab (numpy 0.24.2, sklearn 1.16.3, pandas 0.21.1) возникает ошибка, упомянутая выше.