我使用的是SMAPE(对称平均绝对百分比误差)评估指标。
公式:
https://en.wikipedia.org/wiki/Symmetric_mean_absolute_percentage_error
def smape(A, F):
return 100/len(A) * np.sum(2 * np.abs(F - A) / (np.abs(A) + np.abs(F)))
我使用上面的函数计算smape。
现在我正在尝试使用上面的smape代码评估我的模型,但是我无法理解如何在列车数据集上使用它进行评估,然后预测测试数据集的值。
我的代码:
from sklearn.ensemble import RandomForestRegressor
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# Train and test data split 70-30
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# Establish model
model = RandomForestRegressor(n_jobs=-1)
model.fit(X_train, y_train)
现在如何使用上面的随机森林回归器SMAPE?我应该用吗
model.score
即
model.score(X_test, y_test)
或
model.smape(X_test, y_test)
如果我使用
模型分数(x_测试,y_测试)
我得到了
-0.4678402626438
分数。请建议我如何在我的随机森林回归模型中使用smape度量。