使用机器学习数据集构建销售预测Web应用程序
文章插图
介绍互联网上有很多资源可以找到关于机器学习数据集的见解和训练模型 , 但是关于如何使用这些模型构建实际应用程序的文章很少 。
因此 , 今天我们将通过首先使用hackathon中的数据集来训练视频游戏销售预测模型 , 然后使用经过训练的模型来创建一个基本应用程序 , 根据用户输入为我们提供销售预测来学习此过程 。
本文分为多个部分 , 你可以一个接一个地学习 , 而不必一口气完成它 。 从我第一次选择数据集以来 , 我花了整整一周的时间来完成应用程序 。 因此 , 请花时间专注于学习构建应用程序的各个方面 , 而不是只注意最终产品 。
第1部分:生成模型我们将使用在Machine Hack网站上运行的视频游戏销售预测hackathon中的数据集 。 首先 , 在MachineHack上创建一个帐户 , 然后在此链接上注册hackathon 。
下一步将在Google Colab Notebook中介绍 , 你可以从以下链接打开和克隆该Notebook:
from google.colab import filesuploaded = files.upload()for fn in uploaded.keys():print('User uploaded file "{name}" with length {length} bytes'.format(name=fn, length=len(uploaded[fn])))
在下一个代码单元中 , 我们导入所需的python包 。 它们中的大多数已预先安装在Google Colab中 , 因此无需安装它们中的任何一个 。因为我们无法在hackathon结束后提交测试数据进行评估 , 因此本文其余部分仅将数据用于Train.csv 。 请记住 , Train.csv的行数少于通常用于正确训练模型的行数 。 但是 , 出于学习目的 , 我们可以使用行数较少的数据集 。
现在让我们深入研究解决此机器学习问题…
步骤1:识别目标和独立特征
首先 , 让我们将Train.csv导入pandas数据框中 , 然后运行df.head()以查看数据集中的列 。
文章插图
从数据框中 , 我们可以看到目标列是SalesInMillions , 其余列是独立特征
步骤2:清理资料集
首先 , 我们通过运行input.isnull().sum()命令检查null值 。
input.isnull().sum()#Output:ID0CONSOLE0YEAR0CATEGORY0PUBLISHER0RATING0CRITICS_POINTS0USER_POINTS0SalesInMillions0dtype: int64
我们可以看到数据集中没有空值 。 接下来 , 我们可以通过运行以下命令删除不必要的列ID , 因为它在目标销售中不起作用:input = input.drop(columns=['ID'])接下来 , 我们可以使用train_test_split命令将数据框分为训练和测试数据集:
train, test = train_test_split(input, test_size=0.2, random_state=42, shuffle=True)
步骤3:探索性数据分析描述性统计信息
使用df.shape命令我们可以找到数据集中的总行数 , 并且可以使用命令df.nunique()在每个列中查找唯一值 。
CONSOLE17YEAR23CATEGORY12PUBLISHER184RATING6CRITICS_POINTS1499USER_POINTS1877SalesInMillions2804
在EDA部分中 , 我们使用pandas profiling和matplotlib包生成各种列的图形 , 并观察它们与目标列的关系 。从EDA获得的一些见解是:
PS3平台的销售额最高 。 之后是Xbox360:
文章插图
动作类别的销售额最高 , 难题类别的销售额最低
文章插图
2007年到2011年的销售额最高:
文章插图
通常 , 我们在EDA之后进行特征工程或特征选择步骤 。 但是 , 我们的功能较少 , 着重于实际使用模型 。 因此 , 我们正在朝着下一步迈进 。 但是 , 请记住 , USER_POINTS和CRITICS_POINTS列可用于派生其他功能 。
步骤4:建立模型
由于我们具有许多分类功能 , 因此我们将对数据集使用catboost回归模型 。 由于catboost可以直接作用于分类特征 , 因此跳过了对分类特征进行标签编码的步骤 。
首先 , 我们使用pip install命令安装catboost软件包 。
然后 , 我们创建一个分类特征列表 , 将其传递给模型 , 然后将模型拟合到训练数据集上:
- 会员|美容院使用会员管理软件给顾客更好的消费体验!
- 桌面|日常使用的软件及网站分享 篇一:几个动态壁纸软件和静态壁纸网站:助你美化你的桌面
- QuestMobile|QuestMobile:百度智能小程序月人均使用个数达9.6个
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 跑腿|机器人“小北”上岗 让办事群众少跑腿
- 计算机学科|机器视觉系统是什么
- 轻松|使用 GIMP 轻松地设置图片透明度
- 机器人|外骨骼康复训练机器人助力下肢运动功能障碍患者康复训练
- 电池容量|Windows 自带功能查看笔记本电脑电池使用情况,你的容量还好吗?
- 教学|机器人教学的目标方案