一种商业分析管理推荐预测模型的方法及系统与流程

文档序号:17743726发布日期:2019-05-24 20:26阅读:240来源:国知局
一种商业分析管理推荐预测模型的方法及系统与流程

本发明涉及一种商业分析管理推荐预测模型的方法及系统,属于计算机领域。



背景技术:

随着品牌、商品与服务扩生产到不只一项内容时,产品信息逐步呈现出多样化,随着社会媒体网站等各种线上平台的深入,线上线下数据成为商家决策的主要数据来源,例如,对于酒店及度假村管理业,这些信息有可能包括顾客对房间、服务、公共设施、餐厅、购物等多项指标的满意度;对于零售行业,这些信息有可能包含酒水、日用品、膨化食品等各种类商品,甚至可以细化至不同特定品牌的各类商品;对于物流行业,这些信息有可能是同一类货品在同一时间段对于不同地区的运输需求。如何有效的利用整合数据,挖掘有用信息,随时为不同商家和管理者定制合理科学的决策推荐,是本发明的主要目的。例如,对于酒店行业,推荐内容可为,为提高酒店的整体经济收益,该酒店最应关注的方面是房间质量,其次是服务于食品,为提高顾客对房间质量的口碑,最应关注的是服务态度与酒店整体的宣传,又或者是购买百事可乐以提高中国内地游客对食品的满意度;对于商品零售业,商家将粉笔与床单打包销售,有助于提高商家整体的收益水平;对于物流行业,对于易碎品的打包运输路线可以从江西到福建再到广州会比较节约成本。

不仅如此,由于数据的多样性,数据的巨量性,单机运算机器学习模型速度过慢,且容易造成cpu通道堵塞与cpu资源浪费,因此,面对海量复杂的数据源,充分利用多核cpu,进行多核线程并行计算。

当下大部分的推荐系统都是针对客户进行合理的商品服务推荐,而对于推荐系统应用在管理者的商品决策却并不多见。传统的商家关联分析系统,只能提供证据支持,对于数据量较大的数据库分析速度较慢,且无法真正做到智能推荐与预测。而仅仅使用机器学习,又将无法做到对管理者提供数字上有理有据的推荐缘由,且很有可能忽略了可能关联项组合,从而无法更有效全面的进行决策推荐。不仅如此,传统的推荐系统或者商业分析模型忽视了有可能存在的主观因素,例如,本批客户是乐观主义派,其对该商品的评价普遍偏高。因此,所提供的商业分析结果准确性较差。



技术实现要素:

本发明提供了一种商业分析管理推荐预测模型的方法及系统,通过使用误差平衡函数对原始数据进行预处理,接着应用python编写基于多线程并行计算的ariori相关性测量算法,结合线性代数计算两向量的相关性法则,将同一事件不同纬度的向量之间进行相关性分析。同时,基于多线程并行计算,本发明使用xgboost机器学习算法训练原始数据集,并得到预测结果线程并行计算本发明建立arima建立时间序列预测模型,并将原始数据作为输入至机器学习模型中,分别选取部分数据进行训练与测试,从而快速有效的为管理者提供实时预测。此外,考虑到在相关性计算过程所输入的数据可能存在主观因素或环境因素所造成的误差,本发明相关性分析过程中,引入一个误差函数,已协调平衡商品本身与评论顾客的主观因素,以及涉及到的环境影响因素。

本发明的技术方案包括一种商业分析管理推荐预测模型的方法,其特征在于,所述方法包括以下步骤:s100,根据商业管理的决策管理者采集相应的数据;s200,对采集数据进行预处理,进一步,使用误差函数平衡数据偏差;s300,创建离散原始数据集,使用多线程基于ariori算法及xgboost机器学习算法并行计算多个原始数据集,得到多个维度系数输出结果;s400,对所述步骤s300输出的结果进行整合,将整合结果作为衡量指标对推荐条例进行提炼;s500,将所述步骤s400提炼的推荐条例进行展示,进一步,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准;s600,使用多线程并行计算对原始数据的多个维度系数使用arima机器学习时间序列算法进行预测,输出结果并进行可视化展示。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s100中采集相应的数据具体包括:数据爬取或从指定的数据库进行读取,其中获取的数据包括但不限于符合要求的相关结构式数据。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s200具体包括:s201,对采集数据中的缺失值使用平均值替代,以及删除重复值;s202,使用误差函数γ[i,x]=μ+bx+bi+qi*px平衡客观因素与环境因素所造成的数据偏差,其中μ为市场均值,bx为用户带来的主观偏差,bi为商品所带来的偏差,qi*px为交互关系偏差。

