我试图预测IMDb上每部电影的利润。在
我的数据帧和功能如下:
Actor1 Actor2 Actor3 Actor4 Day Director Genre1 Genre2 Genre3 \
0 0 0 0 0 19.0 0 0 0 0
1 1 1 1 1 6.0 1 1 1 1
2 2 2 2 2 20.0 2 0 2 2
3 3 3 3 3 9.0 3 2 0 -1
4 4 4 4 4 9.0 4 3 3 3
Language Month Production Rated Runtime Writer Year BoxOffice
0 1 0 0 0 118.0 0 2007.0 37500000.0
1 2 1 1 0 151.0 1 2006.0 132300000.0
2 1 1 2 1 130.0 2 2006.0 53100000.0
3 1 2 1 0 117.0 3 2007.0 210500000.0
4 4 3 3 2 117.0 4 2006.0 244052771.0
我要预测的(目标)是票房。在
我正在跟踪sklearn的文档(http://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html#sklearn.metrics.mean_squared_error)
^{pr2}$而输出总是这样的:11385650623660550(11385650623660500.00美元)
而票房的平均值是: 107989121个
等等
我尝试了多种不同的方法,交叉验证以及其他模型(keras),感觉我什么都试过了。在
返回的总和非常高,这让我怀疑问题不在模型或数据中,而是我遗漏的其他东西。在
你能检查一下你的模型的准确性吗?我想这是很低的,所以你得到了很高的均方根错误。因为预测票房和实际票房之间的模型精度差很高,而且平方差变得更大。在
rgr.score(X_test,Y_test
)我认为,你的问题与均方误差无关,而是模型本身。在
对于您的分类功能,我建议您尝试另一种编码方法,如OneHotEncoder。LabelEncoder不是线性回归的好选择。在
(更多信息:http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
https://hackernoon.com/what-is-one-hot-encoding-why-and-when-do-you-have-to-use-it-e3c6186d008f)
在训练你的模型之前,先看看你的数字特征与你的目标变量之间的关系,也许其中有些是不相关的,对于分类特征,你可以尝试不同的方法来分析它们与目标变量的关系(比如boxplots)
线性回归需要连续变量,因此您可能也需要尝试其他算法。在应用它们之前,确保你有足够的背景知识。在
尝试标准化输出(或Y)变量,并将它们置于0和1之间。在
相关问题 更多 >
编程相关推荐