掌桥专利:专业的专利平台
掌桥专利
首页

一种基于BP神经网络的游戏流失用户预测方法和系统

文献发布时间:2023-06-19 13:51:08


一种基于BP神经网络的游戏流失用户预测方法和系统

技术领域

本申请涉及游戏开发技术领域,特别是涉及一种基于BP神经网络的游戏流失用户预测方法和系统。

背景技术

随着电子竞技行业的发展,越来越多游戏出现,其中许多爆款游戏有大量的游戏玩家。游戏开发者希望延长玩家的游戏生命周期,为此希望能够根据玩家的行为来预测判断该玩家是否会流失。

在相关技术中,普遍采用人工统计分析的方法或者通过较为简单的机器学习进行流失预测。但是,采用人工统计分析方法,在用户基数较大时,存在效率低和人力成本较高的问题;采用简单机器学习进行流失预测的方法,也存在准确性和可扩展性较低的问题。

目前针对相关技术中无法准确高效的对游戏流失用户进行预测的问题,尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种基于BP神经网络的游戏流失用户预测方法、系统、和计算机设备,以至少解决相关技术中无法准确高效的对游戏流失用户进行预测的问题。

第一方面,本申请实施例提供了一种基于BP神经网络的游戏流失用户预测方法,所述方法包括:

通过数据库操作模块从游戏数据库中获取多个维度的第一用户记录数据;

通过预处理模块对所述第一用户记录执行格式转换和冗余剔除之后生成第二用户记录数据;

通过标签模块对所述第二用户记录数据添加流失标签或非流失标签;

基于所述第二用户记录数据进行模型训练得到BP神经网络模型;

通过所述BP神经网络模型预测游戏用户是否会流失,若是,将所述游戏用户添加至所述游戏数据库中的流失预测结果表。

在其中一些实施例中,所述基于所述第二用户记录进行训练得到BP神经网络模型包括:

按照预设比例,将所述第二用户记录数据划分为训练数据集和测试数据集;

基于所述训练数据集进行模型训练得到第一BP神经网络模型;

基于所述测试数据集对所述BP神经网络模型的预测效果进行测试;

在所述预测试的结果指示为合格的情况下,将所述第一BP神经网络模型保存为所述BP神经网络模型。

在其中一些实施例中,所述基于所述训练集数据进行模型训练得到第一BP神经网络模型包括:

初始化BP神经网络模型架构;

定义所述模型训练所需的训练参数;

依据所述训练参数,基于所述BP神经网络模型架构和所述训练集数据,进行模型训练得到所述第一BP神经网络模型。

在其中一些实施例中,所述训练参数包括:神经元数量、激活函数、优化器、批尺寸、学习率、正则化参数、最大迭代轮数、迭代判断参照值和预设收敛阈值,其中,所述神经元数量是所述BP神经网络模型的隐藏层的神经元数量。

在其中一些实施例中,所述依据所述训练参数,基于所述BP神经网络模型架构和所述训练集数据,进行模型训练包括:

采用自适应学习率的随机梯度算法作为所述优化器,以减少模型迭代收敛时间;

在计算所述批尺寸个样本之后,更新模型参数以加速模型收敛;

通过所述正则化参数惩罚偏离模型原点的权重;

在符合第一预设条件或第二预设条件的情况下,终止模型的迭代;其中,所述第一预设条件是:当前迭代的轮数等于所述最大迭代轮数,所述第二预设条件是:在当前迭代的损失函数相比上一轮迭代下降的数值小于或者等于所述迭代判断参照值。

在其中一些实施例中,所述第一用户记录数据包括:用户ID、用户级别、总在线时长、第一预设时间段在线时长、第一预设时间段登录天数、第一预设时间段登录次数、第二预设时间段在线时长、第二预设时间段登录天数、第二预设时间段登录次数、首次登录时间、最后登录时间、首次付费时间、最后付费时间、第一预设时间段付费次数、第一预设时间付费金额、第二预设时间段付费次数、第二预设时间段付费金额、是否为工作室用户、第一预设时间段游戏次数、第一预设时间段胜利次数、第一预设时间段游戏时长、第一预设时间段游戏天数、第二预设时间段游戏次数、第二预设时间段游戏时长和第二预设时间段游戏天数,其中,所述第一预设时间段包括且大于所述第二预设时间段。