根据所述的商业分析管理推荐预测模型的方法,其中所述步骤s300具体包括:s301,将采集数据进行离散化,得到多个原始数据集;s302,将多个原始数据集使用多线程并行计算支持度系数及可信度系数,筛选出符合支持度及可信度阈值的数据;s303,基于ariori算法计算法则对所述步骤s302输出的数据集进行维度之间的相关系数进行计算,对相关系数进行增值处理并相关计算所有相关系组合的数平均相关系数,其中相关系数组合为至少两个相关系数的组合;s304,使用xgboost梯度提升算法对平均相关系数的每个维度进行处理,得到维度之间的重要性指数;s305,对所述步骤s301~s304得到的支持度系数、相关性系数及重要性系数整合为关系衡量指标。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s302具体包括:第一子生成数据集及关系组合,并发送至第二子线程;第二子线程计算文本文件所有维度之间的支持度相关性与可信度相关性,并发送至第三子线程;第三子线程根据预设的对应支持度相关性与可信度的阈值,筛选出大于该阈值的组合,并通过父线程进行输出。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s302均相关系数具体为:

其中x,y为不同项集。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s305具体包括:使用r(i,x)=[s(i,x)-ν]+[r(i,x)-ν]+[i(i,x)-1]计算关系衡量指标,将可信度指标离散为0和1;当时,c(i,x)=1;当时,c(i,x)=0;其中s(i,x)为支持度系数,r(i,x)为相关性系数,i(i,x)重要性系数,r(i,x)为关系衡量指标,c(i,x)为可信度系数。

根据所述的商业分析管理推荐预测模型的方法,其中步骤s600具体包括:使用子线程将原始数据在各个维度上进行一阶求导,将其用折线图可视化,如果得到的图像较为平缓,则无需在求导,否则进行更高阶的求导;计算求导后函数自相关函数,偏自相关函数并可视化,得到决定参数;将原始数据的各个维度数据集输入到arima时间序列中,对各个维度上的时间序列预测。

本发明的技术方案还包括一种用于实现上述任意权方法的商业分析管理推荐预测模型的系统,该系统包括:数据采集模块,用于根据商业管理的决策管理者采集相应的数据;数据预处理模块,用于对采集数据进行预处理,进一步,使用误差函数平衡数据偏差;相关性计算模块,用于创建离散原始数据集,使用多线程基于ariori算法及xgboost机器学习算法并行计算多个原始数据集,得到多个维度系数输出结果;衡量指标提炼模块,用于对所述相关性计算模块输出的结果进行整合,将整合结果作为衡量指标对推荐条例进行提炼;推荐条例展示模块,用于将所述衡量指标提炼模块提炼的推荐条例进行展示,进一步,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准;预测模块,用于使用多线程并行计算对原始数据的多个维度系数使用arima机器学习时间序列算法进行预测,输出结果并进行可视化展示。

根据所述的商业分析管理推荐预测模型的系统,其中相关性计算模块具体包括:数据离散化模块,用于将采集数据进行离散化,得到多个原始数据集;ariori相关性计算模块,用于将多个原始数据集使用多线程并行计算支持度系数及可信度系数,筛选出符合支持度及可信度阈值的数据;相关系数计算模块,基于ariori算法计算法则对所述ariori相关性计算模块输出的数据集进行维度之间的相关系数进行计算,对相关系数进行增值处理并相关计算所有相关系组合的数平均相关系数,其中相关系数组合为至少两个相关系数的组合;xgboost相关性计算模块,使用xgboost梯度提升算法对平均相关系数的每个维度进行处理,得到维度之间的重要性指数;相关性计算结果整合模块,根据所述数据离散化模块、ariori相关性计算模块、相关系数计算模块及xgboost相关性计算模块得到的支持度系数、相关性系数及重要性系数整合为关系衡量指标。

