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


使用机器学习数据集构建销售预测Web应用程序文章插图
介绍互联网上有很多资源可以找到关于机器学习数据集的见解和训练模型 , 但是关于如何使用这些模型构建实际应用程序的文章很少 。
因此 , 今天我们将通过首先使用hackathon中的数据集来训练视频游戏销售预测模型 , 然后使用经过训练的模型来创建一个基本应用程序 , 根据用户输入为我们提供销售预测来学习此过程 。
本文分为多个部分 , 你可以一个接一个地学习 , 而不必一口气完成它 。 从我第一次选择数据集以来 , 我花了整整一周的时间来完成应用程序 。 因此 , 请花时间专注于学习构建应用程序的各个方面 , 而不是只注意最终产品 。
第1部分:生成模型我们将使用在Machine Hack网站上运行的视频游戏销售预测hackathon中的数据集 。 首先 , 在MachineHack上创建一个帐户 , 然后在此链接上注册hackathon 。

注册后 , 转到数据标签并下载zip文件 , 该文件将包含三个文件 , 即训练 , 测试和样品提交 。
下一步将在Google Colab Notebook中介绍 , 你可以从以下链接打开和克隆该Notebook:
或者如果你想在本地或其他平台上下载并运行该Notebook , 请从以下GitHub链接下载该Notebook:Jupyter 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()以查看数据集中的列 。
使用机器学习数据集构建销售预测Web应用程序文章插图
从数据框中 , 我们可以看到目标列是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获得的一些见解是:


推荐阅读