Я озадачен производительностью моей модели keras на валидации с данными mnist.
Я использую тестовые данные только для краткости, которые я загружаю в виде CSV-файла отсюда: https://pjreddie.com/projects/mnist-in-csv/
Мой код следующий:
mnist = pd.read_csv('mnist_test.csv', header = None)
mnist.head()
0 1 2 3 4 5 6 7 8 9 ... 775 776 777 778 779 780 781 782 783 784
0 7 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
1 2 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
2 1 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
4 4 0 0 0 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 0
X = mnist.iloc[:, 1:].values
y = to_categorical(mnist.iloc[:, 0])
n_cols = X.shape[1]
# Create the model: model
model = Sequential()
# Add the first hidden layer
model.add(Dense(50, activation = 'relu', input_shape = (784,)))
# Add the second hidden layer
model.add(Dense(50, activation = 'relu'))
# Add the output layer
model.add(Dense(10, activation = 'softmax'))
# Compile the model
model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
# Fit the model
model.fit(X, y, validation_split = 0.3)
Вывод:
Train on 7000 samples, validate on 3000 samples
Epoch 1/1
7000/7000 [==============================] - 1s 109us/step - loss: 10.9961 - acc: 0.3111 - val_loss: 10.2264 - val_acc: 0.3637
Точность 0,36 в проверочном наборе? Невероятно.
Что не так?