gpt4 book ai didi

python - 均方误差返回不合理的高数字

转载 作者:行者123 更新时间:2023-11-30 09:33:53 24 4
gpt4 key购买 nike

我正在尝试预测每部电影在 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

我试图预测的值(目标)是 BoxOffice。

我正在严格按照 sklearn 的文档进行操作 ( http://scikit-learn.org/stable/modules/generated/sklearn.metrics.mean_squared_error.html#sklearn.metrics.mean_squared_error )

from sklearn import preprocessing, linear_model
from sklearn.metrics import mean_squared_error, r2_score
from sklearn.model_selection import train_test_split, cross_val_score

X = dataset[:,0:16] # Features
Y = dataset[:,16] #Target

X_train, X_test, Y_train, Y_test = train_test_split(X,Y, test_size=0.33)

regr = linear_model.LinearRegression()
regr.fit(X_train,Y_train)
mean_squared_error(Y_test, regr.predict(X_test))

输出总是类似于:11385650623660550 ($11,385,650,623,660,500.00)

虽然票房的平均值是:107989121

等等。

我尝试了多种不同的方法、交叉验证以及其他模型(keras),感觉我已经尝试了一切。

返回的总和非常高,这让我怀疑问题不在于模型或数据,而是我缺少的其他东西。

最佳答案

我认为,你的问题与均方误差无关,而是模型本身。

对于您的分类特征,我建议您尝试另一种编码方法,例如 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 )

在训练模型之前,看看数字特征与目标变量的相关性,也许其中一些不相关,对于分类特征,您可以尝试不同的方法来分析它们与目标变量的关系(例如箱线图)

线性回归需要连续变量,因此您可能还想尝试其他算法。在应用它们之前,请确保您有足够的背景。

关于python - 均方误差返回不合理的高数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49011791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com