Классификационные метрики не могут обрабатывать комбинацию двоичных и непрерывных целей с несколькими выходами? - PullRequest
0 голосов
/ 04 октября 2018

Я работаю в задаче анализа настроений с помощью tf-learn, я работаю над кодом матрицы путаницы, и когда я запускаю код оценки, у меня появляется эта ошибка Метрики классификации не могут обрабатывать смесь двоичного и непрерывного множественных выходовцели могу ли я справиться с этим .. он не может обработать форму Y_test и Y_predict.

Значение цели кодирования

# convert target value from string to integer
le=LabelEncoder()
Y_le=le.fit_transform(Y)
Y_le_oh=to_categorical(Y_le)
#np.argmax(to_categorical(Y_le))

Поезд, тестовый сплит

 X_train, X_test, Y_train, Y_test = train_test_split(X_pad,Y_le_oh, test_size = 0.33, random_state = 42)
    X_train, X_Val, Y_train, Y_Val = train_test_split(X_train,Y_train, test_size = 0.1, random_state = 42)
    print(X_train.shape,Y_train.shape)
    print(X_test.shape,Y_test.shape)
    print(X_Val.shape,Y_Val.shape)
    type(Y_test)

Матрица путаницы

def cnn_evaluate(): 
    # predict class with test set
    Y_predict =  model.predict(X_test, batch_size=batch_size, verbose=0)
    print('Accuracy:\t{:0.1f}%'.format(accuracy_score(np.argmax(Y_test,axis=1),Y_predict)*100))

    #classification report
    print('\n')
    print(classification_report(np.argmax(Y_test,axis=1), Y_predict))
    #confusion matrix
    confmat = confusion_matrix(np.argmax(Y_test,axis=1), Y_predict)

    fig, ax = plt.subplots(figsize=(4, 4))
    ax.matshow(confmat, cmap=plt.cm.Blues, alpha=0.3)
    for i in range(confmat.shape[0]):
        for j in range(confmat.shape[1]):
            ax.text(x=j, y=i, s=confmat[i, j], va='center', ha='center')
    plt.xlabel('Predicted label')
    plt.ylabel('True label')
    plt.tight_layout()
...