在其中一些实施例中,所述通过预处理模块对所述第一用户记录数据执行格式转换包括:

将所述用户记录数据转换成为预设格式;

进行向量化表示,根据每个维度的缺失值对所述预设格式记录数据进行缺失值补充;

根据预设异常值判定规则修正所述预设格式记录数据中的异常值;

将所述用户记录数据中的整形数据转换为浮点型数据。

在其中一些实施例中,所述通过预处理模块对所述第一用户记录执行冗余剔除包括:

通过Python语言环境下的seaborn包获取所述用户记录数据在所有维度下的相关性热力图;

根据所述相关性热力图,确定相关性大于预设相关性阈值的维度数据之后,剔除其中的冗余维度数据。

第二方面,本申请实施例提供了一种基于BP神经网络的游戏流失用户预测系统,所述系统包括:数据库模块、预处理模块、标签模块和BP神经网络模型;

所述数据库操作模块用于从游戏数据库中获取多个维度的第一用户记录数据;

所述预处理模块用于对所述第一用户记录执行格式转换和冗余剔除之后生成第二用户记录数据;

所述标签模块用于对所述第二用户记录数据添加流失标签或非流失标签;

所述BP神经网络模型用于基于所述第二用户记录数据进行模型训练,以及预测游戏用户是否会流失,若是,将所述游戏用户添加至所述游戏数据库中的流失预测结果表。

第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的方法。

相比于相关技术,本申请实施例提供的基于BP神经网络的游戏流失用户预测方法,通过获取多个维度的用户记录数据,在对该用户记录数据进行格式转换、冗余剔除和标记之后,基于该用户记录数据进行模型训练得到BP神经网络模型,通过该神经网络模型进行游戏流失用户的预测。解决了相关技术中人工方法存在的人力成本高,效率低以及简单机器学习方法存在的准确性和可扩展性较低的问题,提升了用户流失预测的准确性和效率,同时也节约了人力成本。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种基于BP神经网络的游戏流失用户方法的应用环境示意图;

图2是根据本申请实施例的一种基于BP神经网络的游戏流失用户预测方法的流程图;

图3是根据本申请实施例的训练BP神经网络模型的流程图;

图4是根据本申请实施例的一种基于BP神经网络的游戏流失用户预测系统的结构框图;

图5是根据本申请实施例的电子设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

本申请实施例提供的一种基于BP神经网络的游戏流失用户预测方法,可以应用在如图1所示的应用环境中,图1是根据本申请实施例的基于BP神经网络的游戏流失用户方法的应用环境示意图。如图1所示,终端10与服务器11通过网络进行通信。用户通过终端10发送访问流量至服务器11,终端10上安装有各种类型的应用,如游戏应用。玩家在登录游戏应用之后,在终端10上会产生多个维度的用户记录数据。服务器11从终端10获取该用户记录数据,对该用户记录数据进行处理之后用于模型训练,得到BP神经网络模型。最后通过该神经网络模型对流失用户进行预测。需要说明的是,本实施例中的终端10可以是智能手机、平板电脑、台式电脑、笔记本电脑和智能可穿戴设备,服务器11可以是独立的服务器或者是多个服务器组成的集群。

本申请提供了一种基于BP神经网络的游戏流失用户预测方法,图2是根据本申请实施例的一种基于BP神经网络的游戏流失用户预测方法的流程图,如图2所示,该流程包括如下步骤:

S201,通过数据库操作模块从游戏数据库中获取多个维度的第一用户记录数据;该游戏数据库中存储有游戏用户自注册之后的所有相关数据,例如,登录信息、等级信息、经验信息、充值信息和好友信息等。另外,数据库操作模块由开发人员依据需求设计,属于本领域技术人员的惯用手段,例如,通过Python的configparser包读取ini配置文件中的数据库的参数,来实现读入用户记录表中的用户记录。需要说明的是,本申请实施例中基于多个维度的用户记录数据进行后续模型训练,能够得到具有较好效果的预测模型;

