Чтобы повысить точность регрессионной модели случайного леса, я изменил стандартное средство Scikit Learn для масштабирования MinMax. Во время стандартного скаляра я не получил ошибку. Точность увеличилась, но при расчете MAPE я получаю ошибку ниже.
Mean Absolute Error: 0.03
Accuracy: -inf %.
__main__:5: RuntimeWarning: divide by zero encountered in true_divide
Код:
from sklearn.preprocessing import MinMaxScaler
sc_X = MinMaxScaler()
X_train = sc_X.fit_transform(X_train)
X_test = sc_X.transform(X_test)
sc_y = MinMaxScaler()
y_train = sc_y.fit_transform(y_train)
#MAE
errors = abs(y_pred - y_test)
print('Mean Absolute Error:', round(np.mean(errors), 2))
# Calculate mean absolute percentage error (MAPE)
mape = 100 * (errors / y_test)
# Calculate and display accuracy
accuracy = 100 - np.mean(mape)
print('Accuracy:', round(accuracy, 2), '%.')