平均误差返回不合理的数字



我正在尝试预测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 

和我要预测的价值(目标(是拳击。

我正在按照(http://scikit-learn.org/stable/modules/generated/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,623,660,500.00(

虽然Boxoffice的平均值是:107989121

等。

ive尝试了多种不同的方法,交叉验证以及其他型号(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-have-to-to-to-it-e3c6186d008f(

在训练模型之前,请看一下数字功能与目标变量的相关性,也许是一些无关紧要的,对于分类功能,您可以尝试不同的方法来分析其与目标变量(例如Boxplots(

的关系

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

尝试标准化输出(或y(变量,并在0到1之间。

您可以检查模型的准确性吗?我猜这很低,因此您的平均平方误差很高。由于预测的票房和实际实际票之间的模型差异准确性很低,而且平方变得更大。

rgr.score(X_test,Y_test(

相关内容

最新更新