Как найти точность предусловия в процентах с использованием регрессионной модели в python - PullRequest
0 голосов
/ 24 января 2020

Здесь я попытался предсказать значение в соответствии с фактическим значением, используя модель регрессии LSTM. После прогнозирования значения мне нужно найти процент точности прогнозирования от прогнозируемых значений с фактическим значением.

Я пытался, но это дало мне большое значение минус.

Вот мой код:

pred=model.predict(x_test)
pred = scaler_y.inverse_transform(np.array(pred).reshape ((len(pred), 1)))
real_test = scaler_y.inverse_transform(np.array(y_test).reshape ((len(y_test),1))).astype(int)
pred = pred[:,0]
real_test = real_test[:,0]

from sklearn.metrics import accuracy_score
from sklearn.metrics import mean_squared_error
accuracy_regression = mean_squared_error(real_test, pred) 
print(accuracy_regression)
accuracy = 1-np.sqrt(accuracy_regression)
print("Prediction Accuracy: %.2f%%" % (accuracy*100))

Затем выведите:

394.2002447320037
Prediction Accuracy: -1885.45%

Это неправильно. Может кто-нибудь помочь мне решить эту ошибку?

1 Ответ

0 голосов
/ 24 января 2020

Полагаю, вы используете scikit-learn? Таким образом, средняя квадратическая ошибка (MSE) вычисляет показатель риска c, соответствующий ожидаемому значению квадрата (квадрата c) ошибки или потери ( больше информации здесь )

Если если вы хотите узнать оценку точности вашей модели, вы можете использовать функцию:

sklearn.metrics.accuracy_score(y_true, y_pred, normalize=True, sample_weight=None)

Более подробную информацию о показателях вы можете найти в scikit-learn здесь

...