使用机器学习数据集构建销售预测Web应用程序( 二 )


PS3平台的销售额最高 。 之后是Xbox360:
使用机器学习数据集构建销售预测Web应用程序文章插图
动作类别的销售额最高 , 难题类别的销售额最低
使用机器学习数据集构建销售预测Web应用程序文章插图
2007年到2011年的销售额最高:
使用机器学习数据集构建销售预测Web应用程序文章插图
通常 , 我们在EDA之后进行特征工程或特征选择步骤 。 但是 , 我们的功能较少 , 着重于实际使用模型 。 因此 , 我们正在朝着下一步迈进 。 但是 , 请记住 , USER_POINTS和CRITICS_POINTS列可用于派生其他功能 。
步骤4:建立模型
由于我们具有许多分类功能 , 因此我们将对数据集使用catboost回归模型 。 由于catboost可以直接作用于分类特征 , 因此跳过了对分类特征进行标签编码的步骤 。
首先 , 我们使用pip install命令安装catboost软件包 。
然后 , 我们创建一个分类特征列表 , 将其传递给模型 , 然后将模型拟合到训练数据集上:
import catboost as catcat_feat = ['CONSOLE','CATEGORY', 'PUBLISHER', 'RATING']features = list(set(train.columns)-set(['SalesInMillions']))target = 'SalesInMillions'model = cat.CatBoostRegressor(random_state=100,cat_features=cat_feat,verbose=0)model.fit(train[features],train[target])步骤5:检查模型的准确性
首先 , 我们根据测试数据集创建真实的预测:
y_true= pd.DataFrame(data=http://kandian.youth.cn/index/test[target], columns=['SalesInMillions'])test_temp = test.drop(columns=[target])接下来 , 我们在测试数据集上运行训练良好的模型以获取模型预测并检查模型准确性
y_pred = model.predict(test_temp[features])from sklearn.metrics import mean_squared_errorfrom math import sqrtrmse = sqrt(mean_squared_error(y_true, y_pred))print(rmse)#Output: 1.5555409360901584我们的RMSE值为1.5 , 这相当不错 。 有关在出现回归问题时准确性指标的更多信息 , 可以参考本文 。

如果你想进一步改善模型或尝试组合各种模型 , 可以在本文中参考本次hackathon获胜者的方法:
步骤6:将模型保存到pickle文件中
现在 , 我们可以将模型保存到pickle文件中 , 然后将其保存在本地:
import picklefilename = 'finalized_model.sav'pickle.dump(model, open(filename, 'wb'))保存pickle文件后 , 你可以从Google Colab Notebook文件部分的左侧边栏中下载并保存在本地
使用机器学习数据集构建销售预测Web应用程序文章插图
额外提示
  • 添加更多数据
我们可以通过向模型添加更多数据来改善模型预测 。 我们可以使用一些在Kaggle上的相关的数据集 。 Kaggle:
  • 提高模型效率
我们可以使用组合模型的堆栈来进一步提高模型效率 。
如果你已完成此步骤 , 请轻拍一下自己的背 , 因为我们刚刚完成了项目的第一个主要部分 。 休息一会儿 , 拉伸一下 , 然后开始本文的下一部分 。
第2部分:根据模型创建后端API我们将使用Python Flask创建后端API 。
因此 , 首先在本地创建一个名为server的文件夹 。 另外 , 如果还没有 , 请在你的计算机上安装Python和pip软件包管理器 。
接下来 , 我们需要在文件夹中创建一个虚拟环境 。 我在Linux上使用python3 , 因此我创建虚拟环境的命令为:python3 -m venv server 。


推荐阅读