一种用户游戏内付费预测方法与流程

文档序号:17730449发布日期:2019-05-22 02:48阅读:1279来源:国知局
一种用户游戏内付费预测方法与流程

本发明涉及用户游戏付费预测方法,特别是涉及一种基于smote和xgboost的用户游戏内付费预测方法。



背景技术:

根据几项预测,手机游戏行业的贡献将会越来越大,到2020年,其市场份额将接近35%。因此,游戏应用(app)提供商需要知道如何设计符合消费者需求的产品,如何持续使用,以及如何在应用内购买。特别是应用内购买是主要的收入模式。根据几项调查,在所有类型的应用(app)中,游戏app的收入增长率是最大的。世界上最畅销的10大应用软件,几乎都是免费游戏,其利润来自广告和应用内购买。综上所述,游戏内购买已经成为的主流收入模式。游戏应用程序制造商需要了解哪些因素影响用户的内购行为。因为在游戏中如果用户同意产品和服务消费,可以为企业带来持续的利润。

近十年来,与游戏app相关的话题也吸引了一些学术研究兴趣。例如手机游戏在无线网络环境使用的决定因素研究已经成熟。手机游戏行业面临的挑战和营销政策也被广泛研究。并且手机app的成功的关键因素、玩家愿意使用社交游戏app的决策因素、消费者的持续使用移动支付的内涵均有针对话分析和决策。由于游戏数据的宝贵价值,目前在游戏数据预测消费行为方面形成了行业壁垒。现有的文献大多只关注社交媒体或游戏设计观点。只有少数研究涉及到游戏内购买问题。目前常用于游戏用户付费行为预测的数据基础模型涵盖方差分析、因子分析、回归分析、主成分分析、聚类分析、逻辑回归、用户细分等等。显然这些方法不是很理想难以满足现实需求。



技术实现要素:

本发明所要解决的技术问题是提供一种用户游戏内付费预测方法,能根据用户在游戏内的行为数据快速准确的判断出用户是否会消费,从而提升游戏厂商的经济效益。

本发明解决其技术问题所采用的技术方案是:提供一种基于smote和xgboost的用户游戏内付费预测方法,包括以下步骤:

(1)清洗数据样本:把游戏内用户数据整理成易于建模的类型;

(2)对用户是否有过消费行为进行编码;

(3)采用smote算法补充正样本,即通过筛选特征的方式添加正样本数量;

(4)选取合适的树的深度及其他参数,建立xgboost训练模型;

(5)把数据样本中的数据放到建立的xgboost训练模型中进行训练;

(6)将未进行训练的数据进行检测并测试模型效果,判断用户是否会在游戏内付费。

所述步骤(1)中清洗数据样本是指对用户在游戏内各种行为记录做筛选及处理,具体包括:补零、把日期换成天数和剔除异常数据的方式对数据格式进行清理,然后筛选出能够用来作为训练样本的数据。

所述步骤(2)中的编码方式为:0代表用户无消费,1代表用户在游戏内消费,2代表用户只消费一次,3代表用户消费两次以上。

所述步骤(3)中筛选的特征包括:钻石消耗次数、钻石消耗数量、金币消耗次数、金币消耗数量、玩家在线时长、玩家周登陆次数、主动发起挑战次数和挑战胜率。

所述步骤(3)中smote算法补充正样本的具体步骤如下:

(a)从全部的t个少数类样本中找到样本xi的k个近邻,记为

(b)从k个近邻中随机选取一个样本生成一个0~1的随机数ξ1,合成一个新样本xil,

(c)将步骤(b)重复n次,合成n个新样本xi(new),new∈{1,...,n}。

所述xgboost训练模型为其中,f={f(x)=wq(x)},f对应所有回归树的集合,ti代表第i个特征,fk是f中的一棵树,每一棵树对应一个独立的叶子权重w和树结构q;目标函数obj(θ)=l(θ)+ω(θ),其中,l(θ)为误差函数,ω(θ)为正则项,对于误差函数部分采用增量训练,通过对平方误差泰勒展开二次项,带入正则项得到最终目标函数;在进行树的分裂,采用贪心生长树的方法遍历所有特征找到最优的特征分裂,到达一定深度或不能再分裂时停止,基于目标函数值比较分裂前后的最小目标函数值,增益最大的点为最优点,对应特征为最优特征。

所述步骤(5)中训练时,利用贪心策略及二次最优化确定最优节点及最小的损失函数,并以此为依据进行树分裂,得到小树苗,按照贪心生长树的方法分裂形成新树,根据之前的预测每次都会建立最优的树,当达到最大深度时停止迭代。

有益效果

由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明对用户行为数据进行整理,然后筛选特征向量,smote补充正样本后用xgboost模型进行训练和学习,再用原先采集的部分有效数据进行验证,用来检验所建立的xgboost模型的合理性。本发明经smote算法补充正样本,xgboost算法在处理高维稀疏矩阵时准确率有大幅度提升。本发明能够准确的判断出用户是否会在游戏内付费,从而为游戏厂商筛选出潜在付费用户,具有较高的实用价值。

附图说明

图1是本发明的流程图;

图2是本发明中xgboost算法的流程图。

具体实施方式

下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。

本发明的实施方式涉及一种基于smote和xgboost预测用户游戏内付费方法,如图1所示,包括以下步骤:

(1).整理数据样本:对用户在游戏内各种行为记录做筛选及处理。

对数据格式进行清理,使之方便做模型训练。其中包括但不限于补零、把日期换成天数、剔除异常数据,然后筛选出能够用来作为训练样本的数据。

(2).对用户是否有过消费行为进行编码:0代表用户无消费,1代表用户在游戏内消费,2代表用户只消费一次,3代表用户消费2次及2次以上;

(3).smote算法补充正样本:筛选合适的特征,添加合理的正样本数量,易于训练;

筛选的特征分别为:钻石消耗次数、钻石消耗数量、金币消耗次数、金币消耗数量、玩家在线时长、玩家周登陆次数、主动发起挑战次数、挑战胜率。

其中smote算法补充正样本的过程为:

a)首先从全部的t个少数类样本中找到样本xi的k个近邻,记为

b)然后从k个近邻中随机选取一个样本生成一个0~1的随机数ξ1,合成一个新样本xil,

c)将步骤b)重复进行n次,从而可以合成n个新样本xi(new),new∈{1,...,n}。对全部的t个少数类样本进行上述操作,便可为该少数类合成nt个新样本。

(4)建立xgboost模型:选取合适的树的深度及其他参数建立训练模型。

xgboost最根本就是由决策树集成而来,因此树模型写成:

其中,f对应所有回归树的集合,ti代表第i个特征,每个f是树空间f的一棵树,每一棵树对应一个独立的叶子权重w和树结构q。此时需要引入目标函数:

obj(θ)=l(θ)+ω(θ)

l(θ)部分为误差函数,表示模型拟合数据的程度,ω(θ)表示正则项,是所有正则化项累加和,用来处理复杂模型,对复杂模型进行简单化处理。对于模型误差部分用增量训练,通过对平方误差泰勒展开二次项,带入正则化项得到的最终目标函数为:

其中的γ和λ是xgboost自定义的,显然γ和λ越大,表示希望获得更简单的树,这样处理能很清楚的理解这个目标,obj(t)分数越小表示生成的树的结构越好。至此树的类型已经能够确定,接下来需要进行树的分裂,采用贪心生长树的方法,遍历所有特征,从而找到最优的特征分裂,到达一定深度或不能再分裂时停止,基于目标函数值比较分裂前后的最小目标函数值,增益最大的点为最优点,对应特征为最优特征。

(5)训练xgboost模型:把步骤(3)中的数据放到步骤(4)中建立的网络进行训练:

xgboost最根本的就是希望建立k棵回归树,使得准确率高、泛化性好、预测误差尽量小,叶子节点尽量少的目标函数才能训练出更好的模型。如图2所示,利用贪心策略及二次最优化确定最优节点及最小的损失函数,以此为依据进行树分裂,得到小树苗,接下来按照上述方式继续分裂,并继续形成新树,根据之前的预测每次都会建立最优的树,当达到最大深度时停止迭代;此时我们得到了最基本的模型,之后使用栅格搜索等方法对几种参数进行优化,从而分析数据。

(6)测试网络:将未进行训练的数据进行检测并测试模型预测效果,判断用户是否会为游戏付费,以及用户消费水平。

不难发现,相比于传统的游戏内付费用户预测方法,本发明利用xgboost对高维稀疏矩阵预测的准确性,能够准确的预测出用户是否会在游戏内付费,从而为游戏公司筛选高回报用户,具有较高的实用价值。

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