Я использую Keras и пытаюсь построить нейронную сеть для прогнозирования процентной ставки по данным. Данные выглядят так:
loan_amnt annual_inc emp_length int_rate
10000 38000.0 5.600882 12.40
13750 17808.0 5.600882 28.80
26100 68000.0 10.000000 20.00
13000 30000.0 1.000000 20.00
7000 79950.0 7.000000 7.02
Функции (X): loan_amnt
, annual_inc
и emp_length
. Цель (y): int_rate
.
Вот мой процесс и то, что я сделал после нормализации данных:
#Building out model
model = Sequential([
Dense(9, activation='relu', input_shape=(3,)),
Dense(3, activation='relu'),
Dense(1, activation='linear'),
])
#Compiling model
model.compile(loss='mean_absolute_percentage_error',
metrics=['mse'],
optimizer='RMSprop')
hist = model.fit(X_train, Y_train,
batch_size=100, epochs=20, verbose=1)
Вот пример выходных данных после выполнения model.fit()
:
Epoch 1/20
693/693 [==============================] - 1s 905us/step - loss: 96.2391 - mean_squared_error:
179.8007
Epoch 2/20
693/693 [==============================] - 0s 21us/step - loss: 95.2362 - mean_squared_error:
176.9865
Epoch 3/20
693/693 [==============================] - 0s 20us/step - loss: 94.4133 - mean_squared_error:
174.6367
Наконец, оценивая модель model.evaluate(X_train, Y_train)
и получив следующий результат:
693/693 [==============================] - 0s 372us/step
[77.88501817667468, 132.0109032635049]
Вопрос в том, как узнать, хорошо ли работает моя модель, и как можно прочитать цифры?