本申请涉及数据处理技术领域,特别是涉及一种获取用户属性的方法、装置、计算机设备和存储介质。
背景技术:
随着大数据技术的发展,各种新式产品不断涌入市场,产生的用户数据也越来越多,产品体验效果也不尽相同。为了提高用户产品体验,可以通过用户的手机通话时长等数据获取使用该手机用户的年龄分布等产品的用户属性分布特征,进而可以根据用户分布特征改良产品,或者将相关产品推送给合适的用户等,从而提高用户产品体验。
然而,相关技术中由于数据拟合效果差,导致获取的用户属性准确率低。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种获取用户属性的方法、装置、计算机设备和存储介质。
一种获取用户属性方法,所述方法包括:
确定多维度的用户行为特征;
获取与所述多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;所述样本用户行为数据为样本用户的用户行为数据;所述样本用户属性为所述样本用户的用户属性;
将所述样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,并获取所述初始预测模型对所述用户行为预测数据集的第一预测拟合度;
若所述第一预测拟合度满足拟合度阈值,则将所述初始预测模型作为目标预测模型;
获取与所述多维度的用户行为特征对应的待分析用户行为数据;所述待分析用户行为数据为待分析用户的用户行为数据;
将所述待分析用户行为数据输入所述目标预测模型,得到所述待分析用户的用户属性。
在一个实施例中,所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型包括:基于所述样本用户属性,利用所述用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;利用所述惩罚变量、平滑梯度以及所述用户行为训练数据集再次对所述训练模型进行训练,以使所述训练模型的模型参数得到更新;当所述训练模型的训练次数达到目标训练次数时,基于所述训练模型获取所述初始预测模型。
在一个实施例中,所述基于所述训练模型获取所述初始预测模型,包括:获取所述训练模型的第二预测拟合度;若所述第二预测拟合度满足所述拟合度阈值,则将所述训练模型作为所述初始预测模型。
在一个实施例中,所述获取所述训练模型的第二预测拟合度之后,还包括:若所述第二预测拟合度不满足所述拟合度阈值,则对所述多维度的用户行为特征进行更新。
在一个实施例中,所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型之前,还包括:获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用所述最大化混合算子系数以及最小化混合算子系数对所述用户行为训练数据集进行混洗,得到噪声数据集;所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,包括:基于所述样本用户属性,利用所述用户行为训练数据集以及所述噪声数据集训练得到所述初始预测模型。
在一个实施例中,所述获取第一预测拟合度之后,还包括:若所述第一预测拟合度不满足所述拟合度阈值,则对所述多维度的用户行为特征进行更新。
在一个实施例中,所述获取用户属性的方法,还包括:获取所述待分析用户的用户编码;根据所述用户编码,从预存有所述待分析用户的用户属性的用户数据库中获取与所述用户编码对应的所述待分析用户的用户属性。
一种获取用户属性的装置,所述装置包括:
用户特征确定模块,用于确定多维度的用户行为特征;
样本数据获取模块,用于获取与所述多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;所述样本用户行为数据为样本用户的用户行为数据;所述样本用户属性为所述样本用户的用户属性;
样本数据划分模块,用于将所述样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
第一拟合度获取模块,用于基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,并获取所述初始预测模型对所述用户行为预测数据集的第一预测拟合度;
目标模型确定模块,用于若所述第一预测拟合度满足拟合度阈值,则将所述初始预测模型作为目标预测模型;
待分析数据获取模块,用于获取与所述多维度的用户行为特征对应的待分析用户行为数据;所述待分析用户行为数据为待分析用户的用户行为数据;
用户属性获取模块,用于将所述待分析用户行为数据输入所述目标预测模型,得到所述待分析用户的用户属性。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对所述用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对所述用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
上述获取用户属性的方法、装置、计算机设备和存储介质,确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。本申请通过将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集,通过训练数据集得到初始预测模型并通过预测数据集得到第一预测拟合度,当第一预测拟合度满足拟合度阈值后才将初始预测模型作为目标预测模型,进而通过目标预测模型得到待分析用户的用户属性,保证了用户数据的拟合度,提高数据的拟合效果,从而提高获取的用户属性的准确率。
附图说明
图1为一个实施例中获取用户属性的方法的流程示意图;
图2为一个实施例中基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型的流程示意图;
图3为一个实施例中获取用户属性的方法的流程示意图;
图4为一个应用示例中获取用户属性的方法的流程示意图;
图5为一个应用示例中混洗数据的流程示意图;
图6为一个实施例中获取用户属性的装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种获取用户属性的方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤s101,确定多维度的用户行为特征。
其中,用户行为特征指的是用户的某项行为,该项行为可以用于判断用户属性。例如,可以通过手机通话时长,获取使用该手机的手机用户年龄,那么此时通话时长就是其中一种用户行为特征。而多维度的用户行为特征,则是表示选用的用户行为特征可以由多种维度的用户行为特征构成,例如:在通话时长的基础上,也可以根据使用的手机品牌得到手机用户的年龄,那么此时用户行为特征则可以包括通话时长以及手机品牌两种,手机品牌可以用数字编码的形式进行表示,而通话时长可以用实际时长进行表示,因此通话时长与手机品牌可以算是不同维度,属于多维度的用户行为特征。多维度的用户行为特征可以根据需要获取的用户属性的不同进行确定。
步骤s102,获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为所述样本用户的用户属性。
其中,样本用户指的是预先采集数据的用户,样本用户行为数据则为样本用户的行为数据,与步骤s101确定的用户行为特征相对应,样本用户属性则是样本用户的用户属性。具体地,本申请预先采集有样本用户行为数据以及样本用户属性,样本用户的数量可以是多个。在通过手机通话时长,获取使用该手机的手机用户年龄的例子中,在确定用户行为特征为手机通话时长后,可以预先采集有样本用户a的手机通话时长,如果是1小时,那么1小时就是样本用户行为数据,并采集样本用户a的年龄,例如是35岁,那么35岁就是样本用户a的样本用户属性。
步骤s103,将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集。
具体地,在步骤s102得到样本用户行为数据后,可以按照一定比例将样本用户行为数据划分为用户行为训练数据集以及用户行为预测集。例如,可以先将样本用户行为数据随机分成n份,并从中随机选择1份用户行为数据作为用户行为预测集,另外的n-1份用户行为数据则作为用户行为训练数据集。
步骤s104,基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对用户行为预测数据集的第一预测拟合度。
其中,初始预测模型可以通过将样本用户属性以及用户行为训练数据集输入算法模型进行训练得到,在得到初始预测模型后,可以将用户行为预测数据集输入上述初始预测模型,从而得到初始预测模型对用户行为预测数据集的第一预测拟合度。
步骤s105,若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型。
在步骤s104得到第一预测拟合度之后,可以将预先设定的拟合度阈值进行比较,若第一预测拟合度满足预先设定的拟合度阈值,则将初始预测模型作为目标预测模型。例如,预先设定的拟合度阈值可以是90-95,如果得到的第一预测拟合度为92,此时即为满足拟合度阈值,并将步骤s104得到的初始预测模型作为目标预测模型。
步骤s106,获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;
步骤s107,将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
具体地,在步骤s105得到目标预测模型后,可以采集待分析用户的用户行为数据,并将上述数据输入目标预测模型,从而得到待分析用户的用户属性。例如:得到用于根据通话时长获取用户年龄的目标预测模型后,可以收集待分析用户b的通话时长,并将待分析用户b的通话时长输入上述目标预测模型,从而对用户b的年龄进行预测。
上述获取用户属性的方法中,确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。本申请通过将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集,通过训练数据集得到初始预测模型并通过预测数据集得到第一预测拟合度,当第一预测拟合度满足拟合度阈值后才将初始预测模型作为目标预测模型,进而通过目标预测模型得到待分析用户的用户属性,保证了用户数据的拟合度,提高数据的拟合效果,从而提高获取的用户属性的准确率。
在一个实施例中,如图2所示,步骤s104中基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,可以包括:
步骤s201,基于样本用户属性,利用用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;
步骤s202,根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度。
其中,预测损失率以及预测准确率可以利用用户行为训练数据集对训练模型进行训练后的输出得到,并根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度。其中,惩罚变量的值是损失率与准确率的负相关权重比,平滑梯度是模型输出函数关于损失率与准确率的一阶梯度值惩罚变量的非线性组合。
步骤s203,利用惩罚变量、平滑梯度以及用户行为训练数据集再次对训练模型进行训练,以使训练模型的模型参数得到更新。
在步骤s202得到惩罚变量以及平滑梯度后,可以利用惩罚变量、平滑梯度以及用户行为训练数据集再次完成对训练模型进行训练,从而更新训练模型的模型参数,同时,惩罚变量以及平滑梯度可以用于修正模型函数的相关参数,进而优化了计算复杂度、减少了训练时的拟合时间。
步骤s204,当训练模型的训练次数达到目标训练次数时,基于训练模型获取初始预测模型。
具体地,在训练次数达到预先设置的目标训练次数后,停止对用户行为训练数据集进行训练,并将该训练模型作为初始预测模型。
进一步地,基于训练模型获取初始预测模型,可以包括:获取训练模型的第二预测拟合度;若第二预测拟合度满足拟合度阈值,则将训练模型作为初始预测模型。
具体地,在得到训练模型后,可以获取该训练模型对用户行为训练数据集的预测拟合度,作为第二预测拟合度,当第二预测拟合度满足预先设定的拟合度阈值时,才将上述训练模型作为初始预测模型。
另外,获取训练模型的第二预测拟合度之后,还包括:若第二预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
而如果第二预测拟合度不满足预先设定的拟合度阈值时,则将多维度的用户行为特征进行更新,可以增加新的多维度用户行为特征,也可以减少用户行为特征,还可以对用户行为特征进行修改。例如,用于获取手机用户年龄所选用的用户行为特征为手机通话时长,而经过训练模型对用户行为训练数据集的训练输出得到的第二预测拟合度不满足拟合度阈值,则需要对用户行为特征进行更新,例如可以将手机通话时长这一用户行为特征修改为使用手机品牌这一用户行为特征,重新进行样本用户行为数据的获取以及训练,直到第二预测拟合度满足拟合度阈值。
上述实施例中,在训练过程中使用了惩罚变量和平滑梯度作为结果回调变量进行结果回调,在保证模型输出稳定性的同时,还减少了计算复杂度,进而减少训练时间,另外,在模型训练完成后可以通过第二预测拟合度判断选用的用户行为特征是否符合拟合度阈值,进一步保证了用户数据的拟合度,提高数据的拟合效果,进而进一步提高获取的用户属性的准确率。
在一个实施例中,步骤s104之前,还包括:获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,得到噪声数据集;步骤s104可以包括:基于样本用户属性,利用用户行为训练数据集以及噪声数据集训练得到初始预测模型。
其中,最大化混合算子系数以及最小化混合算子系数可以根据实际需要进行选取,在步骤s103得到用户行为训练数据集后,可以通过混洗池利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,从而形成带有混洗特征的噪声数据,并对混洗前的用户行为训练数据集以及混洗后得到的噪声数据集进行训练,从而得到初始预测模型。
具体地,可以通过将用户行为训练数据集随机分成n-k份,其中k的数值可以根据实际需要进行选取,再通过混洗池将引入的最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,形成k份噪声数据,再将得到的n-k份混洗前得到的正常数据以及k份混洗后的噪声数据作为训练数据集进行训练,从而得到初始预测模型。
上述实施例中,通过新增最大化混合算子系数、最小化混合算子系数以及混洗产生噪声数据作为训练数据集一部分,有利于增强预测模型的抗干扰能力以及鲁棒性,使得模型更加具备区分性,具备更好的拟合效果,从而进一步提高获取的用户属性的准确率。
在一个实施例中,步骤s104之后,还包括:若第一预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
具体地,如果步骤s104中得到的第一预测拟合度不满足拟合度阈值,例如拟合度阈值为90-95,而得到的第一预测拟合度为88,那么此时第一预测拟合度即不满足拟合度阈值,此时则对选取的多维度的用户行为特征进行更新,可以通过删除、增加或修改某项用户行为特征实现,并利用更新后的多维度的用户行为特征重复步骤s101到步骤s104,更新第一预测拟合度,直到第一预测拟合度满足拟合度阈值。
上述实施例中,若第一预测拟合度不满足拟合度阈值,则重新选取用户行为特征,有利于保证数据的拟合程度,从而进一步提高获取的用户属性的准确率。
在一个实施例中,获取用户属性的方法,还包括:获取待分析用户的用户编码;根据用户编码,从预存有待分析用户的用户属性的用户数据库中获取与用户编码对应的待分析用户的用户属性。
具体地,可以将待分析用户的用户属性存储入用户数据库中,其中,用户数据库存储有多个用户编码,用户编码用于标识不同的待分析用户,可以通过将用户编码输入用户数据库的方式,从用户数据库中查询与用户编码相对应的待分析用户的用户属性。
上述实施例,实现通过用户编码查询待分析用户的用户属性,可以用于迅速查询待分析用户的用户属性,进而提高获取的用户属性的方法的实用性。
在一个实施例中,如图3所示,提供了一种获取用户属性的方法,该方法可以包括如下步骤:
步骤s301,确定多维度的用户行为特征;
步骤s302,获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;
步骤s303,将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
步骤s304,获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,得到噪声数据集;
步骤s305,基于样本用户属性,利用用户行为训练数据集以及噪声数据集对训练模型进行训练,得到预测损失率以及预测准确率;根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度;
步骤s306,利用惩罚变量、平滑梯度以及用户行为训练数据集再次对训练模型进行训练,以使训练模型的模型参数得到更新;
步骤s307,当训练模型的训练次数达到目标训练次数时,获取训练模型的第二预测拟合度;若第二预测拟合度满足拟合度阈值,则将训练模型作为初始预测模型;
步骤s308,获取初始预测模型对用户行为预测数据集的第一预测拟合度;
步骤s309,若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;
步骤s310,获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
上述实施例提供的方法,能够保证了用户数据的拟合度,提高数据的拟合效果,从而提高获取的用户属性的准确率,同时,还减少了计算复杂度,进而减少训练时间。
以下通过一个应用示例来说明获取用户属性的方法,参考图4,以该方法应用于性别年龄预测为例,可以包括如下步骤:
步骤1,规范数据。
用户行为数据以日志的方式存储在服务器上,存储格式并不是理想的输入规范数据,所以首先利用impala对日志数据进行了预处理,规范日志数据,提取用户所有行为特征信息(暂时保留无关行为信息),这里选择impala是由于该阶段计算逻辑简单,在该场景impala可以较好的表现其高效性。将清洗后的数据写入hive、mysql等关系型数据库。
步骤2,采集数据。
在步骤1对日志数据进行规范化的前提下,从关系型数据库中读取用户的多个维度的特征数据,并将数据分为训练集与预测集,训练集用于训练算法模型,预测集用于检验预测准确率。
步骤3,特征分析。
将训练集数据应用到特征工程进行进一步的提取、清洗、选择、降维。
用户的行为数据有很多,比如用户使用手机品牌、用户常用app类型、用户常用旅游城市、用户的作息时间、用户的上网活跃时间、用户通话时长、用户的消费能力、等一系列众多的特征,而在这些众多的体征中,我们要筛选出对我们有帮助,易于分析的主要特征行为。
本发明经过特征工程所抽取、清洗、选择后所确定的主要特征有:用户手机品牌、用户常用app类型、用户常用旅游城市、用户的作息时间、用户的上网活跃时间、用户的消费能力等六个特征维度。
步骤4,设计模型训练数据。
在特征工程下得到了理想的与年龄性别区分相关的用户行为特征后,将特征转换成向量并应用到算法模型进行训练,得到一个训练结果,包括拟合度(准确率),损失率等。
(1)互斥特征融合方法
用户行为特征多种多样,难免会存在特征互斥的情况,这时可以先把连续的特征值离散化成k个整数,同时构造一个容量为k的容器。
在遍历数据的时候,根据离散化后的值作为索引在容器中累积统计量,当遍历一次数据后,容器累积了需要的统计量,然后根据容器的离散值,遍历寻找最优的分割点。
该容器存储的是离散的bins而不是连续的特征值,我们可以通过让互斥特征驻留在不同的bins中来构造featurebundle。这可以通过增加特征原始值的偏移量来实现。比如,假设我们有两个特征,特征a的取值范围是[0,10),而特征b的取值范围是[0,20),我们可以给特征b增加偏移量10,使得特征b的取值范围为[10,30),最后合并特征a和b,形成新的特征,取值范围为[0,30)来取代特征a和特征b。
(2)特征并行方法
1.每个worker都在本地特征集上寻找最佳划分点(特征、阈值);
2.本地进行各个划分的通信整合并得到最佳划分;
3.执行最佳划分。
(3)n折优化验证方法
传统的交叉验证会把样本数据随机的分成n份,每次随机的选择n-1份作为训练集,剩下的1份做测试集。当这一轮完成后,重新随机选择n-1份来训练数据。若干轮(小于n)之后,选择损失函数评估最优的模型和参数。
本发明的交叉验证新增了最大化混合算子系数、最小化混合算子系数、不同batch的不同features混洗产生噪声数据等三个优化项。
改进的交叉验证首先会将数据进行随机分割成n-k份(k值通过参数传入),之后将通过参数传入的最大化、最小化混合算子系数,将不同数据的不同维度进行混洗,混乱程度介于最大、最小混合算子系数之间,从而产出不同于原数据的带有混洗特征的k份噪声数据,一共n份数据,接下来就是利用传统的交叉验证方法进行验证,改善后的交叉验证方法可增强算法的抗干扰性、鲁棒性,是算法模型更加具备区分性,不易出现过拟合、欠拟合的现象,本发明将这种方法称为带噪声抗性的交叉验证,其中混洗的具体流程可以由图5所示。
步骤5,模型结果分析。
由对模型训练完成之后输出得拟合度,损失率进行评估,如若未达到预测,则跳回步骤3重新进行特征分析,若达到预期,则进行步骤6。
结果回调验证方法
在模型训练完成并输出损失率与准确率之后,会重新回调训练结果,再次对用户行为特征进行拟合,通过结果回调次数可通过参数传入,可以有效提高模型输出的稳定性,不同于传统方法的是,回调方法会带上一个惩罚变量和平滑梯度,惩罚变量的值是损失率与准确率的负相关权重比,平滑梯度是模型输出函数关于损失率与准确率的一阶梯度值惩罚变量的非线性组合。惩罚变量与平滑梯度会在回调验证的同时修正模型函数的相关参数,优化了计算复杂度、较少了训练时的拟合时间。本发明将这种方法称为带罚项平滑梯度的结果回调验证。
步骤6,对预测集数据特征进行预测。
以与训练集数据相同的步骤,将预测集数据应用到特征工程,并用已建设好的模型进行预测,得到预测拟合度。
步骤7,预测结果分析。
对预测结果的准确率进行评估,如若未达到预测,则跳回步骤3重新进行特征分析,若达到预期,则进行步骤8。
步骤8,微服务输出。
当预测拟合度达到一定数值(预期)时,就可以应用其预测结果,本发明会结合不同产品的属性,设置不同考核周期定时对每个产品的每位用户进行周期性考核,并将数据结果写入数据库。其中写入hbase的数据用于基础的微服务功能输出,比如产品方提供用户id,本发明可以根据主键搜索快速给产品方反馈用户对应的评分信息及部分特征信息;写入elasticsearch的数据是用于提供用户分群数据导出的微服务,该部分字段会相对写入hbase中的数据更有针对性,这是考虑到elasticsearch的存储成本较高,但其对数据多维度搜索性能非常好。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种获取用户属性的装置,包括:用户特征确定模块601、样本数据获取模块602、样本数据划分模块603、第一拟合度获取模块604、目标模型确定模块605、待分析数据获取模块606和用户属性获取模块607,其中:
用户特征确定模块601,用于确定多维度的用户行为特征;
样本数据获取模块602,用于获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;
样本数据划分模块603,用于将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
第一拟合度获取模块604,用于基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对用户行为预测数据集的第一预测拟合度;
目标模型确定模块605,用于若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;
待分析数据获取模块606,用于获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;
用户属性获取模块607,用于将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
在一个实施例中,第一拟合度获取模块604,进一步用于基于样本用户属性,利用用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度;利用惩罚变量、平滑梯度以及用户行为训练数据集再次对训练模型进行训练,以使训练模型的模型参数得到更新;当训练模型的训练次数达到目标训练次数时,基于训练模型获取初始预测模型。
在一个实施例中,第一拟合度获取模块604,进一步用于获取训练模型的第二预测拟合度;若第二预测拟合度满足拟合度阈值,则将训练模型作为初始预测模型。
在一个实施例中,第一拟合度获取模块604,还用于若第二预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,获取用户属性的装置,还包括:混洗模块,用于获取用于对用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,得到噪声数据集;第一拟合度获取模块604,进一步用于基于样本用户属性,利用用户行为训练数据集以及噪声数据集训练得到初始预测模型。
在一个实施例中,获取用户属性的装置,还包括:用户特征更新模块,用于若第一预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,获取用户属性的装置,还包括:用户属性查询模块,用于获取待分析用户的用户编码;根据用户编码,从预存有待分析用户的用户属性的用户数据库中获取与用户编码对应的待分析用户的用户属性。
关于获取用户属性的装置的具体限定可以参见上文中对于获取用户属性的方法的限定,在此不再赘述。上述获取用户属性的装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种获取用户属性的方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对所述用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:基于样本用户属性,利用用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度;利用惩罚变量、平滑梯度以及用户行为训练数据集再次对训练模型进行训练,更新训练模型的模型参数;当训练次数达到目标训练次数时,基于训练模型获取初始预测模型。
在一个实施例中,处理器执行计算机程序时进一步实现以下步骤:获取训练模型的第二预测拟合度;若第二预测拟合度满足拟合度阈值,则将训练模型作为初始预测模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第二预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,得到噪声数据集;基于样本用户属性,利用用户行为训练数据集以及噪声数据集训练得到初始预测模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:若第一预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取待分析用户的用户编码;根据用户编码,从预存有待分析用户的用户属性的用户数据库中获取与用户编码对应的待分析用户的用户属性。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:确定多维度的用户行为特征;获取与多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;样本用户行为数据为样本用户的用户行为数据;样本用户属性为样本用户的用户属性;将样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;基于样本用户属性,利用用户行为训练数据集训练得到初始预测模型,并获取初始预测模型对所述用户行为预测数据集的第一预测拟合度;若第一预测拟合度满足拟合度阈值,则将初始预测模型作为目标预测模型;获取与多维度的用户行为特征对应的待分析用户行为数据;待分析用户行为数据为待分析用户的用户行为数据;将待分析用户行为数据输入目标预测模型,得到待分析用户的用户属性。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:基于样本用户属性,利用用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;根据预测损失率以及预测准确率,得到惩罚变量以及平滑梯度;利用惩罚变量、平滑梯度以及用户行为训练数据集再次对训练模型进行训练,以使训练模型的模型参数得到更新;当训练次数达到目标训练次数时,基于训练模型获取初始预测模型。
在一个实施例中,计算机程序被处理器执行时进一步实现以下步骤:获取训练模型的第二预测拟合度;若第二预测拟合度满足拟合度阈值,则将训练模型作为初始预测模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第二预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;通过混洗池,利用最大化混合算子系数以及最小化混合算子系数对用户行为训练数据集进行混洗,得到噪声数据集;基于样本用户属性,利用用户行为训练数据集以及噪声数据集训练得到初始预测模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:若第一预测拟合度不满足拟合度阈值,则对多维度的用户行为特征进行更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取待分析用户的用户编码;根据用户编码,从预存有待分析用户的用户属性的用户数据库中获取与用户编码对应的待分析用户的用户属性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
1.一种获取用户属性的方法,其特征在于,所述方法包括:
确定多维度的用户行为特征;
获取与所述多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;所述样本用户行为数据为样本用户的用户行为数据;所述样本用户属性为所述样本用户的用户属性;
将所述样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,并获取所述初始预测模型对所述用户行为预测数据集的第一预测拟合度;
若所述第一预测拟合度满足拟合度阈值,则将所述初始预测模型作为目标预测模型;
获取与所述多维度的用户行为特征对应的待分析用户行为数据;所述待分析用户行为数据为待分析用户的用户行为数据;
将所述待分析用户行为数据输入所述目标预测模型,得到所述待分析用户的用户属性。
2.根据权利要求1所述的方法,其特征在于,所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,包括:
基于所述样本用户属性,利用所述用户行为训练数据集对训练模型进行训练,得到预测损失率以及预测准确率;
根据所述预测损失率以及预测准确率,得到惩罚变量以及平滑梯度;
利用所述惩罚变量、平滑梯度以及所述用户行为训练数据集再次对所述训练模型进行训练,以使所述训练模型的模型参数得到更新;
当所述训练模型的训练次数达到目标训练次数时,基于所述训练模型获取所述初始预测模型。
3.根据权利要求2所述的方法,其特征在于,所述基于所述训练模型获取所述初始预测模型,包括:
获取所述训练模型的第二预测拟合度;
若所述第二预测拟合度满足所述拟合度阈值,则将所述训练模型作为所述初始预测模型。
4.根据权利要求3所述的方法,其特征在于,所述获取所述训练模型的第二预测拟合度之后,还包括:
若所述第二预测拟合度不满足所述拟合度阈值,则对所述多维度的用户行为特征进行更新。
5.根据权利要求1所述的方法,其特征在于,所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型之前,还包括:
获取用于对所述用户行为训练数据集进行混洗的最大化混合算子系数以及最小化混合算子系数;
通过混洗池,利用所述最大化混合算子系数以及最小化混合算子系数对所述用户行为训练数据集进行混洗,得到噪声数据集;
所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,包括:
基于所述样本用户属性,利用所述用户行为训练数据集以及所述噪声数据集训练得到所述初始预测模型。
6.根据权利要求1所述的方法,其特征在于,所述基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,并获取所述初始预测模型对所述用户行为预测数据集的第一预测拟合度之后,还包括:
若所述第一预测拟合度不满足所述拟合度阈值,则对所述多维度的用户行为特征进行更新。
7.根据权利要求1至6任意一项所述的方法,其特征在于,还包括:
获取所述待分析用户的用户编码;
根据所述用户编码,从预存有所述待分析用户的用户属性的用户数据库中获取与所述用户编码对应的所述待分析用户的用户属性。
8.一种获取用户属性的装置,其特征在于,所述装置包括:
用户特征确定模块,用于确定多维度的用户行为特征;
样本数据获取模块,用于获取与所述多维度的用户行为特征对应的样本用户行为数据,以及样本用户属性;所述样本用户行为数据为样本用户的用户行为数据;所述样本用户属性为所述样本用户的用户属性;
样本数据划分模块,用于将所述样本用户行为数据划分为用户行为训练数据集以及用户行为预测数据集;
第一拟合度获取模块,用于基于所述样本用户属性,利用所述用户行为训练数据集训练得到初始预测模型,并获取所述初始预测模型对所述用户行为预测数据集的第一预测拟合度;
目标模型确定模块,用于若所述第一预测拟合度满足拟合度阈值,则将所述初始预测模型作为目标预测模型;
待分析数据获取模块,用于获取与所述多维度的用户行为特征对应的待分析用户行为数据;所述待分析用户行为数据为待分析用户的用户行为数据;
用户属性获取模块,用于将所述待分析用户行为数据输入所述目标预测模型,得到所述待分析用户的用户属性。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
技术总结