本发明的有益效果为:针对决策管理者,制定商业分析推荐系统;引入一个平衡误差函数进行数据预处理,已协调平衡商品本身与评论顾客的主观因素,以及涉及到的环境影响因素;结合数据科学,应用线性代数相关性、apriori推荐算法以及xgboost机器学习对原始数据关联性分析,使得决策推荐有理有据;使用arima机器学习算法对数据进行过时间序列预测,为之后管理者操作提供趋势预测与推荐措施实施结果检验;将整个分析系统一体化,从数据输入到最终推荐条例给出、每条推荐的数据支持,以及时间序列预测结果的;本发明对apriori模型、xgboost算法以及arima与猜测模型在多核线程并行基础上做以优化升级,实现cpu资源的充分利用,以及对海量数据运算速度的提升。

附图说明

图1所示为根据本发明实施方式的方法总体流程图;

图2所示为根据本发明实施方式的系统结构框图;

图3所示为根据本发明实施方式的总体示意图;

图4所示为根据本发明实施方式的apriori相关性并行计算示意图;

图5所示为根据本发明实施方式的xgboost相关性并行计算示意图;

图6所示为根据本发明实施方式的时间序列预测并行计算示意图;

图7所示为根据本发明实施方式的apriori所得到相关性组合的重要性系数图。

具体实施方式

本发明的技术方包括一种商业分析管理推荐预测模型的方法及系统,涉及数据的相关性分析及机器学习、推荐系统与预测模型。以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本公开中所使用的上、下、左、右等描述仅仅是相对于附图中本公开各组成部分的相互位置关系来说的。在本公开中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本发明。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。

应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本公开范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。本文所提供的任何以及所有实例或示例性语言(“例如”、“如”等)的使用仅意图更好地说明本发明的实施例,并且除非另外要求,否则不会对本发明的范围施加限制。

图1所示为根据本发明实施方式的方法总体流程图。其具体包括:s100,根据商业管理的决策管理者采集相应的数据;s200,对采集数据进行预处理,进一步,使用误差函数平衡数据偏差;s300,创建离散原始数据集,使用多线程基于ariori算法及xgboost机器学习算法并行计算多个原始数据集,得到多个维度系数输出结果;s400,对所述步骤s300输出的结果进行整合,将整合结果作为衡量指标对推荐条例进行提炼;s500,将所述步骤s400提炼的推荐条例进行展示,进一步,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准;s600,使用多线程并行计算对原始数据的多个维度系数使用arima机器学习时间序列算法进行预测,输出结果并进行可视化展示。

图2所示为根据本发明实施方式的系统结构框图。其具体包括:数据采集模块,用于根据商业管理的决策管理者采集相应的数据;数据预处理模块,用于对采集数据进行预处理,进一步,使用误差函数平衡数据偏差;相关性计算模块,用于创建离散原始数据集,使用多线程基于ariori算法及xgboost机器学习算法并行计算多个原始数据集,得到多个维度系数输出结果;衡量指标提炼模块,用于对所述相关性计算模块输出的结果进行整合,将整合结果作为衡量指标对推荐条例进行提炼;推荐条例展示模块,用于将所述衡量指标提炼模块提炼的推荐条例进行展示,进一步,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准;预测模块,用于使用多线程并行计算对原始数据的多个维度系数使用arima机器学习时间序列算法进行预测,输出结果并进行可视化展示。

图3所示为根据本发明实施方式的总体示意图。具体如下:

(1)原始数据输入,使用pymysqlpython模块将python编译平台与mysql管理界面相连接,并利用sql命令行从sql数据库中提取商品、服务、商家、品牌相关结构式数据。例如:顾客对商品的购买情况;顾客对商品不同属性(颜色、材质等)的评价分数。

