基于MaxCompute方案的TFI门店销量调研

摘要:TFI拥有全球超过1200家快餐店,是世界知名品牌之一的公司,分别是汉堡王,Sbarro,Popeyes,Usta Donerci和Arby。他们在欧洲和亚洲雇用了2万多人,并在开发新的餐馆方面进行了大量的日常投资。现在,决定何时何地开设新餐馆,主要是基于开发团队的个人判断和经验的主观过程。这个主观数据难以准确地推断出地域和文化。新的餐厅需要大量的时间和资金投入才能开始运作。如果选择餐厅的位置错误,将会导致营业亏损,并在18个月内关闭。现在TFI公布了其在土耳其地区所经营的137家餐厅开张一年以来的销量情况和餐厅的地理位置,所处地区的人口等等一系列进过隐藏处理过后的特征,通过学习这137家餐厅的数据来预测另外100000家餐厅的年度销量情况。

数据信息:
screenshot

利用所提供的数据,建立机器学习的模型,对每一家餐厅未来的年度销量情况进行预测。

一、销量预测架构
1.数据源:数据包括TFI集团旗下的餐厅数据构成的137条训练集和100000条测试集;
2.数据同步至阿里云:使用DataX工具将数据导入到在ODPS建立的表中;
3.流程计算:阿里云建立算法分析流程;
4.分析结果:对三个模型预测结果以及blending后的结果存储于表;
5.数据可视化展示:从数据库中读取结果数据进行可视化展示。

二、分析方法
screenshot
1.本文中的137条训练集和100000测试集来源于真实的TFI集团旗下的餐厅历年的经营情况的数据。
2.获得的数据导入阿里云数加平台,数据表包含有餐厅开张日期、餐厅坐落城市、坐落城市的类型、所在城市的人口统计数据、房产数据、商业数据、收入数据等字段。
3.在数加的算法平台上建立回归预测的算法流程如上图所示。
4.采用数加组件中的缺失值统计,对每条数据缺失比例进行统计,缺失比例离群的判断为离群点,将0值视为缺失值,并将缺失值使用分别用训练集和测试集各字段的均值人工合成填充。
5.将餐厅所在城市按经济层度标准合并为不同层级;餐厅的已经开张时间与销量并没有太大的关系,反而是餐厅开张的时间点很重要,所以这里提取开张的月份,哪一天,哪一个星期来作为特征;将坐落城市类型进行独热向量编码编码处理;对销量进行平衡处理,使用log(x+1)处理,将其数据分布变为近视的正态分布;最后将数值型的特征进行标准化既能加快模型的学习速度,也能将数据放入一个标准分布内,使得数据之间差距尽可能小。
6.将处理完毕的数据分别放入随机森林、L2正则的线性回归、xgboost中进行回归学习,并用网格搜索的方法调整各个模型的超参数使其达到最佳状态。
7.可视化展示,将流程计算的结果,进行可视化展示。

三、年度销量预测结果展示
将预处理后的数据分别放入随机森林、L2正则的线性回归、xgboost中进行回归学习,并用网格搜索的方法调整各个模型的超参数使其达到最佳状态。
调节L2正则的线性回归中惩罚项参数‘alpha’。

screenshot

screenshot

当alpha取值范围在0.001到100时,模型在验证集上的最小均方误差不断减小,在40以后基本维持不变;

screenshot

当alpha取值范围在20到60范围时,模型的最小均方误差持续减小,在60时达到最小,故L2正则的线性回归的正则化惩罚项的取值设置为60;

2.调节随机森林的的‘决策树’颗数,‘决策树’最大深度,‘叶子节点’最小个数等参数。

screenshot

决策树的颗数范围在10到70时,模型在验证集上的最小均方误差变化如上图;

screenshot

screenshot

决策树的颗数范围在1到20时,模型在验证集上最小均方模型变化如上图,在取值为10时,模型有最小均方误差,故将随机森林的决策树颗数设置为10颗;

screenshot

screenshot

决策树的最大深度在3-13时时,最小均方误差均维持不变,由此将决策树最大深度设置为3;

screenshot

screenshot

决策树的叶子节点最小个数取值范围在20到200时,随机森林的最小均方误差变化如上图所示

screenshot

screenshot

决策树的叶子节点最小个数取值范围在2到40时,随机森林的最小均方误差维持不变,故将决策树的叶子节点最小个数取值设置为2;

经过类似的调参过程,分别找到各模型的最优超参数,让其达到最好状态,并用其在测试集进行预测,预测结果可视化如下:

L2正则的线性回归在验证集上年度销量的预测结果

screenshot
screenshot

                                            MaxCompute最佳实践
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/147763

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。