S202,通过预处理模块对第一用户记录执行格式转换和冗余剔除之后生成第二用户记录数据;需要说明的是,由于上述第一用户记录数据可能来源在不同的平台且并不能直接用于模型训练,因此,需要对该第一用户记录数据进行格式转换,包括:转换为可识别格式、向量化表示、缺失值补充、异常值修正和数据类型转换等。另外,冗余剔除是指,将相关性非常高的维度中一些不必要的维度剔除,以提升模型的训练效率;

S203,通过标签模块对第二用户记录数据添加流失标签或非流失标签;可选的,通过截止天数和流失判断天数结合的方式来添加流失标签或非流失标签,例如,第一用户记录数据的截止天数是第n天,流失判断天数为7,则可以将自n+1天至n+7天内登陆次数为0的用户标记为流失用户,反之,则标记为非流失用户;

S204,基于第二用户记录数据进行模型训练得到BP神经网络模型;需要说明的是,BP((Back Propagation,反向传播,简称为BP)神经网络算法是一种高准确率的分类算法,通过该算法进行模型训练可以迭代调整神经元的权值和阈值,使得网络预测的分类标签结果与实际数据的标签的误差平方和最小,从而模型普遍具有较好的训练效果;

S205,通过BP神经网络模型预测游戏用户是否会流失,若是,将游戏用户添加至游戏数据库中的流失预测结果表。其中,BP神经网络模型包括输入层、隐藏层和输出层,在实际预测过程中,该模型在输入层接收用户数据,在隐藏层进行分析预测,在输出层输出预测结果,该预测结果即指示该用户是否会成为流失用户。对于其中的流失用户,将其添加至游戏数据库中的流失预测记录表。

通过上述步骤S201至S205,相比较于相关技术中的游戏用户流失预测方法,本申请实施例中通过获取多个维度的用户记录数据,在对该用户记录数据进行格式转换、冗余剔除和标记之后,基于该数据进行模型训练得到BP神经网络模型,通过该BP神经网络模型进行流失用户的预测。通过本申请实施例,解决了相关技术中无法准确高效的对游戏流失用户进行预测的问题,提升了用户流失预测的准确性和效率,同时也节约了人力成本。

在其中一些实施例中,图3是根据本申请实施例的训练BP神经网络模型的流程图,如图3所示,该流程包括如下步骤:

S301,按照预设比例,将第二用户记录数据划分为训练数据集和测试数据集;其中,该训练集数据用于模型训练,该测试集数据用于在训练结束之后检测模型的预测效果。本实施例中,该预设比例可以是训练集7:测试集3;可选的,通过sklearn.model_selection.train_test_split对数据集进行划分;

S302,基于训练数据集进行模型训练得到第一BP神经网络模型;

S303,基于测试数据集对BP神经网络模型的预测效果进行测试;

S304,在测试的结果指示为合格的情况下,将第一BP神经网络模型保存为BP神经网络模型。

在其中一些实施例中,基于训练集数据进行模型训练得到第一BP神经网络模型包括:初始化BP神经网络模型架构;定义模型训练所需的训练参数,其中,该训练参数包括:神经元数量(hidden_layer_sizes)、激活函数(activation)、优化器(solver)、批尺寸(batch_size)、学习率(learning_rate)、正则化参数(alpha)、最大迭代轮数(max_ite)、迭代判断参照值(tol)和预设收敛阈值,其中,神经元数量为隐藏层神经元的数量。进一步的,激活函数可选为reluc,优化器可选为adam。另外,在定义学习率(learning_rate)时计算了模型更新参数时的步长大小,从而避免学习率设置过小导致的模型过拟合,或设置过大导致的收敛效果较差。

依据训练参数,基于BP神经网络模型架构和训练集数据进行模型训练,得到第一BP神经网络模型。可选的,通过调用python的sklearn.neural_network包的MLPClassifier,利用训练集进行模型训练。

在其中一些实施例中,依据训练参数,基于BP神经网络模型架构和训练集数据,进行模型训练包括:

采用自适应学习率的随机梯度算法作为优化器,以减少模型迭代收敛时间,另外,采用该优化器在针对更新方向变化较为频繁的参数,会对应的减少更新,对于更新方向比较一致的参数,则对应的增强更新,从而实现加速模型收敛;在计算批尺寸个样本之后,更新模型参数以加速模型收敛,其中,该批尺寸表示随机梯度下降的batch大小,即每计算迭代batch_size个样本,更新一次模型参数。由于在训练过程中,若每次都迭代整个样本集,再更新一次模型参数,时间比较长且针对大数据集,往往许多样本间比较相似,存在冗余计算,因此通过设置批尺寸可以减少模型训练时长,加速收敛。可选的,该批尺寸可以取值batch_size=64;

通过正则化参数惩罚偏离模型原点的权重;可选的,该正则化参数可取值为0.0001;

在符合第一预设条件或第二预设条件的情况下,终止模型的迭代;其中,第一预设条件是:当前迭代的轮数等于最大迭代轮数,第二预设条件是:在当前迭代的损失函数相比上一轮迭代的损失函数下降的数值小于或者等于或者等于迭代判断参照值。例如,当该迭代判断参照值设置过小时,则需要经过很多轮,才能达到损失函数下降至小于迭代判断参照值,此时就需要最大迭代轮数来提前终止模型训练过程,避免迭代时间过长。

在其中一些实施例中,第一用户记录数据包括:用户ID、用户级别、总在线时长、第一预设时间段在线时长、第一预设时间段登录天数、第一预设时间段登录次数、第二预设时间段在线时长、第二预设时间段登录天数、第二预设时间段登录次数、首次登录时间、最后登录时间、首次付费时间、最后付费时间、第一预设时间段付费次数、第一预设时间付费金额、第二预设时间段付费次数、第二预设时间段付费金额、是否为工作室用户、第一预设时间段游戏次数、第一预设时间段胜利次数、第一预设时间段游戏时长、第一预设时间段游戏天数、第二预设时间段游戏次数、第二预设时间段游戏时长和第二预设时间段游戏天数,其中,第一预设时间段包括且大于第二预设时间段。可选的,该第一预设时间段可以设置为14天,该第二预设时间段可以设置为7天。

在其中一些实施例中,通过预处理模块对第一用户记录数据执行格式转换包括:将用户记录数据转换成为预设格式,其中,该预设格式可以是dataframe格式;进一步的,进行向量化表示,根据第一用户数据中每个维度的缺失值对预设格式记录数据进行缺失值补充;另外,根据预设异常值判定规则修正预设格式记录数据中的异常值;以及将用户记录数据中的整形数据转换为浮点型数据。

在其中一些实施例中,通过预处理模块对第一用户记录执行冗余剔除包括:通过Python语言环境下的seaborn包获取用户记录数据在所有维度下的相关性热力图;根据相关性热力图,确定相关性大于预设相关性阈值的维度数据,即相关度非常高的维度数据,并剔除其中的冗余维度数据。需要说明的是,该冗余维度数据指的是,在数据集中,如果一个维度与其他一个或多个维度的相关度大于相关性阈值(可取0.95),则判定这一维度为冗余维度,可剔除。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种基于BP神经网络的游戏流失用户预测系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图4是根据本申请实施例的一种基于BP神经网络的游戏流失用户预测系统的结构框图,如图4所示,该系统包括:数据库模块41、预处理模块42、标签模块43和BP神经网络模型44;

数据库操作模块41用于从游戏数据库中获取多个维度的第一用户记录数据;

预处理模块42用于对第一用户记录执行格式转换和冗余剔除之后生成第二用户记录数据;

标签模块43用于对第二用户记录数据添加流失标签或非流失标签;

BP神经网络模型44用于基于第二用户记录数据进行模型训练,以及预测游戏用户是否会流失,若是,将游戏用户添加至游戏数据库中的流失预测结果表。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。

需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

另外,结合上述实施例中的基于BP神经网络的游戏流失用户预测方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于BP神经网络的游戏流失用户预测方法。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于BP神经网络的游戏流失用户预测方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

在一个实施例中,图5是根据本申请实施例的电子设备的内部结构示意图,如图5所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图5所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于BP神经网络的游戏流失用户预测方法,数据库用于存储数据。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

技术分类

06120113830712