(2)数据预处理,使用平均值代替缺失值,删除重复值等。利用误差函数(1),平衡客观因素与环境因素所造成的数据偏差,其中γ(i,x)为处理所得数据,μ为市场均值,bx为用户带来的主观偏差,bi为商品所带来的偏差,qi*px为二者交互关系偏差。例如:某地区三星级酒店网上评价普遍为(均值)3.4分(μ=+3.4),某客户为该地区某三星级酒店的7级会员(qi=+0.7)(共10级),该酒店为该客户做了免费房务升级(px=+1)(有互动记为1,无互动记为0),该客户给此酒店打分高于0.5分(bx=+0.5),但是该酒店打分平均值低于μ1分(bi=-1)。由此,最终该顾客打分γ(i,x)=3.4+0.5-1+0.7*1=3.6分.

γ(i,x)=μ+bx+bi+qi*px(式1)、

(3)基于多线程并行计算的apriori相关性分析

图4所示为根据本发明实施方式的apriori相关性并行计算示意图。如图4所示,均在linux或者unix系统上进行,由fork函数缓存子线程与父线程。

数据离散化模块:将连续数据集γ离散化,并建立多个原始数据集。例如,子线程一:将(0,1]内的连续数据离散为1,其他作为0,作为第一个数据集;子线程二:将(1,2]内的连续数据作为1,其他为0,作为第二个数据集;子线程m:将(m-1,m]的连续数据作为1,其他为0,作为第m个数据集。子线程同时进行,节约时间,使用wait函数进行先后顺序操作,先进性子线程后进行父线程,最终,父线程中合并m个数据集,记作输入数据m,并使用保护进程,保证父进程在程序关闭后仍顺利进行。

在apriori相关性计算模块,本发明使用python编写并建立基于多线程并行计算的apriori相关性计算模型。子线程一主要目的在于生成数据集及关系组合;子线程二用于计算文本文件所有维度之间的支持度相关性与可信度相关性;子线程三是根据实际情况设定有关支持度与可信度的阈值τ和μ,筛选出大于该阈值的组合。假设有n个维度,三个线程工作模式如图2所示,子线程一中,原始数据m每个项均为候选项,生成项数为1的不重复候选1项集c1,每生成一项,该项通过管道pipe_c1传递到子线程二,子线程二在接收到想数为2的候选组合项数集时,返给子线程一signal_0的“0”信号,通过控制wait以及传递信号“0”或者“1”来控制两线程的进行,及通过wait函数控制线程二在子线程一接收到pipe之后进行,通过signal_0和wait函数控制子线程一在接收到子线程二后停止。同样的,子线程二通过管道pipe_sc1将c1组合的可信度c_1和支持度s_1传递给子线程三,通过控制wait以及传递信号“0”或者“1”来控制两线程的进行。子线程三与子线程一之间同样是相同的方式传递pipe_l1以及信号signal_1,来传递数据集l1以及传递信号“1”与wait函数一同启动子线程一。最终,l(n-1)中各项均为候选集,线程一产生项数为n的不重复组合,线程二计算各组合的可信度与支持度,线程三筛选出大于阈值的组合,线程以此当最终得到数据集ln由父线程输出。

apriori算法用于两个或多个维度相关性计算,其实现是通过计算两个或多个事件同时发生的概率(支持度系数),与单个事件发生前提下,另一个事件发生的概率(可信度系数)。并计算可信度系数均值ū,及支持度系数均值v。其实际意义在于:a事件为顾客购买a类商品,b事件为顾客购买b类商品,则a=>b的apriori的结果中,当可信度系数c(i,x)大于ū时,支持度系数s(i,x)越大,事件a的发生越容易提高事件b的发生率,及决策者需要促进a的销售以带动b的销售;当可信度系数小于ū时,支持度系数越大,事件a的发生越容易降低事件b的发生率,二者可能是竞争关系或者是可以合并考虑的商品,及决策者可以考虑将二者打包销售。

