Оценка MultiOutputClassifier на тесте - 0,0 - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в машинном обучении и пытаюсь выполнить многозначную классификацию . Что-то явно не так с моим кодом.

X равно numpy.ndarray с shape (117, 17). Итак, есть 17 функций и 117 объектов.

Y равно numpy.ndarray с shape (117, 47),, поэтому 47 целей (да, это странные данные, но мне не нужно очень хорошее качество)

Я пытаюсь это

from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.multioutput import MultiOutputClassifier

classifier = MultiOutputClassifier(DecisionTreeClassifier(random_state=0))
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.2, random_state = 50)
classifier.fit(X_train, Y_train)
print(classifier.score(X_train, Y_train))
print(classifier.score(X_test, Y_test))

И это дает 0.9506172839506173 и 0.0

Я попытался добавить некоторые max_depth=5 и max_leaf_nodes=25, счет поезда менялся, но результат теста был 0,0 все время. Что не так?

(также, если вы знаете более эффективные способы решения моей проблемы, пожалуйста)

UPD: я сделал свою собственную точность, и это показывает, что есть хоть какое-то обучение, поэтому Я думаю, что проблема связана с оценкой метода MultiOutputClassifier

UPD2: может быть, это потому, что я пытаюсь использовать многоуровневую классификацию multiclass?

...