Python 什么因素会导致回归模型中的RMSE值极高?
我试图建立一个回归模型来预测电影票房。该数据集是从Kaggle TMDB 5000电影数据集获取的,另外一个数据集包含一些与社交媒体相关的属性 经过合并和清理,最终数据集由183个观测值和53个特征组成。扩大了两个分类特征:流派和制作国家。例如,新的专栏如“动作”、“戏剧”、“喜剧”等。如果该电影属于该类型,则该值为1。与生产国相同 我使用数据集建立回归模型,但遇到了一个问题。无论我使用序列测试分割或交叉验证方法,还是尝试不同的回归模型,我得到的RMSE都非常高Python 什么因素会导致回归模型中的RMSE值极高?,python,machine-learning,regression,evaluation,Python,Machine Learning,Regression,Evaluation,我试图建立一个回归模型来预测电影票房。该数据集是从Kaggle TMDB 5000电影数据集获取的,另外一个数据集包含一些与社交媒体相关的属性 经过合并和清理,最终数据集由183个观测值和53个特征组成。扩大了两个分类特征:流派和制作国家。例如,新的专栏如“动作”、“戏剧”、“喜剧”等。如果该电影属于该类型,则该值为1。与生产国相同 我使用数据集建立回归模型,但遇到了一个问题。无论我使用序列测试分割或交叉验证方法,还是尝试不同的回归模型,我得到的RMSE都非常高 from sklearn.mod
from sklearn.model_selection import cross_val_predict
X=movie.drop('Gross',axis=1)
y=movie['Gross']
print 'R2:',r2_score(y,cross_val_predict(RandomForestRegressor(),X,y,cv=10))
print 'RMSE:',np.sqrt(metrics.mean_squared_error(y,cross_val_predict(method,X,y,cv=10)))
output:
R2: 0.344831741145
RMSE: 76169019.1588
我不知道是什么因素导致了这种情况。有人能帮我吗?非常感谢。似乎您正在正确计算RMSE,我将检查R2度量值,并尝试手动执行以确保 但是,如果我们检查以下参考资料,我会尝试更详细地审查该概念: 我们可以观察到 r2=1-毫秒(x,y)/VAR(y) 如果MSE->0,则RMSE->0和r2->1
但是如果RMSE->+inf,MSE->+inf,如果MSE(1),我认为这个问题在交叉验证时更合适。(2) 正如维基百科关于均方根偏差的文章所说,……因为衡量标准取决于所用数字的规模。你不能在不声明尺度的情况下得出“太高”的结论。这是否意味着如果目标变量是一个大数字,获得高RMSE值是正常的?@c-ho:我想是的。RMSE还没有正常化,对吗?在“RMSI规范化”上进行谷歌搜索。另请参见pablo reynoso回答中的链接。