CN110232154B - 基于随机森林的产品推荐方法、装置及介质 - Google Patents
基于随机森林的产品推荐方法、装置及介质 Download PDFInfo
- Publication number
- CN110232154B CN110232154B CN201910462036.4A CN201910462036A CN110232154B CN 110232154 B CN110232154 B CN 110232154B CN 201910462036 A CN201910462036 A CN 201910462036A CN 110232154 B CN110232154 B CN 110232154B
- Authority
- CN
- China
- Prior art keywords
- discrete
- variables
- random forest
- clustering
- class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及智能决策,提供一种基于随机森林的产品推荐方法,包括:获取多个用户用户特征对应的特征变量;将特征变量划分为连续变量和离散变量;检查离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;对第一类离散变量进行衍生处理,建立衍生特征;对第一类离散变量采用K‑Modes对离散变量进行聚类,输出类别标签;构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入随机森林模型,实现人群分类;对不同人群分类类别的用户推荐不同产品。本发明还提供一种电子装置及存储介质。本发明适用于离散值较多的离散变量。
Description
技术领域
本发明涉及智能决策技术领域,更为具体地,涉及一种基于随机森林的产品推荐方法、装置及介质。
背景技术
在现有人群分类模型中,离散变量会被转化为数值标签或者被衍生为多个变量,而这一处理方法对于离散值较多的变量则不适用,不能对人群进行准确分类,存在分类混淆甚至分类错误的情况,从而不能够推荐符合用户偏好的产品。
发明内容
鉴于上述问题,本发明的目的是提供一种适用于离散值较多的离散变量,提高人群分类的准确性,推荐符合用户偏好产品的基于随机森林的产品推荐方法、电子装置及存储介质。
为了实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器中包括基于随机森林的产品推荐程序,所述基于随机森林的产品推荐程序被所述处理器执行时实现如下步骤:
获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额,购买产品的次数和购买产品的类别中的一个或多个;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品。
此外,为了实现上述目的,本发明还提供一种基于随机森林的产品推荐方法,包括:
获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额,购买产品的次数和购买产品的类别中的一个或多个;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品。
优选地,在第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型步骤之前还包括对第二类离散变量进行处理的步骤,包括:
对离散特征为无序离散值的第二类离散变量进行编码;
对离散特征为有序离散值的第二类离散变量进行量化处理。
优选地,所述对第一类离散变量采用K-Modes对离散变量进行聚类的步骤和构建随机森林模型的步骤还包括:
设定不同的聚类数量;
采用已经确定分群类别的用户的第一类离散变量分别进行不同聚类数量的K-Modes聚类,针对每一K-Modes模型,建立相应随机森林模型,获得不同聚类数量对应的随机森林模型;
通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型。
进一步,优选地,所述通过人群分类预测精度选取最佳聚类数量的步骤包括:
获得随机森林人群分类预测精度随聚类数量的变化趋势,对聚类数量进行调整,获得最佳聚类数量。
此外,优选地,通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型之后还包括:
通过网格搜索对选取的随机森林模型进行调参。
优选地,所述对第一类离散变量采用K-Modes对离散变量进行聚类的步骤包括:
步骤二:对于样本xj(j=1,2,...,N),分别比较其与k个中心之间的距离所述距离为不同属性值的个数;
步骤三:将xj划分到距离最小的聚类中心,在全部的样本都被划分完毕之后,采用众数重新确定聚类中心;
步骤四:重复步骤二和三,直到总距离不再降低,获得最后的聚类结果。
优选地,所述K-Modes模型和随机森林模型的训练步骤包括:
构建样本库,用于存储样本,所述样本为已经确定人群分类类别的用户的用户特征;
所述样本库中的一部分样本作为训练集,一部分样本作为验证集;
采用训练集对随机森林模型进行训练;
将验证集代入训练集训练后的随机森林模型,得到验证集各样本的分群,通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型。
此外,为了实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括基于随机森林的产品推荐程序,所述基于随机森林的产品推荐程序被处理器执行时,实现上述的基于随机森林的产品推荐方法的步骤。
本发明所述基于随机森林的产品推荐方法、电子装置及存储介质通过K-Modes模型将离散值较多的离散变量进行聚类处理,并输出类别标签。另一方面,对于部分变量进行衍生处理,建立衍生特征。处理完毕后,应用类别标签与衍生特征,结合其他离散特征与连续特征,构建随机森林模型,从而实现人群分类。因此,本发明适用于离散值较多的离散变量,降低了入模因子的维度并充分保留了特征信息,提升了分类模型的精度,能够对人群进行准确分类,推荐符合各类用户偏好的产品。
附图说明
图1是本发明基于随机森林的产品推荐方法较佳实施例的应用环境示意图;
图2是图1中基于随机森林的产品推荐程序较佳实施例的模块示意图;
图3是本发明基于随机森林的产品推荐方法较佳实施例的流程图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下将结合附图对本发明的具体实施例进行详细描述。
本发明提供一种基于随机森林的产品推荐方法,应用于一种电子装置1。参照图1所示,为本发明基于随机森林的产品推荐方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端客户端。
该电子装置1包括存储器11、处理器12、网络接口13及通信总线14。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的基于随机森林的产品推荐程序10等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行基于随机森林的产品推荐程序10等。
网络接口13可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子客户端之间建立通信连接。
通信总线14用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-14的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的客户端、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。
在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
可选地,该电子装置1还可以包括逻辑门电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统以及基于随机森林的产品推荐程序10;处理器12执行存储器11中存储的基于随机森林的产品推荐程序10时实现如下步骤:
获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额,购买产品的次数和购买产品的类别中的一个或多个;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品。
在其他实施例中,所述基于随机森林的产品推荐程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中基于随机森林的产品推荐程序10较佳实施例的功能模块图。所述基于随机森林的产品推荐程序10可以被分割为采集模块110、第一划分模块120、第二划分模块130、第一处理模块140、聚类模块150、分类模块160和推荐模块170,其中,采集模块110采集多个用户的用户特征对应的特征变量,通过第一划分模块120将所述特征变量划分为连续变量和离散变量,所述离散变量通过第二划分模块130划分为超过设定离散值数量的第一类离散变量和不超过设定离散值数量的第二类离散变量,第一类离散变量通过第一处理模块140进行衍生处理,建立衍生特征并通过聚类模块150采用K-Modes对离散变量进行聚类,获得类别标签,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量通过分类模块160输入随机森林模型,实现人群分类,所述推荐模块170根据分类模块的人群分类结果对不同人群分类类别的用户推荐不同产品。
优选地,所述基于随机森林的产品推荐程序10还包括:
第二处理模块180,对离散特征为无序离散值的第二划分模块130获得的第二类离散变量进行编码;对离散特征为有序离散值的第二划分模块130获得的第二类离散变量进行量化处理。
此外,本发明还提供一种基于随机森林的产品推荐方法。参照图3所示,为本发明基于随机森林的产品推荐方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,基于随机森林的产品推荐方法包括:
步骤S1,获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额,购买产品的次数和购买产品的类别中的一个或多个;
步骤S2,将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量,例如“城市”、“职位”等用户特征对应的特征变量;
步骤S3,检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量,例如,通过编程语言进行distinct处理获取各离散变量的离散值数量,当离散值数量超过20个时,为第一类离散变量;
步骤S4,对第一类离散变量进行衍生处理,建立衍生特征,所述衍生处理是指对于第一类离散变量进行其他层面的特征拓展,例如,对“城市”这一变量进行“省份”以及“城市等级”这两方面的衍生,以扩展特征的信息量;
步骤S5,对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签,可以通过Python中的kmodes库进行实现,K-Modes是一种非监督学习聚类算法,通过度量样本与类心在离散特征的差异数量进行聚类,从而实现类内差异最小化以及类间差异最大化;
步骤S6,构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类,其中,其中,随机森林指的是利用多棵树对样本进行训练并预测的一种分类器。随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。所述随机森林属于树模型中的Bagging算法,通过训练样本的随机抽样以及可选特征的随机抽样,构造多个树模型进行分类预测投票,以输出分类预测结果。随机森林训练所用数据包括特征变量以及类别标签两部分,以实现监督学习,且训练完成的随机森林模型能够根据新输入的样本数据进行样各类别的预测随机森林模型的建立通过Python中的sklearn库实现;
步骤S7,对不同人群分类类别的用户推荐不同产品。
上述基于随机森林的产品推荐方法通过K-Modes模型将离散值较多的离散变量进行聚类处理,并输出类别标签,所述类别标签为统计层面的归类,能够实现降维,同时也保证了聚类之间的差异性。
在一个可选实施例中,在第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型步骤之前还包括:
对第二类离散变量进行处理,具体地:
对离散特征为无序离散值的第二类离散变量进行编码,例如One-Hot编码;
对离散特征为有序离散值的第二类离散变量(如等级信息)进行量化处理。
由于K-Modes聚类数量无法事先确认,且没有较好的评估方法,因此本方案通过随机森林模型的分类预测精度,选取模型组合,在一个可选实施例中,还包括:
设定不同的聚类数量;
采用已经确定分群类别的用户的第一类离散变量分别进行不同聚类数量的K-Modes聚类,针对每一K-Modes模型,建立相应随机森林模型,获得不同聚类数量对应的随机森林模型;
通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型。
优选地,还包括:获得随机森林人群分类预测精度随聚类数量的变化趋势,对聚类数量进行调整,获得最佳聚类数量,如聚类类别数量越多,随机森林表现越好,则根据趋势进行进一步聚类尝试,获得最佳聚类数量,进一步,优选地,模型选取完毕后,可选择通过网格搜索单独对随机森林进行调参(调整树的数量、树深度等)。
在一个具体实施例中,设定5、10、15、20的聚类数量并各自构建相应K-Modes模型。模型训练完成后,针对每一K-Modes模型,建立相应随机森林模型并得到预测精度结果。根据预测精度结果,选取相应聚类模型以及随机森林模型。
上述实施例给出了采用验证集和训练集得到预测精度获得聚类次数的例子,但是本发明并不限于此,可以根据聚类轮廓系数、戴维森堡丁指数等获得最佳聚类次数,例如,
其中,Xi表示随机森林模型分类后的第i个用户类,Δ(Xi)表示用户类Xi的类内距离,Δ(Xj)表示用户类Xj的类内距离,所述类内距离定义为用户类内两两样本间欧几里得距离的最大值,δ(Xi,Xj)表示用户类Xi与用户类Xj之间的类间距离,k为聚类次数,DBIk为第k次聚类的戴维森堡丁指数。
本发明基于随机森林的产品推荐方法采用聚类模型和分类模型结合确定最佳聚类个数,在保持用户特征多样性的同时,提高了分类精度。
在一个可选实施例中,所述对第一类离散变量采用K-Modes对离散变量进行聚类的步骤包括:
假设有N个样本,M个第一类离散变量,聚类数量为k:
步骤二:对于样本xj(j=1,2,...,N),分别比较其与k个中心之间的距离(所述距离为不同属性值的个数,例如,x1=[1,2,0,4],L1=[1,2,3,4],那么x1与L1之间的距离为1);
步骤三:将xj划分到距离最小的聚类中心,在全部的样本都被划分完毕之后,采用众数重新确定聚类中心;
步骤四:重复步骤二和三,直到总距离(各个聚类中样本与各自聚类中心距离之和)不再降低,返回最后的聚类结果。
在一个可选实施例中,所述K-Modes模型和随机森林模型的训练步骤包括:
构建样本库,用于存储样本,所述样本为已经确定人群分类类别的用户的用户特征;
所述样本库中的一部分样本作为训练集,一部分样本作为验证集,例如,样本库中包括类1至类5样本的用户特征,每类中10个用户,即50个用户的用户特征作为训练集,每类中另外10个用户,即另外50个用户的用户特征作为验证集(本例中训练集和验证集的样本数量只是示意性说明,实际应用中样本数量较大);
采用训练集对随机森林模型进行训练;
将验证集代入训练集训练后的随机森林模型,得到验证集各样本的分群,通过人群分类预测精度(分类正确的验证集样本数量占验证集总样本数量的比例)选取最佳聚类数量及其对应的K-Modes模型和随机森林模型。
在一个可选实施例中,所述步骤S6构建随机森林模型的方法包括:
将经过K-Modes模型分类的每一类人群中各用户的各用户特征处理为第一类离散变量的类别标签和衍生特征、第二类离散变量或/和连续变量后,构成多维度特征矩阵;
对多维度特征矩阵进行列采集,使用设定的分裂方式构建决策树,例如以信息熵作为度量构造决策树,到叶子节点处熵值为0;
将分裂完成的所有决策树组合成随机森林。
在另一个可选实施例中,所述步骤S6构建随机森林模型的方法,以经过K-Modes模型分类的某一类人群进行说明,包括:
将该类人群中每一个用户作为一个样本,构成该类的训练集;
从训练集中使用抽样方法(Bootstraping、bagging、boosting等)随机采样选出m个样本,共进行n次采样,生成n个训练集;
对于n个训练集,分别训练n个决策树模型,其中,对于单个决策树模型,假设训练样本特征的个数为a,那么每次分裂时根据信息增益、信息增益比或/和基尼指数选择最佳的特征进行分裂,直到达到分裂结束条件,所述分裂结束条件可以是预先设置的决策树数目,也可以是决策树深度达到设定值,还可以是节点不可再分,例如节点中只有一个样本数据,又如,节点中所有样本数据相同;
将生成的多棵决策树组成随机森林,
其中,当采集到新用户的处理为第一类离散变量的类别标签和衍生特征、第二类离散变量或/和连续变量的用户特征时,按多棵树分类器投票决定最终分类结果,由多棵树预测值的均值或与分类结果一致的多棵树预测值的均值作为所述用户特征的预测值。
在一个具体实施例中,通过随机森林模型实现人群分类的人群分类类别包括第一类用户、第二类用户和第三类用户,第一类用户为高预期用户,第二类用户为稳定用户,第三类用户为预流失用户,经过第二分群后,向属于第一类用户的人群分类类别的用户推荐第一产品,向属于第二类用户的人群分类类别的用户推荐第二产品,向属于第三类用户的人群分类类别的用户推荐第三产品,第一产品可以为效益成本率高的产品,第二类产品价值稳定的产品,第三类产品低成本的产品,例如,向用户推荐银行产品时,第一类用户为高投资期望用户,第二类用户为保值理财用户,第三类用户为潜在流失用户,对不同人群分类类别的用户推荐不同银行产品,其中,对高投资期望用户推荐高投资额高收益的银行产品,对保值理财用户推荐高保值银行产品,对潜在流失用户推荐低投入银行产品。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括基于随机森林的产品推荐程序,所述基于随机森林的产品推荐程序被处理器执行时实现如下步骤:
获取多个用户的用户特征对应的特征变量;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品。
本发明之计算机可读存储介质的具体实施方式与上述基于随机森林的产品推荐方法、电子装置的具体实施方式大致相同,在此不再赘述。
本发明上述基于随机森林的产品推荐、电子装置及计算机可读存储介质,有效减少输入模型的离散特征的数量,同时最大程度保留离散特征信息,从而从特征层面提升了随机森林表现。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端客户端(可以是手机,计算机,服务器,或者网络客户端等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于随机森林的产品推荐方法,其特征在于,包括:
获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额、购买产品的次数和购买产品的类别中的一个或多个;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品;
其中,所述对第一类离散变量采用K-Modes对离散变量进行聚类的步骤和构建随机森林模型的步骤还包括:
设定不同的聚类数量;
采用已经确定分群类别的用户的第一类离散变量分别进行不同聚类数量的K-Modes聚类,针对每一K-Modes模型,建立相应随机森林模型,获得不同聚类数量对应的随机森林模型;
通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型;其中,所述通过人群分类预测精度选取最佳聚类数量的步骤包括:获得随机森林人群分类预测精度随聚类数量的变化趋势,对聚类数量进行调整,获得最佳聚类数量。
2.根据权利要求1所述的基于随机森林的产品推荐方法,其特征在于,在第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型步骤之前还包括对第二类离散变量进行处理的步骤,包括:
对离散特征为无序离散值的第二类离散变量进行编码;
对离散特征为有序离散值的第二类离散变量进行量化处理。
3.根据权利要求1所述的基于随机森林的产品推荐方法,其特征在于,通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型之后还包括:
通过网格搜索对选取的随机森林模型进行调参。
5.根据权利要求1所述的基于随机森林的产品推荐方法,其特征在于,所述K-Modes模型和随机森林模型的训练步骤包括:
构建样本库,用于存储样本,所述样本为已经确定人群分类类别的用户的用户特征;
所述样本库中的一部分样本作为训练集,一部分样本作为验证集;
采用训练集对随机森林模型进行训练;
将验证集代入训练集训练后的随机森林模型,得到验证集各样本的分群,通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型。
6.一种电子装置,其特征在于,包括存储器和处理器,所述存储器中存储有基于随机森林的产品推荐程序,所述基于随机森林的产品推荐程序被所述处理器执行时实现如下步骤:
获取多个用户的用户特征对应的特征变量,所述用户特征包括年龄、职业、城市、性别、籍贯、学历、购买产品的数额、购买产品的次数和购买产品的类别中的一个或多个;
将所述特征变量划分为连续变量和离散变量,所述连续变量是具有次序属性的数值型变量,所述离散变量是非数值型变量;
检查所述离散变量的离散值数量,将超过设定离散值数量的离散变量作为第一类离散变量,不超过设定离散值数量的离散变量作为第二类离散变量;
对第一类离散变量进行衍生处理,建立衍生特征;
对第一类离散变量采用K-Modes对离散变量进行聚类,输出类别标签;
构建随机森林模型,将第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型,实现人群分类;
对不同人群分类类别的用户推荐不同产品;
其中,所述对第一类离散变量采用K-Modes对离散变量进行聚类的步骤和构建随机森林模型的步骤还包括:
设定不同的聚类数量;
采用已经确定分群类别的用户的第一类离散变量分别进行不同聚类数量的K-Modes聚类,针对每一K-Modes模型,建立相应随机森林模型,获得不同聚类数量对应的随机森林模型;
通过人群分类预测精度选取最佳聚类数量及其对应的K-Modes模型和随机森林模型;其中,所述通过人群分类预测精度选取最佳聚类数量的步骤包括:获得随机森林人群分类预测精度随聚类数量的变化趋势,对聚类数量进行调整,获得最佳聚类数量。
7.根据权利要求6所述的电子装置,其特征在于,所述基于随机森林的产品推荐程序被所述处理器执行时在第一类离散变量的类别标签和衍生特征、第二类离散变量和连续变量输入所述随机森林模型步骤之前还实现如下步骤:
对离散特征为无序离散值的第二类离散变量进行编码;
对离散特征为有序离散值的第二类离散变量进行量化处理。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括有基于随机森林的产品推荐程序,所述基于随机森林的产品推荐程序被处理器执行时,实现如权利要求1至5中任一项权利要求所述基于随机森林的产品推荐方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462036.4A CN110232154B (zh) | 2019-05-30 | 2019-05-30 | 基于随机森林的产品推荐方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910462036.4A CN110232154B (zh) | 2019-05-30 | 2019-05-30 | 基于随机森林的产品推荐方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110232154A CN110232154A (zh) | 2019-09-13 |
CN110232154B true CN110232154B (zh) | 2023-06-09 |
Family
ID=67858207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910462036.4A Active CN110232154B (zh) | 2019-05-30 | 2019-05-30 | 基于随机森林的产品推荐方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232154B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111144690A (zh) * | 2019-11-26 | 2020-05-12 | 泰康保险集团股份有限公司 | 目标对象的评估系统、目标对象的评估方法 |
CN112767124A (zh) * | 2021-01-15 | 2021-05-07 | 上海琢学科技有限公司 | 一种个人代发业务留存率提升的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013029777A1 (de) * | 2011-09-03 | 2013-03-07 | Volkswagen Aktiengesellschaft | Verfahren und vorrichtung zum bereitstellen einer nutzerschnittstelle |
CN107632995A (zh) * | 2017-03-13 | 2018-01-26 | 平安科技(深圳)有限公司 | 随机森林模型训练的方法及模型训练控制系统 |
CN108737856A (zh) * | 2018-04-26 | 2018-11-02 | 西北大学 | 社会关系感知的iptv用户行为建模与节目推荐方法 |
CN108846259A (zh) * | 2018-04-26 | 2018-11-20 | 河南师范大学 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
CN109142946A (zh) * | 2018-06-29 | 2019-01-04 | 东华大学 | 基于蚁群算法优化随机森林的变压器故障检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248713B2 (en) * | 2016-11-30 | 2019-04-02 | Business Objects Software Ltd. | Time series analysis using a clustering based symbolic representation |
-
2019
- 2019-05-30 CN CN201910462036.4A patent/CN110232154B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013029777A1 (de) * | 2011-09-03 | 2013-03-07 | Volkswagen Aktiengesellschaft | Verfahren und vorrichtung zum bereitstellen einer nutzerschnittstelle |
CN107632995A (zh) * | 2017-03-13 | 2018-01-26 | 平安科技(深圳)有限公司 | 随机森林模型训练的方法及模型训练控制系统 |
CN108737856A (zh) * | 2018-04-26 | 2018-11-02 | 西北大学 | 社会关系感知的iptv用户行为建模与节目推荐方法 |
CN108846259A (zh) * | 2018-04-26 | 2018-11-20 | 河南师范大学 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
CN109142946A (zh) * | 2018-06-29 | 2019-01-04 | 东华大学 | 基于蚁群算法优化随机森林的变压器故障检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110232154A (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3467723B1 (en) | Machine learning based network model construction method and apparatus | |
CN112528025A (zh) | 基于密度的文本聚类方法、装置、设备及存储介质 | |
CN110276382B (zh) | 基于谱聚类的人群分类方法、装置及介质 | |
CN109903082B (zh) | 基于用户画像的聚类方法、电子装置及存储介质 | |
CN111080360B (zh) | 行为预测方法、模型训练方法、装置、服务器及存储介质 | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
CN110827924B (zh) | 基因表达数据的聚类方法、装置、计算机设备及存储介质 | |
CN112328909B (zh) | 信息推荐方法、装置、计算机设备及介质 | |
CN107818491A (zh) | 电子装置、基于用户上网数据的产品推荐方法及存储介质 | |
CN107203558B (zh) | 对象推荐方法和装置、推荐信息处理方法和装置 | |
CN110232154B (zh) | 基于随机森林的产品推荐方法、装置及介质 | |
CN112085565A (zh) | 基于深度学习的信息推荐方法、装置、设备及存储介质 | |
CN113704620A (zh) | 基于人工智能的用户标签更新方法、装置、设备及介质 | |
CN112487021B (zh) | 业务数据的关联分析方法、装置及设备 | |
CN113254687A (zh) | 图像检索、图像量化模型训练方法、装置和存储介质 | |
CN111552810B (zh) | 实体抽取与分类方法、装置、计算机设备和存储介质 | |
US20230259761A1 (en) | Transfer learning system and method for deep neural network | |
CN113033090B (zh) | 推送模型训练方法、数据推送方法、装置及存储介质 | |
CN111400413B (zh) | 一种确定知识库中知识点类目的方法及系统 | |
CN114005015A (zh) | 模型训练方法、电子设备和计算机可读存储介质 | |
CN114118411A (zh) | 图像识别网络的训练方法、图像识别方法及装置 | |
CN112463964A (zh) | 文本分类及模型训练方法、装置、设备及存储介质 | |
CN114117251B (zh) | 一种智慧文博下融合多因素的矩阵分解个性化推荐方法 | |
CN113901223B (zh) | 企业分类模型的生成方法、装置、计算机设备、存储介质 | |
CN116778264B (zh) | 基于类增学习的对象分类方法、图像分类方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |