
[code]

    import tensorflow as tf 
    import keras
    from keras.models import Sequential 
    from keras.layers import Dense, Dropout, Activation 
    from keras.optimizers import RMSprop
    from keras.utils import to_categorical
    from keras import models
    
        def homework(train_X, train_y, test_X):
        # WRITE ME!
        model = Sequential()
        model.add(Dense(512, activation='relu', input_shape=(784,)))
        model.add((Dropout(0.5)))
        model.add(Dense(512, activation='relu'))
        model.add((Dropout(0.5)))
        model.add(Dense(10, activation='softmax'))
    
    
        model.compile(optimizer=RMSprop(lr=0.001),loss='categorical_crossentropy', metrics=['accuracy'])
        model.fit(train_X, train_y,epochs=20, batch_size=1000, verbose=1)
    
        y_test_predict = model.predict(test_X)
        y_test_predict = np.argmax(y_test_predict, axis=1)
    
    
    
        return y_test_predictimport numpy as np
    from sklearn.utils import shuffle
    from sklearn.metrics import f1_score
    from sklearn.datasets import fetch_mldata
    from sklearn.model_selection import train_test_split
    
    
    def load_mnist():
        mnist = fetch_mldata('MNIST original', data_home='.')
        mnist_X, mnist_y = shuffle(mnist.data.astype('float32'),
                                   mnist.target.astype('int32'), random_state=42)
    
        mnist_X = mnist_X / 255.0
        mnist_y = to_categorical(mnist_y,10)
    
    
        return train_test_split(mnist_X, mnist_y,
                    test_size=0.2,
                    random_state=42)
    
    def validate_homework():
        n_data = 10000
        train_X, test_X, train_y, test_y = load_mnist()
    
        # validate for small dataset
        train_X_mini = train_X[:n_data]
        train_y_mini = train_y[:n_data]
        test_X_mini = test_X[:n_data]
        test_y_mini = test_y[:n_data]
    
        pred_y = homework(train_X_mini, train_y_mini, test_X_mini)
        print('f1_score' + f1_score(test_y_mini, pred_y, average='macro'))
    
[/code]

上記のようなコードでMNISTをニューラルネットワークで実装しようとしています。validate_homeworkを実行すると、

[code]

    ValueError: Classification metrics can't handle a mix of multilabel-indicator and multiclass targets
    
[/code]

というエラーが表示されます。どなたか解決法を教えていただけると助かります。


CC BY-SA 4.0
2019-05-02T12:26:19.507
54656
2019-05-02T12:58:43.570
2019-05-02T12:58:43.570
29826
34161
question
python tensorflow numpy 深層学習 keras
ValueError: Classification metrics can't handle a mix of multilabel-indicator and multiclass targetsというエラーの対処法を教えていただきたいです。