Функция для запуска модели множественной классификации - Python - sklearn - ошибка - PullRequest
0 голосов
/ 27 января 2020

Я написал функцию, которая запускает модель множественной классификации и обеспечивает оценку Жакара и потери Хэмминга. Код выглядит следующим образом -

def avg_jacard(y_true,y_pred):

    jacard = np.minimum(y_true,y_pred).sum(axis=1) / np.maximum(y_true,y_pred).sum(axis=1)

    return jacard.mean()*100

def print_score(y_pred, clf):
    print("Clf: ", clf.__class__.__name__)
    print("Jacard score: {}".format(avg_jacard(y_test, y_pred)))
    print("Hamming loss: {}".format(hamming_loss(y_pred, y_test)*100))
    print("---")  



dummy = DummyClassifier()
sgd = linear_model.SGDClassifier()
lr = LogisticRegression()
mn = MultinomialNB()
svc = LinearSVC()
perceptron = Perceptron()
pac = PassiveAggressiveClassifier()
mlpc = MLPClassifier()
rfc = RandomForestClassifier()


for classifier in [dummy, sgd, lr, mn, svc, perceptron, pac,mlpc,rfc]:
    clf = OneVsRestClassifier(classifier)
    clf.fit(X_train, y_train)
    y_pred = clf.predict(X_test)
    print_score(y_pred, classifier)

Я получаю следующую ошибку при вызове функции

Файл "C: \ Users \ lalitha.sundar \ AppData \ Local \ Continuum \ anaconda3 \ lib \ site-packages \ pandas \ core \ generi c .py ", строка 361, в _get_axis_number .format (ось, тип (cls)))

ValueError: Нет оси с именем 1 для тип объекта

...