CN108320171B - 热销商品预测方法、系统及装置 - Google Patents
热销商品预测方法、系统及装置 Download PDFInfo
- Publication number
- CN108320171B CN108320171B CN201710036375.7A CN201710036375A CN108320171B CN 108320171 B CN108320171 B CN 108320171B CN 201710036375 A CN201710036375 A CN 201710036375A CN 108320171 B CN108320171 B CN 108320171B
- Authority
- CN
- China
- Prior art keywords
- data
- characteristic
- commodity
- hot
- prediction model
- 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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0203—Market surveys; Market polls
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种热销商品预测方法、系统及装置。一种热销商品预测方法,包括:获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据;获取第二预设时间段内的第二特征数据;根据所述第一商品数据构建一预测模型;将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。本公开可以预测热销商品。
Description
技术领域
本公开涉及应用软件开发技术领域,具体而言,涉及一种热销商品预测方法、系统及装置。
背景技术
随着互联网技术的迅速发展,网上购物已经成为人们生活中不可缺少的一部分,各类网上购物平台的发展十分快速,其订单量、交易额近几年一直保持着较高的增长率。
在这个经济快速发展的时代,人们上网购物的个性化和多样化需求也极大地提高了。每当电商网站大促的时候,比如618或双十一,大部分用户都想快速找到热销的商品,如果需要用户自己浏览网页去寻找这些热销商品,显示起不到好的推荐效果。另一方面,商品在大促期间表现出来的热销特点与平时也会不一样,这时候如果推荐系统中推荐出和平时一样的商品给用户,就体现不出商品在大促时期的特点。
因此,需要一种新的热销商品预测方法、系统及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种热销商品预测方法、系统及装置,用于至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或多个问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本公开的一个方面,提供一种热销商品预测方法,包括:获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;获取第二预设时间段内的第二特征数据;根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
在本公开的一种示例性实施例中,所述第一特征数据包括所述第一预设时间段内的第一预定时间间隔内的商品的浏览特征、品牌特征、店铺特征、评论特征、上架时长特征、订单特征、库存特征中的任意一种或者多种。
在本公开的一种示例性实施例中,获取所述第一标签数据包括:根据所述第一预设时间段内的第二预定时间间隔内的商品的订单量将商品划分为热销商品和非热销商品;给所述热销商品打上第一标签,所述非热销商品打上第二标签。
在本公开的一种示例性实施例中,还包括:将所述第一特征数据和所述第一标签数据进行关联;将关联后的所述第一特征数据和所述第一标签数据整理成所述预测模型要求的输入数据格式。
在本公开的一种示例性实施例中,所述根据所述第一商品数据构建一预测模型,包括:设置所述预测模型的参数的初始值;将所述第一商品数据分为K个子样本;选择所述K个子样本中的部分子样本用于训练所述预测模型;选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型;根据验证结果调整所述预测模型的参数。
在本公开的一种示例性实施例中,还包括:分析所述预测模型的评估指标;根据所述评估指标的分析结果对所述预测模型进行优化。
在本公开的一种示例性实施例中,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:调整所述第一特征数据和/或所述第一标签数据和/或所述第二特征数据。
在本公开的一种示例性实施例中,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:调整所述预测模型的参数。
在本公开的一种示例性实施例中,所述预测模型采用xgboost算法。
根据本公开的一个方面,提供一种热销商品预测系统,包括:第一获取模块,用于获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;第二获取模块,用于获取第二预设时间段内的第二特征数据;模型构建模块,用于根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;商品预测模块,用于将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
在本公开的一种示例性实施例中,所述模型构建模块包括:参数设置单元,用于设置所述预测模型的参数的初始值;子样本分割单元,用于将所述第一商品数据分为K个子样本;训练单元,用于选择所述K个子样本中的部分子样本用于训练所述预测模型;验证单元,用于选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型;参数调整单元,用于根据验证结果调整所述预测模型的参数。
在本公开的一种示例性实施例中,还包括:分析模块,用于分析所述预测模型的评估指标;优化模块,用于根据所述评估指标的分析结果对所述预测模型进行优化。
根据本公开的一个方面,提供一种热销商品预测装置,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中所述处理器配置为经由执行所述可执行指令来执行以下操作:获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;获取第二预设时间段内的第二特征数据;根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
本公开一种示例实施方式中的技术方案,通过历史商品数据构建预测模型,从而能够预测出本次促销期间的热销商品。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出本公开示例性实施例中一种热销商品预测方法的流程图。
图2示意性示出本公开示例性实施例中一种特征数据和打标签数据关联的示意图。
图3示意性示出本公开示例性实施例中一种模型构建方法的流程图。
图4示意性示出本公开示例性实施例中另一种热销商品预测方法的流程图。
图5示意性示出本公开示例性实施例中一商品的全站短期订单特征分布的示意图。
图6示意性示出本公开示例性实施例中一种热销商品预测系统的框图。
图7示意性示出本公开示例性实施例中一种模型构建模块的框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1示意性示出本公开示例性实施例中一种热销商品预测方法的流程图。
如图1所示,在步骤S110中,获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据。其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中。
本示例实施方式中,商品的概念可以是指具有一个SKU商品编号的商品。在一实施例中,所述商品可属于一个品类。在另一实施例中,所述品类可分为一级品类、二级品类、三级品类。所述商品可属于一二级品类。例如,一个苹果手机就有一个SKU编号,可以唯一标识这个苹果手机,它所属的三级品类是苹果手机,二级品类是手机通讯,一级品类是手机。在一实施例中,所述第一商品数据是指一二级品类下所有的商品在所述第一预设时间段内的相关数据。当然,这里的具体某一商品归属于一个二级品类仅用于示例性说明,在其他应用场合,也可以选择获取一级品类下的全部或者部分商品的相关数据作为所述第一商品数据,或者也可以选择三级品类下的全部或者部分商品的相关数据作为所述第一商品数据,或者甚至直接选择平台上全部或者部分商品的相关数据作为所述第一商品数据,并不对其品类进行区分。
对于大的电商平台来说,涉及的商品种类较多,不同品类下的商品可能具有不同的特征,因此,下面的实施例中均以二级品类下的商品为例进行说明。
本示例实施方式中,热销商品可以是指在电商网站上销量表现好的商品。在下面的实施例中,主要是用电商网站大促期间的热销商品为例进行具体说明。例如,每年的618大促期间某品牌具体某一型号的手机比平时销量有明显提升,那么这个品牌的该型号的手机就属于大促期间的热销商品。
本示例实施方式中,该方法还包括:获取所述第一预设时间段内的一二级品类下的所有商品的原始数据,对所述原始数据进行清洗整理。
本示例实施方式中,通过hive查询语句从数据仓库获取所述第一预设时间段内的该二级品类下所有商品的用户订单、浏览、评论、店铺质量、品牌、上架时长等维度的数据。通过观察大量的数据,了解数据后,制定一系列规则,过滤掉无效的垃圾数据。
例如,可以选择把大促期间订单量小于100的商品过滤掉,因为模型的目标是找热销商品。又例如,当商品没有所属店铺的时候,如果是自营商品,店铺质量分打分为最高等级,如果不是自营商品,店铺质量分打分为最低等级。再例如,如果评论数据中评分为负数的直接过滤掉,评分大于4的认为是好评,评分大于0小于4的认为是差评等。还可以筛选出用户订单中的有效订单量。所述有效订单量可以是指最后实际成交的订单量,没有发生退货等情况。
本示例实施方式中,所述第一特征数据包括所述第一预设时间段内的第一预定时间间隔内的商品的浏览特征、品牌特征、店铺特征、评论特征、上架时长特征、订单特征、库存特征中的多种或者全部。这里的特征种类或类型仅是例举说明,实际上可以包括比这更多或更少的特征种类或类型。
在一实施例中,所述第一预设时间段可以选择距离本次电商网站大促最近的一次历史大促相关的时间段。例如,为了预测2016年6月18日这次的商品大促活动,可以选择2015年11月11日的大促活动的数据作为训练数据获得预测模型,用于预测2016年6月18日本次大促活动的热销商品。在另一实施例中,也可以选择历史上的任意一次或者任意几次的大促活动的数据作为训练数据获得预测模型。由于距离本次大促活动最近的历史大促的数据可能最接近本次大促活动的商品信息,因此,下面的实施例中选择距离本次大促活动最近的一次历史大促活动的相关数据作为预测模型的训练数据。
以2015年11月11日的大促活动为例,所述第一预设时间段可以选择为2015年8月1日至2015年11月11日。在一实施例中,可以将该第一预设时间段进一步划分成三个区间,例如2015年8月1日至2015年10月31日作为第一区间,2015年10月22日至2015年10月31作为第二区间,2015年11月1日至2015年11月11日作为第三区间,可以将该第三区间认为是11月11日这次大促活动的大促期间。当然,具体选择哪个时间段作为一次大促活动,以及对第一预设时间段的选择及划分可以根据不同平台的不同活动进行相应的选择。
本示例实施方式中,所述第一特征数据可以包括第一长期特征和第一短期特征。在一实施例中,可以选择上述第一区间内的商品的特征数据作为所述第一长期特征,上述第二区间内的商品的特征数据作为所述第一短期特征。在另一实施例中,所述第一长期特征可以包括移动长期浏览特征、全站长期浏览特征、移动长期订单特征、全站长期订单特征等,所述第一短期特征可以包括移动短期浏览特征、全站短期浏览特征、移动短期订单特征、全站短期订单特征等。需要说明的是,这里的短期和长期是相对而言的,可以选择大促期间前一段较长时间(例如,3个月)的某一二级品类下的所有商品的相关数据进行特征提取后作为长期特征,大促期间前一段较短时间(例如,10天)的该二级品类下的所有商品的相关数据进行特征提取后作为短期特征。
举例说明如下。
特征1:移动短期浏览特征,即移动端各品类下各商品短期浏览量。
例如,可以选取2015-10-22到2015-10-31的移动浏览量数据按分位数划分,移动浏览量最多的前5%的商品其特征1赋值为“4”;移动浏览量排名5%到15%其特征1赋值为“3”;移动浏览量排名15%到30%其特征1赋值为“2”;其余的商品其特征1赋值为“1”。
特征2:移动长期浏览特征,即移动端各品类下各商品长期浏览量。
例如,可以选取2015-08-01到2015-10-31的移动浏览量数据按分位数划分,移动浏览量最多的前5%的商品其特征2赋值为“4”;移动浏览量排名5%到15%的商品其特征2赋值为“3”;移动浏览量排名15%到30%的商品其特征2赋值为“2”;其余的商品其特征2赋值为“1”。
特征3:品牌特征,各品类下各商品所属的品牌是否是优质品牌。
例如,可以选取2015-10-31的商品数据,如果商品出现在优质品牌库中,将该商品的特征3赋值为“1”;否则将该商品的特征3赋值为“0”。
特征4:店铺特征,各品类下各商品所属的店铺质量分。
例如,可以选取2015-10-31的商品数据,看商品所在的店铺质量分在最高的前5%或者是自营店铺,将该商品的特征4赋值为“4”;店铺质量分排名在5%到15%,将该商品的特征3赋值为“3”;店铺质量分排名在15%到30%,将该商品的特征3赋值为“2”;其余的商品的特征3赋值为“1”。
特征5:评论特征,各品类下各商品的好评率、好评数等综合指标;
例如,可以选取2015-10-31的商品数据,把商品的好评数开根号再乘以好评率得到一个分数,将得到的这些分数降序排列,排在前面的80%认为是好评,将相应的商品的特征5赋值为“1”;排在后面的20%认为是差评,将相应的商品的特征5赋值为“0”。
特征6:全站短期浏览特征,全站各品类下各商品短期浏览量。
例如,可以选取2015-10-22到2015-10-31的全站浏览数据量按分位数划分,全站浏览量最多的前5%的商品其特征6赋值为“4”;全站浏览量排名5%到15%的商品其特征6赋值为“3”;全站浏览量排名15%到30%的商品其特征6赋值为“2”;其余的商品其特征6赋值为“1”。
这里的全站可以包括移动端和PC端等所有的终端类型。
特征7:全站长期浏览特征,全站各品类下各商品长期浏览量。
例如,可以选取2015-08-01到2015-10-31的全站浏览量数据按分位数划分,全站浏览量最多的前5%的商品其特征7赋值为“4”;全站浏览量排名5%到15%的商品其特征7赋值为“3”;全站浏览量排名15%到30%的商品其特征7赋值为“2”;其余的商品其特征7赋值为“1”。
特征8:各品类下各商品的上架时长特征,判断商品是否是短期、中期、长期上架商品。
例如,可以设置最近(可以是距离2015年11月1日最近)30天刚上架的商品为短期上架商品,最近30天到90天内上架的商品为中期上架商品,最近大于90天上架的商品为长期上架商品。其中,可以将短期上架商品的特征8赋值为“0”,将中期上架商品的特征8赋值为“1”,将长期上架商品的特征8赋值为“2”。
特征9:移动长期订单特征,即移动端各品类下各商品长期订单量。
例如,可以选取2015-08-01到2015-10-31的移动订单量数据按分位数划分,移动订单量最多的前5%的商品其特征9赋值为“4”;移动订单量排名5%到15%的商品其特征9赋值为“3”;移动订单量排名15%到30%的商品其特征9赋值为“2”;其余的商品其特征9赋值为“1”。
特征10:移动短期订单特征,即移动端各品类下各商品短期订单量。
例如,可以选取2015-10-22到2015-10-31的移动订单量数据按分位数划分,移动订单量最多的前5%的商品其特征10赋值为“4”;移动订单量排名5%到15%的商品其特征10赋值为“3”;移动订单量排名15%到30%的商品其特征10赋值为“2”;其余的商品其特征10赋值为“1”。
特征11:全站短期订单特征,即全站各品类下各商品短期订单量。
例如,可以选取2015-10-22到2015-10-31的全站订单量数据按分位数划分,全站订单量最多的前5%的商品其特征11赋值为“4”;全站订单量排名5%到15%的商品其特征11赋值为“3”;全站订单量排名15%到30%的商品其特征11赋值为“2”;其余的商品其特征11赋值为“1”。
特征12:全站长期订单特征,全站各品类下各商品长期订单量。
例如,可以选取2015-08-01到2015-10-31的全站订单量数据按分位数划分,全站订单量最多的前5%的商品其特征12赋值为“4”;全站订单量排名5%到15%的商品其特征12赋值为“3”;全站订单量排名15%到30%的商品其特征12赋值为“2”;其余的商品其特征12赋值为“1”。
特征13:库存特征,即全站各品类下各商品的库存数量。
例如,可以选取2015-10-31这一天的各品类下各商品的库存量,库存量最多的前5%的商品其特征13赋值为“4”;库存量排名5%到15%的商品其特征13赋值为“3”;库存量排名15%到30%的商品其特征13赋值为“2”;其余的商品其特征13赋值为“1”。
需要说明的是,上述虽然仅例举了13各品类下各商品的13个特征,但各商品实际提取出来的特征并不局限于此。此外,各特征选取的时间段、时间点、特征值、各取值对应的数据的划分范围等均是可以根据需求进行重新设置的,并不用于限制本公开。
本示例实施方式中,获取所述第一标签数据包括:根据所述第一预设时间段内的第二预定时间间隔内的商品的订单量将商品划分为热销商品和非热销商品;给所述热销商品打上第一标签,所述非热销商品打上第二标签。
例如,可以根据前一次大促期间各品类下各商品的订单量给商品打标签为“1”或“0”。训练数据的标签可以根据前一次大促期间的商品订单量来打“1”或者“0”的,对每一个二级品类下的所有商品,可以设置订单量在前15%的商品打标签为“1”,其余的商品打标签为“0”,这里打标签“1”的是上一次大促中的热销商品。这里的15%仅是用于举例说明的是,实际可以根据各二级品类的商品特征设置不同的分界点,例如10%,20%,25%,等等。在一些实施例中,也可以设置订单量在前15%的商品打标签为“0”,其余的商品打标签为“1”,这里认为打标签“0”的是上一次大促中的热销商品。具体的热销商品和非热销商品的标签值可以任意设置,只要能够标识出热销商品即可。
例如,针对一个二级品类A,该二级品类A下所有商品的总订单量为n,那么该二级品类下假如有一个商品b,该商品b的订单量在上一次大促期间为m,那么如果m/n大于15%则将该商品b打标签为“1”,认为该商品b是上次大促活动中的热销商品。
本示例实施方式中,还包括:将所述第一特征数据和所述第一标签数据进行关联;将关联后的所述第一特征数据和所述第一标签数据整理成所述预测模型要求的输入数据格式。
在一些实施例中,可以通过二级品类(cate2)和商品编号(SKU)这两个关键字段把打好标签的商品的第一标签数据和商品的第一特征数据关联,整理成机器学习算法(例如Xgboost)需要输入的数据格式。例如,可以参考图2,其中第一列表示第一标签数据,取值0或1;后面各列表示第一特征数据,比如1:4表示特征1的特征值为4。
本示例实施方式中,提取热销商品的特征,可以生成特征结果hive表。下面是提取的特征结果hive表的一个实例,cate2的编号是653,SKU是一个商品的编号,后面的f1(特征1)至f13(特征13)是这个商品的各个特征的特征值:
cate2 | SKU | f1 | f2 | f3 | f4 | f5 | f6 | f7 | f8 | f9 | f10 | f11 | f12 | f13 |
653 | 1003423 | 1 | 0 | 1 | 4 | 1 | 3 | 2 | 1 | 1 | 1 | 1 | 1 | 1 |
在xgboost这个预测模型中要求输入的特征数据格式,特征编号必须从0开始,所以也可以按照模型要求从特征0开始编号,可以根据不同模型的具体要求进行适应性调整。
在步骤S120中,获取第二预设时间段内的第二特征数据。
本示例实施方式中,所述第二特征数据包括所述第二预设时间段内的第三预定时间间隔内的商品的浏览特征、品牌特征、店铺特征、评论特征、上架时长特征、订单特征、库存特征中的多种或者全部。
与上述第一特征数据类似,只是第一特征数据选择的是各品类下各商品的历史上某次或某几次的特征数据,而这里的第二特征数据选择是当前要预测的大促活动对应的商品的特征数据。
假设当前要预测的大促活动的大促期间为2016年6月1日至2016年6月18日,则所述第二预设时间段可以选择为2016年3月1日至2016年5月31日,类似的,也将其分为三个区间,2016年3月1日至2016年5月31日作为第一区间,2016年5月22日至2016年5月31作为第二区间,2016年6月1日至2016年6月18日作为第三区间。
本示例实施方式中,所述第二特征数据可以包括第二长期特征和第二短期特征。在一实施例中,可以选择上述第一区间内的商品的特征数据作为所述第二长期特征,上述第二区间内的商品的特征数据作为所述第二短期特征。在另一实施例中,所述第二长期特征可以包括移动长期浏览特征、全站长期浏览特征、移动长期订单特征、全站长期订单特征等,所述第二短期特征可以包括移动短期浏览特征、全站短期浏览特征、移动短期订单特征、全站短期订单特征等。需要说明的是,这里的短期和长期是相对而言的,可以选择本次大促期间前一段较长时间(例如,3个月)的某一二级品类下的所有商品的相关数据进行特征提取后作为长期特征,本次大促期间前一段较短时间(例如,10天)的该二级品类下的所有商品的相关数据进行特征提取后作为短期特征。
例如,可以选取2016-05-22到2016-05-31的移动浏览量数据按分位数划分,移动浏览量最多的前5%的商品其特征1赋值为“4”;移动浏览量排名5%到15%的商品其特征1赋值为“3”;移动浏览量排名15%到30%的商品其特征1赋值为“2”;其余的商品其特征1赋值为“1”。
可以选取2016-03-01到2016-05-31的移动浏览量数据按分位数划分,移动浏览量最多的前5%的商品其特征2赋值为“4”;移动浏览量排名5%到15%的商品其特征2赋值为“3”;移动浏览量排名15%到30%的商品其特征2赋值为“2”;其余的商品其特征2赋值为“1”。
可以选取2016-05-31的商品数据,如果商品出现在优质品牌库中,将该商品的特征3赋值为“1”;否则将该商品的特征3赋值为“0”。
可以选取2016-05-31的商品数据,看商品所在的店铺质量分在最高的前5%或者是自营店铺,将该商品的特征4赋值为打标签“4”;店铺质量分排名在5%到15%,将该商品的特征4赋值为“3”;店铺质量分排名在15%到30%,将该商品的特征4赋值为“2”;其余的商品的特征4赋值为“1”。
可以选取2016-05-31的商品数据,把商品的好评数开根号再乘以好评率得到一个分数,将得到的这些分数降序排列,排在前面的80%认为是好评,将相应的商品的特征5赋值为“1”;排在后面的20%认为是差评,将相应的商品的特征5赋值为“0”。
可以选取2016-05-22到2016-05-31的全站浏览量数据按分位数划分,全站浏览量最多的前5%的商品其特征6赋值为“4”;全站浏览量排名5%到15%的商品其特征6赋值为“3”;全站浏览量排名15%到30%的商品其特征6赋值为“2”;其余的商品其特征6赋值为“1”。
可以选取2016-03-01到2016-05-31的全站浏览数据量按分位数划分,全站浏览量最多的前5%的商品其特征7赋值为“4”;全站浏览量排名5%到15%的商品其特征7赋值为“3”;全站浏览量排名15%到30%的商品其特征7赋值为“2”;其余的的商品其特征7赋值为“1”。
可以设置最近(可以是距离2016年6月1日最近)30天刚上架的商品为短期上架商品,最近30天到90天内上架的商品为中期上架商品,最近大于90天上架的商品为长期上架商品。其中,可以将短期上架商品的特征8赋值为“0”,将中期上架商品的特征8赋值为“1”,将长期上架商品的特征8赋值为“2”。
可以选取2016-03-01到2016-05-31的移动订单量数据按分位数划分,移动订单量最多的前5%的商品其特征9赋值为“4”,移动订单量排名5%到15%的商品其特征9赋值为“3”,移动订单量排名15%到30%的商品其特征9赋值为“2”,其余的商品其特征9赋值为“1”。
可以选取2016-05-22到2016-05-31的移动订单量数据按分位数划分,移动订单量最多的前5%的商品其特征10赋值为“4”;移动订单量排名5%到15%的商品其特征10赋值为“3”;移动订单量排名15%到30%的商品其特征10赋值为“2”;其余的的商品其特征10赋值为“1”。
可以选取2016-05-22到2016-05-31的全站订单量数据按分位数划分,全站订单量最多的前5%的商品其特征11赋值为“4”,全站订单量排名5%到15%的商品其特征11赋值为“3”,全站订单量排名15%到30%的商品其特征11赋值为“2”,其余的商品其特征11赋值为“1”。
可以选取2016-03-01到2016-05-31的全站订单量数据按分位数划分,全站订单量最多的前5%的商品其特征12赋值为“4”;全站订单量排名5%到15%的商品其特征12赋值为“3”;全站订单量排名15%到30%的商品其特征12赋值为“2”;其余的商品其特征12赋值为“1”。
可以选取2016-05-31这一天的各品类下各商品的库存量,库存量最多的前5%的商品其特征13赋值为“4”;库存量排名5%到15%的商品其特征13赋值为“3”;库存量排名15%到30%的商品其特征13赋值为“2”;其余的商品其特征13赋值为“1”。
同理,上述特征类型、各特征选取的时间段、时间点、特征值、各取值对应的数据的划分范围等均是可以根据本次要预测的大促活动的热销商品进行重新设置的。
在步骤S130中,根据所述第一商品数据构建一预测模型。其中,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置。
本发明实施例中,改进后的Xgboost算法的并行是在特征粒度上的,因为Xgboost是由好多棵决策回归树构成的,决策回归树学习最耗时的一个步骤是对特征值进行排序,从而确定最佳分割点。本实施例中的Xgboost算法在训练之前,预先对数据进行了排序,然后保存在block结构中,后面的迭代中重复使用这个结构,大量减小计算量,这个block结构使得并行成为了可能。在进行节点的分裂时,需要计算每个特征的增益,最终选增益最大的那个特征去做分裂,大促热销商品中的各个特征(例如,移动短期浏览特征、移动长期浏览特征、品牌特征、店铺特征、评论特征、全站短期浏览特征、全站长期浏览特征、各品类下各商品的上架时长特征、移动长期订单特征、移动短期订单特征、全站短期订单特征、全站长期订单特征、库存特征等)的增益计算可以开多线程并行计算。在Spark代码中可以通过参数nthread设置并行的线程数,从而提升算法运行速度,使得模型离线训练更有效。
在一实施例中,每个二级品类可以对应一个训练模型,有多少个二级品类就可以有多少个训练模型。
在示例性实施例中,所述预测模型可采用逻辑(Logistic)回归模型。逻辑回归一般用于二分类问题,需要一个预测函数,通常是Sigmoid函数,它能够接收所有的输入并能预测类别,是一个良好的阈值函数,连续、光滑,在逻辑回归中,当sigmoid函数大于0.5概率时,将其预测为1,而概率小于0.5时,将其预测为0。这种算法需要事先分析出业务中最有效的特征因子和因变量标签,通过回归函数算出预测概率,从而确定样本所属类别。可以包括以下步骤:
根据业务确定最有效的因子和回归因变量;Hive提取数据,包括因子数据和因变量数据;处理好的业务数据进入逻辑回归模型;代入逻辑回归函数分类或排序。
逻辑回归模型是线性模型,线性模型学习能力有限,然而实际中的数据大部分都是非线性分布。
在示例性实施例中,所述预测模型可采用决策树模型。决策树算法通常是一个递归地选择最优特征,并根据特征对训练数据进行分割,使得对各个子数据集有一个最好的分类过程,这一过程对应着对特征空间的划分,也对应着决策树的构建。主要包括以下步骤:
业务数据清洗;确定决策树的特征向量;确定决策树打标签向量;Hive取数据;关联特征向量和打标签向量生成spark要求的数据集;交叉验证剪枝等提升决策树精度;生成决策树训练并预测。
决策树模型中一棵树的表达能力有限,不足以表达多个有区分性的特征组合,不能很好地代表所有样本特征。
在示例性实施例中,所述预测模型可采用随机森林模型。随机森林中有多棵决策树,它运用了决策树模型的集体智慧,当在基于某些属性对一个新的对象进行分类判别时,随机森林中的每一棵树都会给出自己的分类选择,并由此进行投票。在分类问题中,整体输出结果将会是票数最多的分类选项;在回归问题中,输出将会是所有决策树输出的平均值。
随机森林有可能在某些噪音较大的分类或回归问题上过拟合,对于有不同级别的特征数据,级别划分较多的特征会对随机森林算法产生较大的影响。
在示例性实施例中,所述预测模型可采用xgboost(Extreme Gradient Boosting,极端梯度上升)算法。
xgboost是一个大规模、分布式的通用Gradient Boosting(GBDT,迭代生成多个弱的模型,然后将每个弱模型的预测结果相加)库,它在Gradient Boosting框架下实现了树模型学习算法和广义线性学习器。它能够自动利用多线程进行并行运算,同时在算法上加以改进提高了精度。
xgboost算法在预测大促热销商品的业务中优于上述逻辑回归和决策树算法。因为xgboost算法既支持逻辑回归的线性分类器也支持决策树算法的非线性分类器。传统的非线性分类器只用到一阶导数信息,而xgboost算法用到了二阶导数和二阶泰勒展开式,把树模型复杂度作为正则项加到优化目标中,可以控制模型的复杂度。在寻找最佳分割点时,xgboost算法考虑传统的枚举每个特征所有可能分割点的贪心法效率低,实现了一种近似的算法,思想是根据百分位法列举几个可能成为分割点的候选者,然后从候选者中根据决策树求信息增益的公式,计算找出最佳的分割点。
针对预测电商平台大促热销商品这种业务背景,商品特征数据分布多样化,既有线性成分也有非线性成分,大促期间商品各种特征维度数据量都大,适合使用xgboost算法做预测。
参考图3,示意性示出本公开示例性实施例中一种模型构建方法的流程图。
本示例实施方式中,所述根据所述第一商品数据构建一预测模型,包括以下步骤:
在步骤S131中,设置所述预测模型的参数的初始值。
以上述采用xgboost算法构建的预测模型为例进行说明,需要设置的主要参数有以下几种:
booster:该参数控制在提升(boosting)过程中使用哪种booster,有两种模型可以选择,树模型(gbtree)和线性模型(gblinear),默认值为booster=gbtree。
objective:该参数定义学习任务及相应的学习目标,可选的目标函数如下:
“reg:linear”:线性回归;
“reg:logistic”:逻辑回归;
“binary:logistic”:二分类的逻辑回归问题,输出为概率;
“count:poission”:计数问题的泊松回归,输出结果为泊松分布。
eta:该参数是为了防止过拟合,梯度优化更新后用到的收缩步长,在每次提升计算之后,算法会直接获得新特征(上述特征1到特征13的任意一种)的权重,eta通过缩减特征的权重使提升计算过程更优,默认值为0.3,该参数的取值范围为:[0,1]。
其中新特征的权重在xgboost算法中可以通过权重更新公式获得的,是通过最优化目标函数得到的。
gamma:该参数是模型复杂性度量因子,默认值是gamma=0,取值范围为:[0,+∞)。
max_depth:该参数是xgboost算法中树的最大深度,默认值是max_depth=6,取值范围为:[1,+∞)。
min_child_weight:该参数是孩子节点中最小的样本权重和,如果一个叶子节点的样本权重和小于min_child_weight,则拆分过程结束,该参数默认值是min_child_weight=1,取值范围为:[0,+∞)。
subsample:该参数用于训练模型的子样本占整个样本集合的比例,默认值为subsample=1,取值范围为:(0,1]。
save_period:该参数表示模型的保存周期,默认值是save_period=0,设置为0表示每次计算的模型都要保存,取值范围为:[0,+∞)。
num_round:该参数用于表示模型提升过程中迭代计算次数,取值范围为:[1,+∞),参数调节的时候,可以根据模型评估指标尝试找到合适的num_round。
silent:该参数控制是否打印出模型运行时的信息,取0时表示打印出模型运行信息,取1时表示不打印模型运行信息。
eval_metric:该参数是验证模型时所需要的评价指标,不同的目标函数有不同的默认值,该参数在回归问题中默认值是均方误差:eval_metric=rmse;在分类问题中默认值是错误率:eval_metric=error;在排序问题中,通常设置eval_metric=error。
刚开始的时候,可以设置该预测模型的参数的初始值,训练过程中会根据对模型的评估和反馈,对初始参数进行修改和调整。
在一实施例中,可以设置所述预测模型的参数的初始值如下:树的最大深度设置为6,即max_depth=6;收缩步长设置为0.1,即eta=0.1;学习任务及相应的学习目标设置为二分类逻辑回归,即objective=binary:logistic;模型提升过程设置为树模型,即booster=gtree;度量模型复杂性的因子设置为0.5,即gamma=0.5;模型运行信息设置为不打印,即silent=1;模型迭代次数设置为50,即num_round=50;验证评价指标设置为error,即eval_metric=error;其他参数选用默认。
在步骤S132中,将所述第一商品数据分为K个子样本。
在示例性实施例中,所述K个子样本之间互不相关。
其中在训练模型前,准备训练数据集和测试数据集。例如,可以采用上述历史大促活动的第一商品数据的第一特征数据和第一标签数据作为所述训练数据集,采用本次要预测的大促活动的第二特征数据作为所述测试数据集。
还是以上面的例子为例进行说明。假设训练数据集是2015-11-01至2015-11-11大促期间及其前一段时间(例如2015-08-01至2015-10-31)内各二级品类下的商品数据(包括订单量、浏览量、库存量等商品所有的特征数据及标签数据),测试数据集是2016-06-01至2016-06-18大促期间及其前一段时间(例如2016-03-01至2015-05-31)各二级品类下的商品的特征数据。在一些实施例中,可以将关联后生成的特征结果hive表作为所述训练数据集输入至所述预测模型用于构建模型。
在步骤S133中,选择所述K个子样本中的部分子样本用于训练所述预测模型。
在示例性实施例中,可以将训练数据集中的数据分成两部分,一部分用来训练模型,另一部分用来验证模型。在一实施例中,用于训练模型的数据和用于验证模型的数据的比例可以设置为9:1。具体的比例可以根据系统需求进行更改,对此本公开不作限定。该部分用于训练模型的子样本称为训练子样本。用于验证模型的那一部分子样本称为验证子样本。
例如,将上述步骤S131中设置好的参数列表和上述步骤中准备好的训练子样本(特征结果hive表)传入xgboost算法,xgboost算法接收到这些训练数据后将构建模型。
在步骤S134中,选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型。
在示例性实施例中,还可以包括:保存模型,将上述步骤S133训练好的模型保存在文件中。
在示例性实施例中,还可以包括:加载保存好的模型,并给训练好的模型传入验证子样本中的第一特征数据,得到预测结果,将预测出来的热销商品打上标签(label)例如,上述预测出来的热销商品被打上的标签值都是“1”。
在示例性实施例中,还可以包括:通过预测结果和真实标签数据计算模型的评价指标。其中这里的预测结果是指模型根据验证子样本的第一特征数据预测出来的热销商品,这里的真实标签数据是指该验证子样本的第一标签数据。
在一实施例中,在xgboost算法中可以采用错误率作为所述评价指标,即eval_metric=error,具体来说error=预测错误的热销商品个数/预测的商品总个数。在不同的类型的模型中可以采用相应的评价指标。
在步骤S135中,根据验证结果调整所述预测模型的参数。
可以根据上述错误率的值与一预设阈值进行比较,当该错误率的值大于该预设阈值时,说明上述初始设置的模型的参数还需要进一步调整;当该错误率的值小于该预设阈值时,说明上述初始设置的模型的参数可以不需要调整了。该预设阈值的大小可以根据不同的需求进行适应性设置。
上述实施例中,仅例举了对训练数据集进行一次验证的过程,实际上,可以对该K个互相关的子样本组成的训练数据集进行不大于K次的验证过程。
在示例性实施例中,对训练过程中的模型进行交叉验证,迭代调整参数,找到最优模型。交叉验证是随机地将训练数据集切分成K个互不相关的大小相同的子样本,然后利用K-1个子样本的数据训练模型,利用余下的子样本测试模型,将这一过程对可能的K种选择重复进行,最后选出K次验证中错误率最小的模型作为最优模型。
迭代调整参数的过程举例说明如下:
例如,第一次验证时,选择第1,2,3…,K-1个子样本作为训练子样本构建模型,第K个子样本作为验证子样本输入至模型中获得预测结果,可以先调整max_depth参数,初始值设置为10,采用上述的方法计算出该模型的错误率error11,然后假设将max_depth调整到8,计算此时的错误率error12变高;那么下次就将max_depth调整到12,如果max_depth调整到12,错误率error13比error11低,那么下次可以尝试将max_depth调整到15。在找到最优的max_depth参数之后,可以接着调整subsample参数,subsample初始值设置为1,然后调整到0.7,如果错误率变高,下次就调整到0.8,如果还是错误率变高,就保持为1。接着调整其他参数,方法与上面同理,在此不再赘述。还可以计算该第一次验证过程中所有参数调整过程中的多个错误率的第一平均错误率。
第二验证时,选择第2,3,4…,K个子样本作为训练子样本构建模型,第1个子样本作为验证子样本输入至模型中获得预测结果,参数调整的过程与上述第一次验证时类似,在此不再重复说明。还可以计算该第一次验证过程中所有参数调整过程中的多个错误率的第二平均错误率。
这样迭代K次,每一次交叉验证都可以得到一个平均错误率,进行了K次交叉验证,就有K个平均错误率。选择平均错误率最小的模型作为最优模型用于预测本次大促的测试数据集的热销商品。
K次交叉验证的目的是测试模型在未知数据上的性能,由于无法提前获知训练的模型在预测新数据(测试数据集)时的性能,而直接将新数据放在模型中进行预测是很危险的做法。因为模型可能在训练数据中已经过拟合了,于是在未被训练的新数据中性能差。K次交叉验证使用一部分数据做训练模型,另外一部分数据用来验证模型性能,把训练数据集的数据分为K份,调整参数使得K次交叉验证平均错误率最小的那一组参数就是最优模型的参数。进行K次交叉验证可以调整模型的泛化能力。
继续参考图1,在步骤S140中,将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
在示例性实施例中,在最优模型中传入测试数据集即本次要预测的大促活动的特征数据,得到要预测的大促热销商品的预测结果。
在示例性实施例中,还包括:将上述步骤S140预测出的本次大促的热销商品的预测结果写入hive表。可以将该hive表提供给线上业务。
本发明实施方式提供的热销商品预测方法,一方面,预测模型输入的特征数据(历史上的某次或某几次大促以及本次要预测的大促)是基于大促前一段时期的订单、浏览、评论、店铺、品牌等维度,经过数据的预处理后,使数据更具有稳定性;另一方面,通过构建预测模型挖掘出本次大促期间的热销商品,可以将其推送给电商网站的用户,不需要用户手动去搜索,提高了用户体验,同时也能提高购物转化率,减轻网站服务器的搜索请求量。
在一些实施例中,通过机器学习中的xgboost算法构建预测模型,挖掘大促期间的热销商品,构建了大促期间热销商品的生态环境,使公司更好地了解大促期间商品的热销层次,从而公司可以有策略地优化大促期间不同热度的商品,针对性地制定商品大促热销方案,具有重大意义。
算法层面上,xgboost算法自定义了一个数据矩阵类(指特征数据和标签数据构成的模型输入数据),提高了数据迭代的运行效率,准确度,表现出高效准确的能力。相比于传统的二元逻辑回归和决策树模型,xgboost算法对样本学习能力更强,它既可以进行线性学习也可以进行非线性学习,比较适合大促期间热销商品实际数据的特征分布。
业务层面上,使用距离本次大促最近的上一次大促期间的商品数据训练好模型,该模型用来预测本次大促期间的热门商品,能够帮助用户快速找出热销的商品。xgboost算法正好满足了这一业务需求,在GBDT基础上加以改进,对海量数据的处理速度也是xgboost算法的优势,所以适合用来预测大促热销商品。
图4示意性示出本公开示例性实施例中另一种热销商品预测方法的流程图。
如图4所示,在步骤S210中,获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据。
在步骤S220中,获取第二预设时间段内的第二特征数据。
在步骤S230中,根据所述第一商品数据构建一预测模型。
上述步骤S210-S230与上述实施例中的类似,在此不再重复。
在步骤S240中,分析所述预测模型的评估指标。
可以采用多种评估指标来分析所述预测模型的性能。比如在预测大促热销商品的模型中可以使用ROC曲线、AUC曲线、F值、覆盖度等中的任意一种或者多种。
其中ROC曲线是对分类模型的真阳性率-假阳性率的图形化解释,ROC曲线表示了分类器性能在不同决策阈值下的折中,曲线上每个点代表分类器决策函数中不同的阈值。
AUC曲线定义为ROC曲线下的面积,AUC值越大的分类器,正确率越高。
F值是评估模型性能的另一种指标,定义为准确率和召回率的调和平均数,数学表达式为:
这里的准确率通常用来评价预测结果的质量。在二分类问题中,准确率定义为真阳性的数目除以真阳性和假阳性的总数,其中真阳性是指被正确预测的类别为1的样本,假阳性是指错误预测为类别为1的样本。如果每个被分类器预测为类别为1的样本确实属于类别1,那准确率达到100%。
召回率定义为真阳性的数目除以真阳性和假阳性的和,其中假阴性是类别为1却被预测为0的样本。如果任何一个类型为1的样本没有被错误预测为类别0(即没有假阴性),那召回率达到100%。
准确率和召回率是负相关的,高准确率常常对应低召回率,反之亦然。下面举例说一下,假设训练了一个模型的预测输出永远是类别1,因为总是预测输出类别1,所以模型预测结果不会出现假阴性,这样也不会错过任何类别1的样本。于是,得到模型的召回率是1。另一方面,假阳性会非常高,意味着准确率非常低(这样依赖各个标签数据在训练数据集中的分布情况)。
此外,本实施方式还实现了自动化,剔除人工干扰,降低人员成本,通过增加了大促期间全部或者部分品类下的热销商品的准确率和召回率的计算,对提升大促期间热销商品的推荐效果和帮助用户从海量数据中筛选自己想要的商品都具有重要意义。
在示例性实施例中,还可以包括:从特征结果hive表中提取出大促热销商品的特征数据,然后再分区间段统计数据得到的各热销商品的特征分布。可以采用SQL语句提取得到。
例如,参考图5,为某一二级品类下的商品的移动短期订单特征分布。其中feature10(特征10)是大促前10天移动订单量,然后把订单量排在前5%的商品的feature10赋值为“1”,订单量排在5%-15%的商品的feature10赋值为“2”,订单量排在15%-30%的商品的feature10赋值为“3”,订单量排在30%以后的商品的feature10赋值为“4”。横坐标feature10_1表示feature10特征值是“1”的商品数据,feature10_2表示feature10特征值是“2”的商品数据,feature10_3表示feature10特征值是“3”的商品数据,feature10_4表示feature10特征值是“4”的商品数据。图5中的纵坐标表示商品个数,也就是全站短期订单这个维度的特征,特征值是“1”、“2”、“3”、“4”的商品分别有多少个。
在步骤S250中,根据所述评估指标的分析结果对所述预测模型进行优化。
本示例实施方式中,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:调整所述第一特征数据和/或所述第一标签数据和/或所述第二特征数据。
还是以xgboost算法为例,可以通过上述对模型的准确率、召回率、F值、ROC曲线、AUC曲线的评估分析来看,一部分二级品类预测很好,这部分预测好的二级品类就用这棵决策树是合适的。但是也有一部分二级品类不符合预期,对这部分二级品类,可能有以下原因:1、特征划分的范围需变化;2、决策树的参数设置例如树的深度、分裂数等需调整;3、训练数据集可能出现过拟合;4、训练数据集中的第一标签数据的不同类别(例如0和1)的数量比例需调整。对不同的二级品类分类讨论,用不同的预测模型。
一方面,由于所有二级品类下的特征数据纷繁复杂、数据庞大。不能一次性用同样的规则,使用全部的数据来训练,根据不同的二级品类,特征分布可以取不同的分界点或者阈值进行特征划分。
另外,上述分析步骤S240也可以为优化步骤找到可行的优化点,分析训练数据和测试数据所有特征的特征值分布,可以发现,准确率高的品类和准确率低的品类特征值分布是不同的,这时就可以调节品类效果差的商品的特征值分布。例如,根据上述分析结果得到的,对比预测不好的品类女装和预测好的品类大家电,特征分布的差异还是很明显的,比如特征5,特征6,特征11,特征12,女装之所以预测不好,是因为关键特征的趋势就与大部分品类不一样,对于这种特殊的品类就应当单独对其特征值进行赋值,是不适合目前这个预测模型的。
一方面,考虑了训练数据为稀疏值的情况,可以为缺失值指定分支,这提升了算法的效率。需要在数据预处理上做数据数量限制,使第一标签数据中的“0”和“1”比较平衡。例如,有一部分二级品类,商品数量很多或很少,给这部分二级品类下的商品打标签“1”或“0”时,可以不取订单量的前15%作为分界点,而是把分界点或者阈值适当调高或降低。比如“女装”、“男装”这样的二级品类,商品数量就比较多,若统一按照前面打标签的规则把销量前15%的打标签为“1”,其余的打标签“0”,从数据的绝对数量来看,进入训练集标签为“1”的数据个数远少于标签为“0”的数据个数,这样就出现了稀疏特征,这是可以给“女装”、“男装”这样的二级品类重新打标签,销量前30%的打标签“1”,其余的打标签“0”,使得训练数据集中稀疏特征减少。
本示例实施方式中,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:调整所述预测模型的参数。
在训练数据集中,针对预测效果比较差的品类,可以重新从数据获取步骤S230开始,调整xgboost算法的参数,使其适合某些特有品类,调整参数的方法可以采用上述交叉验证过程中类似的方法。有的品类在训练数据集上准确度较高,但在测试数据集上效果不理想,可能是因为模型过拟合引起的,这时可以调整模型中max_depth,eta,gamma和num_round等参数,使得模型复杂度降低,从而减少过拟合。
另一方面,还可以对预测模型进行剪枝处理。剪枝是对付“过拟合”的主要手段,在xgboost学习中,为了尽可能正确分类训练样本,节点划分过程将不断重复,有时会造成决策树分支过多,这是就可能因为训练样本学得“太好”了,以至于把训练集自身的一些特点当作所有数据都具有的一般性质而导致过拟合,因此可以通过主动去掉一些分枝来降低过拟合风险。
此外,就机器学习算法来说,其泛化误差可以分解为两部分,偏差和方差。偏差指的是算法的期望预测与真实预测之间的偏差程度,反应了模型本身的拟合能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。xgboost通过迭代地训练一系列的分类器,每个分类器采用的样本分布和上一轮的学习结果有关,每一步都会在上一轮的基础上拟合原数据,这样算法本身不断在改进,可以选择深度很浅的决策树,降低了模型复杂度。
在步骤S260中,将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
综上所述,本示例实施方式中的技术方案,通过结合电商网站大促期间用户维度和商品维度的特征数据,运用机器学习算法(例如xgboost)建立预测本次大促期间的热销商品的模型,对于提高大促期间推荐的热销商品的转化率,构建大促期间商品热销的结构体系,都有重要意义。
本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理步骤并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
进一步的,本示例实施方式中还提供了一种热销商品预测系统。参考图6中所示,所述热销商品预测系统100可以包括第一获取模块110、第二获取模块120、模型构建模块130以及商品预测模块140。其中:
第一获取模块110可以用于获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据。其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中
第二获取模块120可以用于获取第二预设时间段内的第二特征数据。
模型构建模块130可以用于根据所述第一商品数据构建一预测模型。所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置。
参考图7,本示例实施方式中,模型构建模块130可包括:参数设置单元131,用于设置所述预测模型的参数的初始值;子样本分割单元133,用于将所述第一商品数据分为K个子样本;训练单元135,用于选择所述K个子样本中的部分子样本用于训练所述预测模型;验证单元137,用于选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型;参数调整单元139,用于根据验证结果调整所述预测模型的参数。
其中商品预测模块140可以用于将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
本示例实施方式中,所述热销商品预测系统100还可以包括:分析模块,可以用于分析所述预测模型的评估指标;优化模块,可以用于根据所述评估指标的分析结果对所述预测模型进行优化。
上述热销商品预测系统中各模块/单元的具体细节已经在对应的热销商品预测方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
进一步的,本示例实施方式中还提供了一种热销商品预测装置,包括:处理器;以及存储器,用于存储所述处理器的可执行指令。
其中所述处理器配置为经由执行所述可执行指令来执行以下操作:获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;获取第二预设时间段内的第二特征数据;根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、电子设备、或者网络设备等)执行根据本发明实施方式的方法。
以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (14)
1.一种热销商品预测方法,其特征在于,包括:
获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;
获取第二预设时间段内的第二特征数据;
根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;
将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
2.根据权利要求1所述的热销商品预测方法,其特征在于,所述第一特征数据包括所述第一预设时间段内的第一预定时间间隔内的商品的浏览特征、品牌特征、店铺特征、评论特征、上架时长特征、订单特征、库存特征中的多种或者全部。
3.根据权利要求1所述的热销商品预测方法,其特征在于,获取所述第一标签数据包括:
根据所述第一预设时间段内的第二预定时间间隔内的商品的订单量将商品划分为热销商品和非热销商品;
给所述热销商品打上第一标签,所述非热销商品打上第二标签。
4.根据权利要求1所述的热销商品预测方法,其特征在于,还包括:
将所述第一特征数据和所述第一标签数据进行关联;
将关联后的所述第一特征数据和所述第一标签数据整理成所述预测模型要求的输入数据格式。
5.根据权利要求1所述的热销商品预测方法,其特征在于,所述根据所述第一商品数据构建一预测模型,包括:
设置所述预测模型的参数的初始值;
将所述第一商品数据分为K个子样本;
选择所述K个子样本中的部分子样本用于训练所述预测模型;
选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型;
根据验证结果调整所述预测模型的参数。
6.根据权利要求1所述的热销商品预测方法,其特征在于,还包括:
分析所述预测模型的评估指标;
根据所述评估指标的分析结果对所述预测模型进行优化。
7.根据权利要求6所述的热销商品预测方法,其特征在于,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:
调整所述第一特征数据和/或所述第一标签数据和/或所述第二特征数据。
8.根据权利要求6所述的热销商品预测方法,其特征在于,所述根据所述评估指标的分析结果对所述预测模型进行优化包括:
调整所述预测模型的参数。
9.根据权利要求1所述的热销商品预测方法,其特征在于,所述预测模型采用xgboost算法。
10.一种热销商品预测系统,其特征在于,包括:
第一获取模块,用于获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;
第二获取模块,用于获取第二预设时间段内的第二特征数据;
模型构建模块,用于根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;
商品预测模块,用于将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
11.根据权利要求10所述的热销商品预测系统,其特征在于,所述模型构建模块包括:
参数设置单元,用于设置所述预测模型的参数的初始值;
子样本分割单元,用于将所述第一商品数据分为K个子样本;
训练单元,用于选择所述K个子样本中的部分子样本用于训练所述预测模型;
验证单元,用于选择所述K个子样本中的另一部分子样本用于验证训练后的所述预测模型;
参数调整单元,用于根据验证结果调整所述预测模型的参数。
12.根据权利要求10所述的热销商品预测系统,其特征在于,还包括:
分析模块,用于分析所述预测模型的评估指标;
优化模块,用于根据所述评估指标的分析结果对所述预测模型进行优化。
13.一种热销商品预测装置,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中所述处理器配置为经由执行所述可执行指令来执行以下操作:
获取第一预设时间段内的第一商品数据,所述第一商品数据包括第一特征数据和第一标签数据,其中所述第一特征数据包括多个特征的多个特征值,根据所述多个特征的多个特征值的大小分别对各个特征相应的多个特征值进行排序并分布式存储于块结构中;
获取第二预设时间段内的第二特征数据;
根据所述第一商品数据构建一预测模型,所述预测模型包括多棵决策树,所述决策树包括多个按序排列的节点,其中从所述块结构中同时读取各个特征相应的多个特征值,根据各个特征相应的多个特征值多线程并行计算各个特征的信息增益,并根据各个特征的信息增益的大小决定各个特征处于所述决策树的节点的位置;
将所述第二特征数据输入至所述预测模型,预测所述第二预设时间段内的热销商品。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710036375.7A CN108320171B (zh) | 2017-01-17 | 2017-01-17 | 热销商品预测方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710036375.7A CN108320171B (zh) | 2017-01-17 | 2017-01-17 | 热销商品预测方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108320171A CN108320171A (zh) | 2018-07-24 |
CN108320171B true CN108320171B (zh) | 2020-11-03 |
Family
ID=62892123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710036375.7A Active CN108320171B (zh) | 2017-01-17 | 2017-01-17 | 热销商品预测方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108320171B (zh) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2781742A1 (en) | 2013-01-17 | 2014-09-24 | Danfoss A/S | Shape memory alloy actuator for valve for refrigeration system |
CN109214587A (zh) * | 2018-09-27 | 2019-01-15 | 重庆智万家科技有限公司 | 一种基于三支决策的商品需求预测与物流分仓规划方法 |
CN109801094B (zh) * | 2018-12-07 | 2021-06-08 | 珠海中科先进技术研究院有限公司 | 一种商业分析管理推荐预测模型的方法及系统 |
CN110009154B (zh) * | 2019-04-03 | 2023-05-30 | 深圳威狮物流网络科技有限公司 | 一种退款预测方法、装置、终端设备及存储介质 |
CN111898786A (zh) * | 2019-05-05 | 2020-11-06 | 顺丰科技有限公司 | 一种电子锁需求预测方法、系统、设备及存储介质 |
CN110222723B (zh) * | 2019-05-14 | 2021-07-20 | 华南理工大学 | 一种基于混合模型的足球比赛首发预测方法 |
CN110310168A (zh) * | 2019-05-17 | 2019-10-08 | 北京小度信息科技有限公司 | 模型的调整方法、装置、服务器和存储介质 |
CN110334732A (zh) * | 2019-05-20 | 2019-10-15 | 北京思路创新科技有限公司 | 一种基于机器学习的空气质量预报方法和装置 |
CN110222278B (zh) * | 2019-06-18 | 2022-05-17 | 东北大学 | 综合因素下用户位置的获取方法 |
CN110458360B (zh) * | 2019-08-13 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 热门资源的预测方法、装置、设备及存储介质 |
CN110675101A (zh) * | 2019-08-15 | 2020-01-10 | 浙江国自机器人技术有限公司 | 订单分拣方法、装置、计算机设备和存储介质 |
CN110618984B (zh) * | 2019-08-27 | 2023-02-03 | 西安因联信息科技有限公司 | 一种停机振动数据清洗方法 |
CN110570244A (zh) * | 2019-09-04 | 2019-12-13 | 深圳创新奇智科技有限公司 | 一种基于异常用户识别的热销商品构建方法和系统 |
CN110727659B (zh) * | 2019-10-24 | 2023-08-18 | 深圳前海微众银行股份有限公司 | 基于sql语句的决策树模型生成方法、装置、设备及介质 |
CN111160929B (zh) * | 2019-12-26 | 2024-02-09 | 深圳前海微众银行股份有限公司 | 一种客户类型的确定方法及装置 |
CN111401980B (zh) * | 2020-02-19 | 2021-07-02 | 北京值得买科技股份有限公司 | 一种提升样本排序多样性方法以及装置 |
CN113379173B (zh) * | 2020-03-09 | 2023-11-07 | 北京京东振世信息技术有限公司 | 为仓库商品标记标签的方法和装置 |
CN111898675B (zh) * | 2020-07-30 | 2021-04-23 | 北京云从科技有限公司 | 信贷风控模型生成方法、装置、评分卡生成方法、机器可读介质及设备 |
CN112613953A (zh) * | 2020-12-29 | 2021-04-06 | 北京环球国广媒体科技有限公司 | 一种商品选品方法、系统及计算机可读存储介质 |
CN113052533B (zh) * | 2021-03-24 | 2023-07-14 | 中国科学技术大学 | 概率产品的库存异动预警与调拨方案更新方法及系统 |
CN113393279A (zh) * | 2021-07-08 | 2021-09-14 | 北京沃东天骏信息技术有限公司 | 一种订单数量的预估方法及系统 |
CN113627846A (zh) * | 2021-08-10 | 2021-11-09 | 北京沃东天骏信息技术有限公司 | 一种库存调整方法、装置、电子设备及计算机可读介质 |
CN113923500B (zh) * | 2021-09-30 | 2024-05-14 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、服务器及存储介质 |
CN114969436A (zh) * | 2022-06-01 | 2022-08-30 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频热度预测方法及装置、存储介质及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423215A (zh) * | 2001-11-27 | 2003-06-11 | 株式会社世界 | 销售预测装置及销售预测方法 |
CN101783004A (zh) * | 2010-03-03 | 2010-07-21 | 陈嵘 | 快速智能化的商品推荐系统 |
CN104517224A (zh) * | 2014-12-22 | 2015-04-15 | 浙江工业大学 | 一种网络热销商品的预测方法及系统 |
CN105469263A (zh) * | 2014-09-24 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种商品推荐方法及装置 |
CN105701553A (zh) * | 2014-11-24 | 2016-06-22 | 财团法人资讯工业策进会 | 商品销量预测系统及商品销量预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921029B2 (en) * | 2005-01-22 | 2011-04-05 | Ims Software Services Ltd. | Projection factors for forecasting product demand |
-
2017
- 2017-01-17 CN CN201710036375.7A patent/CN108320171B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1423215A (zh) * | 2001-11-27 | 2003-06-11 | 株式会社世界 | 销售预测装置及销售预测方法 |
CN101783004A (zh) * | 2010-03-03 | 2010-07-21 | 陈嵘 | 快速智能化的商品推荐系统 |
CN105469263A (zh) * | 2014-09-24 | 2016-04-06 | 阿里巴巴集团控股有限公司 | 一种商品推荐方法及装置 |
CN105701553A (zh) * | 2014-11-24 | 2016-06-22 | 财团法人资讯工业策进会 | 商品销量预测系统及商品销量预测方法 |
CN104517224A (zh) * | 2014-12-22 | 2015-04-15 | 浙江工业大学 | 一种网络热销商品的预测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108320171A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108320171B (zh) | 热销商品预测方法、系统及装置 | |
CN107423442B (zh) | 基于用户画像行为分析的应用推荐方法及系统,储存介质及计算机设备 | |
US10410138B2 (en) | System and method for automatic generation of features from datasets for use in an automated machine learning process | |
WO2019214245A1 (zh) | 一种信息推送方法、装置、终端设备及存储介质 | |
CN110163647B (zh) | 一种数据处理方法及装置 | |
CN110532479A (zh) | 一种信息推荐方法、装置及设备 | |
CN110428298A (zh) | 一种店铺推荐方法、装置及设备 | |
CN106095942B (zh) | 强变量提取方法及装置 | |
CN108846097B (zh) | 用户的兴趣标签表示方法、文章推荐方法、及装置、设备 | |
CN116431931B (zh) | 实时增量数据统计分析方法 | |
CN110310012B (zh) | 数据分析方法、装置、设备及计算机可读存储介质 | |
CN111429161B (zh) | 特征提取方法、特征提取装置、存储介质及电子设备 | |
CN113704599A (zh) | 营销转化用户的预测方法、装置及计算机设备 | |
CN111695084A (zh) | 模型生成方法、信用评分生成方法、装置、设备及存储介质 | |
CN116187524B (zh) | 一种基于机器学习的供应链分析模型对比方法及装置 | |
CN112149352A (zh) | 一种结合gbdt自动特征工程对营销活动点击的预测方法 | |
CN114254615A (zh) | 组卷方法、装置、电子设备和存储介质 | |
CN113076484A (zh) | 基于深度学习的产品推荐方法、装置、设备和存储介质 | |
US20150088789A1 (en) | Hierarchical latent variable model estimation device, hierarchical latent variable model estimation method, supply amount prediction device, supply amount prediction method, and recording medium | |
CN110083766B (zh) | 一种基于元路径引导嵌入的查询推荐方法及装置 | |
CN114444807A (zh) | 一种企业业绩的预测方法、系统和存储介质 | |
CN114139725A (zh) | 业务对象的预测方法、设备及存储介质 | |
CN109960777B (zh) | 物品评论个性化推荐方法、系统、电子设备及存储介质 | |
CN112632275B (zh) | 基于个人文本信息的人群聚类数据处理方法、装置及设备 | |
CN110490682A (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 |