(4)相关系数计算

本发明利用python数组相关性计算得出两两维度之间的相关性,相关系数г(i,x)越大,两维度之间联系越紧密。由此,对上述结果进行增值处理,及计算所有相关组合的平均相关系数ν。

(5)基于多线程并行计算的xgboost相关性分析,其中图5所示为根据本发明实施方式的xgboost相关性并行计算示意图。

为得到各个维度之间的相关性,并提高运行速度,本发明采用多线程并行运算的xgboost机器学习算法进行计算。通过xgboos梯度提升算法,对各个维度进行计算,此模型中共有8个子线程,每个线程都是对每个维度进行xgboost处理,选取80%数据作为训练集,20%作为测试数据,每条线程在xgboost提升树被创建后,可以相对直接地得到每个属性的重要性得分,及重要性分数,该分数衡量了特征在模型中的提升决策树构建中价值。一个属性越多的被用来在模型中构建决策树,它的重要性就相对越高。属性重要性是通过对数据集中的每个属性进行计算,并进行排序得到。在单个决策中通过每个属性分裂点改进性能度量的量来计算属性重要性,由节点负责加权和记录次数。也就说一个属性对分裂点改进性能度量越大(越靠近根节点),权值越大;被越多提升树所选择,属性越重要。性能度量可以是选择分裂节点的gini纯度,也可以是其他度量函数。最终将一个属性在所有提升树中的结果进行加权求和后然后平均,得到重要性得分。

整个并行计算在linux或者unix系统上进行,由fork函数缓存子线程与父线程。如图5所示,本发明采用xgboostpython程序包,通过调参得到各维度的影响重要性系数,子线程是以某一维度为结果,其他为影响因子,将结果数据集离散成两个区间,记为”1”和“0”。得到结果与影响因子之间的的影响重要性系数i(i,x)并排序。通过wait函数使得父进程在子进程之后发生,子进程所得到的数据集通过pipe传递于父进程,父进程将各维度之间的重要性系数汇总,对应计算apriori所得到相关性组合的重要性系数。(若有三个维度,则求解两两重要性均值),并计算所有组合重要性系数均值ī。此外,本发明对于父进程做以守护,保证子进程结束后,父进程能够仍然在后台进行完全。

(6)相关性计算结果整合模块

将支持度系数s(i,x),相关性系数r(i,x),重要性系数i(i,x)用以下公式整合为一个关系衡量指标r(i,x),将可信度指标离散为“0”和“1”。

r(i,x)=[s(i,x)-v]+[r(i,x)-ν]+[i(i,x)-ī](4)

如果c(i,x)>ū,c(i,x)=1;

如果c(i,x)<ū,c(i,x)=0;(5)

(7)推荐条例提炼模块

对于i,x组合,c(i,x)=1时,i与x成正比关系,决策者通过推动i以发展x,r(i,x)越大,此正比关系越强烈;c(i,x)=0时,i与x成竞争关系,决策者通过i与x的绑定销售已达到两者同步发展,r(i,x)越大,此竞争关系越强烈。

(8)推荐条例展示与有效性衡量模块

图6所示为根据本发明实施方式的时间序列预测并行计算示意图。将推荐条例按照管理者要求排序展示,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准。例如:管理者也要要求是推动超市生鲜食品的快速销售,通过以上模块计算,r(i,生鲜食品)中,r(方便面,生鲜食品)最高,且c(方便面,生鲜食品)=0,及为了推动生鲜食品,将方便面和生鲜食品打包销售最有利于推动生鲜食品的销售;且对于生鲜食品为结果,其他维度为影响因子的xgboost机器学习模型,准确度为97%,则该推荐条例——方便面、生鲜食品打包销售以推动生鲜食品销售——的有效性为97%。

(9)基于多线程并行计算的时间序列预测模块,在linux或者unix系统中,通过pythonfork模块对子、父线程缓存备份,然后子线程的目的在于得到所有维度的时间序列预测值,父线程则负责预测结果的输出与可视化。子线程中,本发明使用arima机器学习时间序列算法,将γ在各个维度上进行一阶求导(根据实际情况有可能进行二阶求导或更多阶求导),将其用折线图可视化,如果得到的图像较为平缓(均值较为集中),则无需在求导,否则进行更高阶的求导;计算求导后函数自相关函数(acf),偏自相关函数(pacf)并可视化,决定参数;将原始数据的各个维度数据集输入到aeima时间序列中,并实现各个维度上的时间序列预测。

本发明的技术方案具体地公开了一种较为详细的实施方案,具体如下:

(1)本实例采用网络爬虫技术将某超市2015-2018年8类商品周销量,并存储在sql数据库,使用pycharm编译器编写python程序,导入pymysql模块并连接本地sql数据库读取数据。

(2)数据预处理模块:将数据进行平衡误差处理,i商品的市场平均周销量μ,主观误差bx(i商品第x周购买数量-μ),商品误差bi(商品第x周购买数量-μ),交互关系偏差qi*px(如果i商品第x周有3天在促销活动,则关系偏差为3/7),γ(i,x)=μ+bx+bi+qi*px(1)。

(3)在linux4核操作系统上建立多线程并行计算模型一——apriori相关性分析:,8条子线程分别对数据进行扫描离散成8个数据集,每扫描到一个在制定区间的数据就通过管道输入到父线程:(0,100],(100,200],(200,300],(300,400],(400,500],(500,600],(600,700],(700,800],父线程接收到子线程的数据并输出存储到sql数据库中作为m。

(3)本发明使用python编写并建立基于多线程并行计算的apriori相关性计算模型。子线程一主要目的在于生成数据集及关系组合;子线程二用于计算文本文件所有维度之间的支持度相关性与可信度相关性;子线程三是根据实际情况设定有关支持度与可信度的阈值τ和μ,筛选出大于该阈值的组合。共有8个维度,子线程一中,原始数据m每个项均为候选项,生成项数为1的不重复候选1项集c1,每生成一项,该项通过管道pipe_c1传递到子线程二,子线程二在接收到项数为2的组合项时,返给子线程一signal_0的“0”信号,通过控制wait以及传递信号“0”或者“1”来控制两线程的进行,及通过wait函数控制线程二在子线程一接收到pipe之后进行,通过signal_0和wait函数控制子线程一在接收到子线程二后停止。同样的,子线程二通过管道pipe_sc1将c1组合的可信度c_1和支持度s_1传递给子线程三,通过控制wait以及传递信号“0”或者“1”来控制两线程的进行。子线程三与子线程一之间同样是相同的方式传递pipe_l1以及信号signal_1,来传递数据集l1以及传递信号“1”与wait函数一同启动子线程一。最终,l(n-1)中各项均为候选集,线程一产生项数为8的不重复组合,线程二计算各组合的可信度与支持度筛选出大于阈值的组合,线程以此当最终得到数据集ln由父线程输出并排序。例如:生成项数为二的候选2项集“生鲜食品→方便食品”∈c_2,通过管道pipe_2同信号singal_1一同传递给子线程二,子线程二计算该项组合可信度c(生鲜食品,方便食品)与支持度s(生鲜食品,方便食品),通过管道pipe_sc2同信号singal_1一同传递给线程三,c(生鲜食品,方便食品)>μ,且s(生鲜食品,方便食品)>τ,则将“生鲜食品→方便食品”作为l2的子集通过pipe_l2,与signal_1一起传递给线程一,同时存放到父线程中输出“生鲜食品→方便食品”、c(生鲜食品,方便食品)、s(生鲜食品,方便食品)存储到数据库,线程一开始扫描并建立项数为3的组合,如“生鲜食品→方便食品→日常用品”。最后,在完成项数为8的组合后,母线程对所有组合针对支持度s(x,i)进行排序。

(3)通过计算组合两两维度之间的相关性r(i,x),最终求平均值作为该组合各项之间相

关性。例如:

r(生鲜食品,方便食品,日常用品)=[r(生鲜食品,日常用品)+r(生鲜食品,方便食品)+r(方便食品,日常用品)]/3。

通过xgboos梯度提升算法,对各个维度进行计算,此模型中共有8个子线程,每个线程都是对每个维度进行xgboost处理,选取80%数据作为训练集,20%作为测试数据,每条线程在xgboost提升树被创建后,可以相对直接地得到每个属性的重要性得分,及重要性分数,该分数衡量了特征在模型中的提升决策树构建中价值。一个属性越多的被用来在模型中构建决策树,它的重要性就相对越高。属性重要性是通过对数据集中的每个属性进行计算,并进行排序得到。在单个决策中通过每个属性分裂点改进性能度量的量来计算属性重要性,由节点负责加权和记录次数。也就说一个属性对分裂点改进性能度量越大(越靠近根节点),权值越大;被越多提升树所选择,属性越重要。性能度量可以是选择分裂节点的gini纯度,也可以是其他度量函数。最终将一个属性在所有提升树中的结果进行加权求和后然后平均,得到重要性得分。整个并行计算在linux或者unix系统上进行,由fork函数缓存子线程与父线程。如图5所示,本发明采用xgboostpython程序包,通过调参得到各维度的影响重要性系数,子线程是以某一维度为结果,其他为影响因子,将结果数据集离散成两个区间,记为”1”和“0”。得到结果与影响因子之间的的影响重要性系数i(i,x)并排序。通过wait函数使得父进程在子进程之后发生,子进程所得到的数据集通过pipe传递于父进程,父进程将各维度之间的重要性系数汇总,对应计算apriori所得到相关性组合的重要性系数。(若有三个维度,则求解两两重要性均值),并计算所有组合重要性系数均值ī。此外,本发明对于父进程做以守护,保证子进程结束后,父进程能够仍然在后台进行完全。如,线程一以总销量为预测值,求其平均值,大于销量平均值记为1,小于销量平均值为0,得到的属性重要性如图7所示:

(5)求关系衡量指标关系衡量指标r(i,x),将可信度指标离散为“0”和“1”

r(i,x)=[s(i,x)-v]+[r(i,x)-ν]+[i(i,x)-ī](4)

如果c(i,x)>ū,c(i,x)=1;如果c(i,x)<ū,c(i,x)=0;

(7)推荐条例提取;对于i→x组合,c(i,x)=1时,i与x成正比关系,决策者通过推动i以发展x,r(i,x)越大,此正比关系越强烈;c(i,x)=0时,i与x成竞争关系,决策者通过i与x的绑定销售已达到两者同步发展,r(i,x)越大,此竞争关系越强烈。

(8)将推荐条例按照管理者要求排序展示,将xgboost机器学习算法所得到的准确度系数作为有效性衡量标准。例如:管理者也要要求是推动超市生鲜食品的快速销售,通过以上模块计算,r(i,生鲜食品)中,r(方便食品,生鲜食品)最高,且c(方便食品,生鲜食品)=0,及为了推动生鲜食品,将方便面和生鲜食品打包销售最有利于推动生鲜食品的销售;且对于生鲜食品为结果,其他维度为影响因子的xgboost机器学习模型,准确度为97%,则该推荐条例——方便面、生鲜食品打包销售以推动生鲜食品销售——的有效性为97%。

在linux或者unix系统中,通过pythonfork模块对子、父线程缓存备份,然后子线程的目的在于得到所有维度的时间序列预测值,父线程则负责预测结果的输出与可视化。子线程中,本发明使用arima机器学习时间序列算法,将γ在各个维度上进行一阶求导(根据实际情况有可能进行二阶求导或更多阶求导),将其用折线图可视化,如果得到的图像较为平缓(均值较为集中),则无需在求导,否则进行更高阶的求导;计算求导后函数自相关函数(acf),偏自相关函数(pacf)并可视化,决定参数;将原始数据的各个维度数据集输入到aeima时间序列中,并实现各个维度上的时间序列预测。最后获得各商品销量及总销量下一站预测值,用以今后验证推荐条例。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1