基于机器学习的网络电视订单退订预测方法与流程

allin2022-07-12  301



1.本发明涉及互联网电视领域,特别是基于机器学习的网络电视订单退订预测方法。


背景技术:

2.随着5g、人工智能、物联网等技术的融合发展,我们将推进到第三代互联网时代。未来是一个万物互联的时代,包括机器与机器、机器与环境、人与人、智能连接的资产价值越来越高,人们的生产生活方式将深刻改变,教育、养老、医疗等各个行业将深刻变革。5g的到来,电视不仅不会消失,反而会是家庭物联网的第一切入口。智能电视将迎来第二个蓬勃发展时期,其将成为以用户为中心的智能化生态系统。
3.近几年随着各大互联网公司对于用户付费习惯的培养,用户付费盈利模式己经成熟,越来越多的用户接受通过付费获取更高质量的服务。用户付费市场是一个很大的市场,可以给企业带来大量的资金利益收入,这在很大程度上可以解决网络电视企业盈利难题,用户付费商业模式的可行性逐渐得到印证。同时,根据中国最大电视厂家海信电视的统计分析,愿意付费观看节目的用户越来越多。但随着通信技术的快速发展和互联网技术的不断创新,网络电视市场的竞争越来越激烈。随着各种互联网在线观看软件的流行,人们观看视频的方式也更加丰富,提供付费节目的方式也越来越便利。各大付费节目提供商都在想尽办法提高用户满意度和忠诚度,随之带来了一个具有挑战性的课题,即如何预测用户是否会退订一笔付费套餐订单。对于付费套餐退订预测的研究,有助于帮助付费节目提供商了解付费套餐的观看情况,及时调整付费套餐的内容制定与售卖活动;同时,借助机器学习这一工具,通过对用户的购买行为和观看行为建模,利用建模信息,对用户是否会退订付费套餐这一行为作出及时的预测,使付费节目提供商尽早发现这一行为,并针对用户采取挽留策略,从而达到降低付费订单流失率,增加收益的目标。
4.在客户流失预测方法研究方面,最初都是使用传统的统计学方法,后来逐步演变为使用机器学习算法解决客户流失预测问题。mozer(1997)首次使用描述性统计分析对电信客户流失预测问题进行系统的研究。madden(2002)采用logistic算法建立了最简单的电信客户流失预测模型。叶开文(2005)基于企业的服务水平、客户的购买心理等因素进行量化研究,建立贝叶斯网络客户流失预测模型。neuman(2007)率先采用了决策树算法建立客户流失预测模型,并且使用auc值作为模型评估指标,取得了良好的预测效果。夏国恩(2013)采用改进的支持向量机算法建立客户流失预测模型,相比于传统的支持向量机算法,模型的预测能力显著提升。yan(2018)首次使用改进后的bp神经网络算法,通过收集大量的电信用户历史交易数据,使用网格搜索算法调整网络参数。
5.目前,其国内外研究客户流失问题的技术非常丰富,且该问题的研究已经在许多行业都得到应用,如金融业、保险业、电信业等等。然而,应用的有效性并不是绝对的,很大程度上取决于应用背景是否适用、数据的质量是否可靠、技术方案的设计是否合理,就目前现有的技术方案来说,尚还存在以下缺点:
6.1.目前的客户流失问题的解决方案,主要集中在以用户为单位作为预测对象的方案,这种方案只是预测出可能流失的用户,但是并没有对用户所拥有的更细粒度的对象(如付费订单)做出预测。预测出的对象粒度越细,越能精准地对用户采取干预挽留策略,达到降低损失流失率,提升收益的目标。
7.2.目前的客户流失问题的解决方案,没有涉及网络电视行业。在5g盛行的时代,主流的信息媒介已从文字图片逐渐转向视频,人们对视频的依赖程度越来越高。而网络电视行业中的付费视频内容,正是当前企业产生盈利的重要手段,如果能将客户流失问题的解决方案应用于此,让企业尽早的发现即将流失的用户,降低客户流失率,可以给企业带来莫大的价值。


技术实现要素:

8.本发明的目的在于,提供基于机器学习的网络电视订单退订预测方法。本发明具有以用户更细粒度对象为基准进行预测,预测效果更好,能应用在网络电视行业,减少企业损失的优点。
9.本发明的技术方案:基于机器学习的网络电视订单退订预测方法,步骤如下:
10.a、源数据获取:从数据库中获取所需的源数据,所述源数据至少包括订单信息、观看日志和购买日志;
11.b、数据预处理:将获取的源数据进行预处理,从源数据中提取出所需的特征;
12.c、特征工程:将经过预处理的数据进行特征工程处理;
13.d、模型建立:基于数据对建立的模型进行训练;
14.e、预测:利用训练好的模型进行预测。
15.前述的基于机器学习的网络电视订单退订预测方法中,步骤a所述的源数据获取,其具体内容如下:
16.所述订单信息包括订单基本信息;所述订单基本信息至少包括订单号、用户账号和订单状态;
17.所述观看日志包括用户近期观看信息和订单近期观看信息;所述用户近期观看信息至少包括直播信息、回看信息和点播信息;所述订单近期观看信息至少包括订单近期观看时长和订单近期观看次数
18.所述购买日志包括用户近期购买信息;所述用户近期购买信息至少包括购买信息和退订信息;所述购买信息至少包括购买数和购买种类;所述退订信息至少包括退订数和退订种类。
19.前述的基于机器学习的网络电视订单退订预测方法中,步骤b所述的数据预处理,其具体步骤如下:
20.b1、数据清洗:对获取的源数据进行重新审查和校验,删除重复信息、纠正错误信息并确保数据具有一致性;
21.b2、数据划分:将经过数据清洗后的数据划分为训练集和测试集。
22.前述的基于机器学习的网络电视订单退订预测方法中,步骤b1所述的数据清洗,其步骤如下:
23.b1.1缺失值处理:采用删除和填充的方式处理缺失值;
24.b1.2逻辑错误值处理:采用删除、覆盖和截断的方式处理逻辑错误值;
25.b1.3重复值处理。
26.前述的基于机器学习的网络电视订单退订预测方法中,步骤c所述的特征工程,具体步骤如下:
27.c1、离散型变量编码:使用label encoding对离散型变量进行编码处理;
28.c2、特征衍生:从用户特征和订单特征两个方面出发进行特征衍生;
29.c3、标准化:采用多种标准化方式将数据限定到同一范围内。
30.前述的基于机器学习的网络电视订单退订预测方法中,步骤c1所述的离散型变量编码,其具体内容如下:
31.使用label encoding对关键离散型变量进行编码处理;所述关键离散型变量至少包括用户所属地市、客户端版本、节目集名称和牌照方。
32.前述的基于机器学习的网络电视订单退订预测方法中,步骤c2所述的特征衍生,其具体内容如下:
33.根据源数据中用户相关的数据扩展出更全面的用户相关特征;
34.根据源数据中订单相关的数据扩展出更全面的订单相关特征;
35.所述用户相关特征至少包括用户开户时间、用户目前订单数、用户观看总时长和用户观看种类占比;
36.所述订单相关特征至少包括订单持续时间、订单总花费和订单观看占比。
37.前述的基于机器学习的网络电视订单退订预测方法中,步骤c3所述的标准化,其具体内容如下:
38.所述标准化,就是将不同纬度上的数据通过一定的算法都限定在同一范围;
39.所述标准化方式至少包括min max normalization和standard deviation normalization。
40.前述的基于机器学习的网络电视订单退订预测方法中,步骤d所述的模型建立,其具体内容如下:
41.采用以部分随机决策树作为基学习器的梯度提升决策树为基础构建模型。
42.前述的基于机器学习的网络电视订单退订预测方法中,所述以部分随机决策树作为基学习器的梯度提升决策树的具体内容如下:
43.回归树为加法模型,其公式为其中,i[x∈r
l
]是指示函数,b
l
是第l个内部节点;r
l
是通过第l个内部节点的划分规则在训练集上所划分出来的区域;v是决策树的节点集合;
[0044]
以回归树为梯度提升学习算法的基学习器可以将近似方程写成其中,vi是第i棵树的节点集;
[0045]
指示函数i[x∈r
l
]是通过所有关于第l个节点的划分规则来决定的,其中left(l)是划分为true分支的
第l个节点的划分规则集合;right(l)是划分为false分支的第l个节点的划分规则集合。
[0046]
与现有技术相比,本发明数据取材、特征工程和构建模型方面均具有改进;
[0047]
在数据取材和特征工程方面,在如今大数据的环境下,大部分数据都是冗余且无效的,而机器学习模型最终表现的好坏,与数据的质量好坏有着强相关的关系;因此,根据待解决的任务以及业务背景,取出合适的数据、最能表达业务知识的数据,是提高模型表现并解决问题的至关重要的第一步;本发明在网络电视行业的背景下,以预测在未来一个月内客户是否会退订付费产品包订单为目标,试图从领域知识、业务经验和用户行为习惯等各个角度出发,甄选出最有利于解决预测目标任务的基础数据;在有了合适的基础数据的情况下,数据加工能够进一步丰富数据表征含义,为解决预测目标任务打下夯实基础;本发明在始终未脱离网络电视业务知识与背景的情况下,做了合理的数据取材、数据预处理、数据清洗、特征编码以及特征衍生,极大地提升了模型最终表现的上限;
[0048]
在模型构建方面,本发明选用当前集成学习中运用最广泛的梯度提升决策树作为基础模型,并做了相应的改进;将梯度提升决策树的基学习器从传统的cart决策树、c4.5决策树改进成部分随机决策树。这个改动一方面加速了整个集成学习的训练速度、降低模型计算复杂度,使计算成本大幅降低;另一方面在一定程度上解决了因训练数据的数据分布不够密集使得函数部分区域不连续性的出现,进而导致模型预测误差过大的问题;
[0049]
本发明针对目前市场较热的行业,为业界提出了一套清晰、高效、可用的技术方案,相对于人为的随机猜测,模型预测的效率更高;模型预测的效率越高,尽早发现可能退订的订单的效率就越高,若进行及时的干预策略,订单的流失率就越低,企业损失的利益就越少。
[0050]
因此,本发明具有以用户所拥有的更细粒度对象(订单)为目标进行预测,预测效果更好,能应用在网络电视行业,提前预测可能流失的订单以减少企业损失的优点。
附图说明
[0051]
图1是本发明流程图;
[0052]
图2是本发明特征工程的流程图;
[0053]
图3是函数f的不连续性;
[0054]
图4是不连续函数f的划分区域。
具体实施方式
[0055]
下面结合附图和实施例对本发明作进一步的说明,但并不作为对本发明限制的依据。
[0056]
实施例。基于机器学习的网络电视订单退订预测方法,如图1-3所示,步骤如下:
[0057]
a、源数据获取:从数据库中获取所需的源数据,所述源数据至少包括订单信息、观看日志和购买日志;
[0058]
b、数据预处理:将获取的源数据进行预处理,从源数据中提取出所需的特征;
[0059]
c、特征工程:将经过预处理的数据进行特征工程处理;
[0060]
d、模型建立:基于数据对建立的模型进行训练;
[0061]
e、预测:利用训练好的模型进行预测。
[0062]
步骤a所述的源数据获取,其具体内容如下:
[0063]
所述订单信息包括订单基本信息;所述订单基本信息包括订单号、用户账号、用户开户时间、用户所属地市、客户端版本、业务类型、商品类型、产品名称、订单状态等;
[0064]
所述观看日志包括用户近期观看信息和订单近期观看信息;所述用户近期观看信息包括用户近一月直播时长(秒)、用户近一月直播次数、用户近一月回看时长(秒)、用户近一月回看次数、用户近一月点播时长(秒)、用户近一月点播次数、用户近一月付费点播时长(秒)、用户近一月付费点播次数等;所述订单近期观看信息包括订单近7天观看时长(秒)、订单近7天观看次数、订单近一月观看时长(秒)、订单近一月观看次数、订单前两月观看时长(秒)、订单前两月观看次数、订单前三月观看时长(秒)、订单前三月观看次数等;
[0065]
所述购买日志包括用户近期购买信息;所述用户近期购买信息包括用户总共订单数、用户总共订购产品包种类数、用户总共退订订单数、用户总共订单付费金额、用户近一年订单数、用户近一年订购产品包种类数、用户近一年退订订单数、用户近一年订单付费金额等。
[0066]
步骤b所述的数据预处理,其具体步骤如下:
[0067]
b1、数据清洗:对获取的源数据进行重新审查和校验,删除重复信息、纠正错误信息并确保数据具有一致性;
[0068]
b2、数据划分:将经过数据清洗后的数据划分为训练集和测试集。
[0069]
步骤b1所述的数据清洗,其步骤如下:
[0070]
b1.1缺失值处理:采用删除和填充的方式处理缺失值;
[0071]
b1.2逻辑错误值处理:采用删除、覆盖和截断的方式处理逻辑错误值;
[0072]
b13重复值处理。
[0073]
缺失值处理具体内容为:某些字段在为空值的情况下,应该选择何种方法进行处理,常规的方法有:1)删除记录2)填充(包括均值填充、众数填充以及根据业务理解自定义填充值);
[0074]
逻辑错误值处理具体内容为:某些字段的值是有合理的取值范围的,超出取值范围的值被称为异常值或逻辑错误值,可以通过数据修正的手段将其合理化,主要方法有:1)删除记录2)覆盖(选择一个合理进行覆盖,一般选用均值、众数和分位数)3)截断(对于某些超大数值进行截断,截断为合理取值范围的最大值)。
[0075]
步骤c所述的特征工程,具体步骤如下:
[0076]
c1、离散型变量编码:使用label encoding对离散型变量进行编码处理;
[0077]
c2、特征衍生:从用户特征和订单特征两个方面出发进行特征衍生;
[0078]
c3、标准化:采用多种标准化方式将数据限定到同一范围内。
[0079]
步骤c1所述的离散型变量编码,其具体内容如下:
[0080]
使用label encoding对关键离散型变量进行编码处理;所述关键离散型变量至少包括用户所属地市、客户端版本、节目集名称和牌照方。
[0081]
步骤c2所述的特征衍生,其具体内容如下:
[0082]
根据源数据中用户相关的数据扩展出更全面的用户相关特征;
[0083]
根据源数据中订单相关的数据扩展出更全面的订单相关特征;
[0084]
所述用户相关特征至少包括用户开户时间、用户目前订单数、用户观看总时长和
用户观看种类占比;
[0085]
所述订单相关特征至少包括订单持续时间、订单总花费和订单观看占比。
[0086]
步骤c3所述的标准化,其具体内容如下:
[0087]
所述标准化,就是将不同纬度上的数据通过一定的算法都限定在同一范围;
[0088]
所述标准化方式至少包括min max normalization和standard deviation normalization。
[0089]
步骤d所述的模型建立,其具体内容如下:
[0090]
采用以部分随机决策树作为基学习器的梯度提升决策树为基础构建模型。
[0091]
所述以部分随机决策树作为基学习器的梯度提升决策树的具体内容如下:
[0092]
回归树为加法模型,其公式为i[x∈r
l
]是指示函数,b
l
是第l个内部节点;r
l
是通过第l个内部节点的划分规则在训练集上所划分出来的区域;v是决策树的节点集合;
[0093]
以回归树为梯度提升学习算法的基学习器可以将近似方程写成vi是第i棵树的节点集;
[0094]
指示函数i[x∈r
l
]是通过所有关于第l个节点的划分规则来决定的,其中left(l)是划分为true分支的第l个节点的划分规则集合;right(l)是划分为false分支的第l个节点的划分规则集合。
[0095]
总体来说,本发明就是在己经获得源数据的情况下,根据对问题的理解,将数据信息加以抽象提取,获得更高层次的表达表示,以“特征”的形式进行展现并进行特征选择;在这些特征的基础上,使用改进的梯度提升决策树作为模型在训练集上进行训练,使用交叉验证的方式在预留的测试集上进行验证,并根据验证结果调整模型参数,使模型在测试集上得到最好的效果。
[0096]
实验例:
[0097]-任务描述
[0098]
用户产品包是一种连续包月型的服务产品,用户可以通过在线方式订购不同类型的产品,或对用户现有的订购产品包进行退订。为挽留该部分订单,本方案期望在网络电视平台提供的历史数据信息的基础上,通过数据挖掘的方式,建立付费订单退订的预测模型,对订单进行预测以期尽早地发现退订订单,为后续挽留措施提供精准干预目标用户,从而达到降低订单流失率,增加收益的目标。模型预测结果包括付费订单退订与不退订,这是一个二分类问题。
[0099]
a、源数据获取
[0100]
由某网络电视提供源数据,涵盖了2020年8、9、10三个月份的所有在订订单基本信息、所属用户的近期观看信息、订单近期观看信息和用户近期购买信息。
[0101]
订单基本信息:订单号、用户账号、用户开户时间、用户所属地市、客户端版本、业务类型、商品类型、产品名称、订单状态等22个字段,例如:[{“订单号”:10000056,“用户账
号”:“5d7c9d059079b9f232e15a561cd570ea”,“用户开户时间”:“2017-09-02 17:20:36”,“用户所属地市”:“绵阳”,“客户端版本”:“arrow”,“业务类型”:“yst_video”,“商品类型”:“month”,“产品名称”:“vip畅享包”,“订单状态”:“unsub”,

},

]。
[0102]
所属用户的近期观看信息:用户近一月直播时长(秒)、用户近一月直播次数、用户近一月回看时长(秒)、用户近一月回看次数、用户近一月点播时长(秒)、用户近一月点播次数、用户近一月付费点播时长(秒)、用户近一月付费点播次数等24个字段,例如:[{“用户近一月直播时长(秒)”:408877.8,“用户近一月直播次数”:214,“用户近一月回看时长(秒)”:8329.2,“用户近一月回看次数”:8,“用户近一月点播时长(秒)”:686.4,“用户近一月点播次数”:25,“用户近一月付费点播时长(秒)”:33171.0,“用户近一月付费点播次数”:160,

},

]。
[0103]
订单近期观看信息:订单近7天观看时长(秒)、订单近7天观看次数、订单近一月观看时长(秒)、订单近一月观看次数、订单前两月观看时长(秒)、订单前两月观看次数、订单前三月观看时长(秒)、订单前三月观看次数等10个字段,例如:[{“订单近7天观看时长(秒)”:9227.0,“订单近7天观看次数”:123,“订单近一月观看时长(秒)”:9534.0,“订单近一月观看次数”:131,“订单前两月观看时长(秒)”:0,“订单前两月观看次数”:0,“订单前三月观看时长(秒)”:0,“订单前三月观看次数”:0,

},

]。
[0104]
用户近期购买信息:用户总共订单数、用户总共订购产品包种类数、用户总共退订订单数、用户总共订单付费金额、用户近一年订单数、用户近一年订购产品包种类数、用户近一年退订订单数、用户近一年订单付费金额等22个字段,例如:[{“用户总共订单数”:9,“用户总共订购产品包种类数”:9,“用户总共退订订单数”:4,“用户总共订单付费金额”:412295.0,“用户近一年订单数”:5,“用户近一年订购产品包种类数”:5,“用户近一年退订订单数”:2,“用户近一年订单付费金额”:80091.0,

},

]。
[0105]
b、数据预处理
[0106]
b1、数据清洗
[0107]
b1.1、缺失值处理
[0108]
1)订单号
[0109]
通过观察,发现有些订单的订单号是空值,而订单号是一条订单记录的标识码,故订单号为空很可能表示着这笔订单是个错误数据,因此若订单号为空,就把这条订单记录删除。
[0110]
2)用户账号
[0111]
通过观察,发现部分订单的用户账号为空,而每笔订单都应当有所属用户,若无所属用户,就无法获取用户的观看行为和购买行为,给退订预测带来了很大程度上的难度,因此若用户账号为空,就把这条订单记录删除。
[0112]
3)用户开户时间
[0113]
通过观察,发现部分订单的用户开户时间为空,考虑后续特征工程中需要计算用户开户天数,因此若用户开户时间为空,统一填充为“2015-01-01 00:00:00”。
[0114]
4)用户所属地市、客户端版本、业务类型、商品类型、节目集名称、牌照方、支付方式、订单来源
[0115]
通过观察,发现部分订单的用户所属地市、客户端版本、业务类型、商品类型、业务
类型、商品类型、节目集名称、牌照方、支付方式、订单来源为空,考虑后续特征工程中需要做离散化处理,因此若这些字段为空,统一用这些字段的众数填充。
[0116]
5)当月漫游天数
[0117]
通过观察,发现部分订单的当月漫游天数为空,当月漫游天数能够间接的表示用户在外地的天数,有一定的含义,因此若当月漫游天数为空,统一填充为0。
[0118]
6)宽带流量、宽带arpu、手机主视频流量、话费余额
[0119]
通过观察,发现部分订单的宽带流量、宽带arpu、用户近三个月月均消费、手机主视频流量、话费余额为空,考虑这三个字段能反应用户在宽带、手机上的使用情况,有一定的含义,因此若宽带流量、宽带arpu、用户近三个月月均消费、手机主视频流量,采取均值填充的方式进行填充。
[0120]
7)用户总共订单数、用户总共订购产品包种类数
[0121]
通过观察,发现部分订单的用户总共订单数、用户总共订购产品包种类数为空,这是不合理的,因为一笔订单,其所属用户的总共订单数和总共订购产品包种数至少为1,考虑它们能一定程度上反应用户的购买行为,对其进行删除不太合适,故统一填充为1。
[0122]
8)用户总共退订订单数、用户总共订单付费金额、用户近一年订单数、用户近一年订购产品包种类数、用户近一年退订订单数、用户近一年订单付费金额、用户近半年订单数、用户近半年订购产品包种类数、用户近半年退订订单数、用户近半年订单付费金额、用户近三月订单数、用户近三月订购产品包种类数、用户近三月退订订单数、用户近三月订单付费金额、用户近一月订单数、用户近一月订购产品包种类数、用户近一月退订订单数、用户近一月月订单付费金额
[0123]
通过观察,发现以上字段在部分订单中可能为空值,主要原因是从数据源获取数据并做统计时,一些用户的这些字段的值有些为0而被标记成了空值,属于数据源获取上就本身存在的一个漏洞,考虑它们能一定程度上反应用户的购买行为,对其进行删除不太合适,故统一填充为0。
[0124]
9)用户近一月直播时长(秒)、用户近一月回看时长(秒)、用户近一月点播时长(秒)、用户近一月付费点播时长(秒)、用户前两月直播时长(秒)、用户前两月回看时长(秒)、用户前两月点播时长(秒)、用户前两月付费点播时长(秒)、用户前三月直播时长(秒)、用户前三月回看时长(秒)、用户前三月点播时长(秒)、用户前三月付费点播时长(秒)、订单近7天观看时长(秒)、订单近一月观看时长(秒)、订单前两月观看时长(秒)、订单前三月观看时长(秒)、订单总共观看时长(秒)(2020年起)、用户近一月直播次数、用户近一月回看次数、用户近一月点播次数、用户近一月付费点播次数、用户前两月直播次数、用户前两月回看次数、用户前两月点播次数、用户前两月付费点播次数、用户前三月直播次数、用户前三月回看次数、用户前三月点播次数、用户前三月付费点播次数、订单近7天观看次数、订单近一月观看次数、订单前两月观看次数、订单前三月观看次数、订单总共观看次数(2020年起)
[0125]
通过观察,发现以上字段在部分订单中可能为空值,主要原因是从数据源获取数据并做统计时,一些用户的这些字段的值有些为0而被标记成了空值,属于数据源获取上就本身存在的一个漏洞,考虑它们能一定程度上反应用户的观看行为,对其进行删除不太合适,故统一填充为0。
[0126]
b1.2、逻辑错误值处理
[0127]
1)宽带arpu、用户近三个月月均消费
[0128]
通过观察发现,宽带arpu、用户近三个月月均消费在极小部分订单中存在负值,这对于字段的含义来说是不合理的,考虑字段具有一定表征意义,不适合使用删除记录法,故采取截断法,设定一个合理的最小值0,将小于0的值截断为0。
[0129]
2)话费余额
[0130]
通过观察发现,话费余额在极小部分订单中的值极端的高或极端的低,原因是话费余额在现实生活中也可能存在着这种极端个例,但为了保证模型训练效果不被某一特征的极端大/小值产生负面影响,考虑字段具有一定表征意义,不适合使用删除记录法,故采取截断法,为选择合理的取值范围,考虑按两部分处理:1)在所有话费余额大于0的数据中,98%的数据的话费余额在2281元以下,将其作为最大值2)在所有话费余额小于0的数据中,98%的话费余额在-386元以上,将其作为最小值。有了合理的取值范围后,对于话费余额超过最大值的,截断成最大值,对于话费余额小于最小值的,截断成最小值。
[0131]
3)订单开始时间、订单结束时间
[0132]
对于已经退订的订单,是有订单结束时间的,通过观察,发现部分订单中存在订单开始时间晚于订单结束时间的情况,这也是不合理的,原因主要是数据在记录时间到落盘数据源的过程中在某一环节出了问题而导致,这类数据是问题数据或噪声数据,且后续特征工程中需要计算退订订单的持续时间这一重要特征,因此采用删除法较为合理,即对于那些订单开始时间晚于订单结束时间的订单,做删除记录处理。
[0133]
4)订单开始时间、统计时间
[0134]
统计时间即为从数据源取数据快照的时间,本数据集统计时间共有三个:1)2020年8月31日23:59:59 2)2020年9月30日23:59:593)2020年10月31日23:59:59,作用是对于那些仍在订的订单,设定一个统计的时间点,用于各项关于时间维度上的特征的计算。因此,若订单开始时间晚于统计时间,也是不合理的,是一类问题数据或噪声数据,原因主要是数据在记录时间到落盘数据源的过程中在某一环节出了问题而导致。考虑到后续特征工程中需要计算在订订单的持续时间这一重要特征,因此采用删除法较为合理,即对于那些订单开始时间晚于订单结束时间的订单,做删除记录处理,即对于那些订单开始时间晚于统计时间的订单,做删除记录处理。
[0135]
5)退订时间、订单状态
[0136]
合理情况下,对于已经退订的订单,是有退订时间的,仍在订的订单,退订时间为空。通过观察,存在小部分订单退订时间不为空但订单状态却为在订以及退订时间为空,订单状态却为退订,这部分订单是不合理的,属于问题数据,对这类数据,采取删除记录法。
[0137]
6)用户开户时间、订单开始时间
[0138]
通过观察,存在小部分订单的用户开户时间比订单开始时间晚,订单只能由已注册用户订购,因此用户开户时间是不会晚于订单开始时间的,因此这部分订单是不合理的,属于问题数据,对于这类数据,采取删除记录法。
[0139]
7)统计时间、订单结束时间
[0140]
若订单状态是在订,则统计时间一定是会小于订单结束时间的。反之,则是不合理的情况,属于问题数据,对这类数据,采取删除记录法。若订单状态是退订,则退订时间一定
是会小于订单结束时间的。反之,则不合理的情况,属于问题数据,对这类数据,采取删除记录法。
[0141]
8)用户上一次订购时间、用户上一次退订时间、统计时间
[0142]
对于用户上一次订购时间或用户上一次退订时间晚于统计时间的订单,都是不合理的,属于问题数据,对于这类数据,采取删除记录法。
[0143]
9)订购产品包种类数、订单数
[0144]
订购产品包种类数、订单数在不同的时间跨度上做了相应的统计,包括:总共、近一年、近半年、近三月。
[0145]
对于同一个时间跨度,订购产品包种类数是不能多于订单数的,因此在相同时间跨度下,订购产品包种类数大于订单数的数据属于问题数据,如近一月订购产品包种类数大于近一月订单数,对于这类数据,采取删除记录法。
[0146]
对于不同时间跨度,时间跨度长的统计数量应该包含时间跨度短的统计数量,例如用户近一月订购产品包种类数应该小于用户近三月订购产品包种类数、用户近一月订单数应该小于用户近三月订单数,反之则是不合理的,属于问题数据,对于这类数据,采取删除记录法。
[0147]
10)用户总共退订订单数、用户总共订单数
[0148]
通过观察,存在小部分订单的用户总共退订订单数大于用户总共订单数,这是不合理的,属于问题数据,对于这类数据,采取删除记录法。
[0149]
11)观看时长、观看次数
[0150]
观看时长、观看次数在不同的时间跨度上、不同对象上做了相应的调剂,包括:用户近一月观看时长、用户近一月观看次数、订单近一月观看时长、订单近一月观看次数、用户近三月

,订单近三月


[0151]
对于同一时间跨度,观看时长与观看次数之间不能相互矛盾,如用户/订单近一月观看时间等于0,用户/订单近一月观看次数却大于0;或者用户/订单近一月观看时间大于0,用户/订单近一月观看次数却等于0。这两类数据都是问题数据,是不合理的,对于这类数据,采取删除记录法。
[0152]
对于观看时长,还应该根据其时间跨度做时间上的检查。如用户/订单近一月的观看时长(秒)不能大于2678400(秒),反之则属于问题数据,对于这类数据,采取删除记录法。
[0153]
对于观看次数,存在极小部分订单中的观看次数极端的高,原因是在现实生活中也可能存在着这种极端个例,但为了保证模型训练效果不被某一特征的极端大/小值产生负面影响,考虑字段具有一定表征意义,不适合使用删除记录法,故采取截断法,为选择合理的取值范围,相应时间跨度观看次数的99.5%位数作为最大值,将大于最大值的截断成最大值。
[0154]
b1.3、重复值处理
[0155]
在数据集中,只有订单号是唯一标识的字段,因此对其做以下处理:
[0156]
1.订单号
[0157]
根据数据集的内容来看,其包括了截止8月底、9月底和10月底的在订订单,由于连续包月的续费机制,月份之间必定会存在不少订单号相同的在订订单,比如8月底和9月底存在大量订单号相同的在订订单。因此,合理的去重做法是按月份来对订单号做去重处理,
即如果截止8月底的在订订单中有重复的订单号,这是不合理的,进行去重处理。同理,截止9月底和10月底的数据也是这样处理。
[0158]
b2、数据划分
[0159]
数据划分是机器学习中的重要步骤,通常在模型评估阶段来决定如何对数据集进行划分。对于模型来说,其在训练集上面的误差通常称之为训练误差或者经验误差,而在测试集上的误差称之为测试误差。因为测试集是用来测试学习器对新样本的学习能力,因此可以把测试误差作为泛化误差的近似(泛化误差指的是模型在新样本上的误差)。对于研究者来说,更关心的是模型对于新样本的学习能力,即希望通过对已有样本的学习,尽可能的将所有潜在样本的普遍规律学到手,而如果模型对训练样本学的太好,则有可能把训练样本自身所具有的一些特点当做所有潜在样本的普遍特点,这时候就会出现过拟合的问题。因此通常将已有的数据集划分为训练集和测试集两部分,其中训练集用来训练模型,而测试集则是用来评估模型对于新样本的判别能力。
[0160]
对于数据集的划分,我们通常要保证满足两个条件:1)训练集和测试集的分布要与样本真实分布一致,即训练集和测试集都要保证是从样本真实分布中独立同分布采样而得;2)训练集和测试集要互斥。
[0161]
为了保证以上条件,本发明选用经典的数据划分方法:留出法。留出法直接将数据集d划分为两个互斥的部分,其中一部分作为训练集s,另一部分用作测试集t,训练集和测试集的比例通常为7:3。
[0162]
数据集经过数据清洗后,按照留出法的设定,将数据划分为训练集和测试集。在划分数据时,为了避免时间顺序性对数据分布的影响,本发明将8月份的订单数据和9月份的订单数据合并,作为训练集,用于训练模型。10月份的订单数据设为测试集,用于测试模型的泛化误差。其中,三个月份的订单数据都是已知订单状态的,包含退订和在订。
[0163]
c、特征工程
[0164]
c1、离散型变量编码
[0165]
经过筛选,对以下离散型变量做了label encoding:
[0166]
1)用户所属地市
[0167]
{"成都":0,"天府新区":1,"巴中":2,"宜宾":3,"眉山":4,"达州":5,"雅安":6,"德阳":7,"遂宁":8,"南充":9,"内江":10,"凉山":11,"广安":12,"泸州":13,"资阳":14,"广元":15,"绵阳":16,"乐山":17,"甘孜":18,"阿坝":19,"攀枝花":20,"自贡":21,"未知":22}
[0168]
2)客户端版本
[0169]
{"arrow":0,"other":1,"taipan":2,"cobra":3,"viper":4,"raptor":5}
[0170]
3)业务类型
[0171]
{"yst_video":0}
[0172]
4)商品类型
[0173]
{"month":0}
[0174]
5)节目集名称
[0175]
{"罪夜无间":0,"赛罗奥特曼格斗":1,"醉玲珑番外之玲珑醉梦":2,"泡泡美人鱼第2季":3,"流浪地球(4k)":4,"复仇者联盟3:无限战争":5,"封神演义":6,"摘金奇缘":
7,"奥姆的故事第四季":8,"如果可以这样爱":9,"机动部队":10,"万妖国":11,"虎啸龙吟":12,"新闻大求真2019":13,"最动听的事":14,"“大”人物":15,"原来你还在这里":16,"乡村爱情11":17,"跳跃战士":18,"白蛇:缘起":19,"重明卫:大明机密":20,

}
[0176]
6)牌照方
[0177]
{"未来电视":0}
[0178]
c2、特征衍生
[0179]
用户特征:根据已有用户数据,扩展出更全面的用户相关的特征:
[0180]
1)根据“用户开户时间”和“统计时间”这两个现有数据,计算出“用户开户天数”这一新特征,这一信息在时间维度上展现了用户成为网络电视用户的时间,一定程度上反应了是老用户还是新用户这一重要信息点。
[0181]
2)根据“用户总共订单数”和“用户总共退订订单数”这两个现有数据,计算出“用户目前持有订单数”这一新特征,这一信息展现了用户目前仍在订的订单数量,反应了用户当下对订购订单保持着怎样的活跃状态这一重要信息点。
[0182]
3)根据“统计时间”和“用户上一次订购时间”,计算出“用户上一次订购距今天数”这一新特征,这一信息展现了用户上一次订购的时间距离统计时间的天数,反应了用户是否对订购订单保持活跃状态这一重要信息点。
[0183]
4)根据“统计时间”和“用户上一次退订时间”,计算出“用户上一次退订距今天数”这一新特征,这一信息展现了用户上一次退订订单的时间距离统计时间的天数,反应了用户是否对退订订单保持活跃状态这一重要信息点。
[0184]
5)根据“用户上一次订购距今天数”,得出“用户是否第一次订购”这一新特征,这一信息展现了用户是否第一次订购订单,反应了用户在订购订单方面,是否属于“新”用户。
[0185]
6)根据网络电视平台的业务布局可以知道,平台一共可分为直播、点播、回看三大观看功能。因此,可依据“用户近一月直播时长(秒)”、“用户近一月点播时长(秒)”和“用户近一月回看时长(秒)”,计算出“用户近一月观看总时长(秒)”这一新特征,这一信息展现了用户近一个月在观看网络电视上所花费的时间,其中,点播时长代表用户观看所有付费订单的总时长,直播和回看都是免费观看的。
[0186]
7)根据“用户近一月直播时长(秒)”、“用户近一月点播时长(秒)”、“用户近一月回看时长(秒)”和“用户近一月观看总时长(秒)”,计算出“用户近一月直播时长占比”、“用户近一月点播时长占比”和“用户近一月回看时长占比”这三个新特征,这一信息展现了用户近一月在直播、点播、回看三大观看功能上的时间占比,反应了用户对三大观看功能的兴趣程度。
[0187]
8)根据“用户近一月直播次数”、“用户近一月点播次数”和“用户近一月回看次数”,计算出“用户近一月观看总次数”这一新特征,这一信息展现了用户近一个月在网络电视平台的观看总次数。
[0188]
9)根据“用户近一月观看总时长(秒)”和“用户近一月观看总次数”,计算出“用户近一月每次观看时长(秒)”这一新特征,这一信息展现了用户近一月平均每次在观看上所花费的时间。
[0189]
10)根据“用户近一月直播时长(秒)”和“用户近一月直播次数”计算出“用户近一月每次直播时长(秒)”这一新特征;根据“用户近一月点播时长(秒)”和“用户近一月点播次
数”计算出“用户近一月每次点播时长(秒)”这一新特征;根据“用户近一月回看时长(秒)”和“用户近一月回看次数”计算出“用户近一月每次回看时长(秒)”这一新特征。以上三个新特征展现了用户近一月以来,平均每次在回看、直播、点播上所花费的时间。
[0190]
订单特征,根据已有订单数据,扩展出更全面的订单相关的特征:
[0191]
1)根据“统计时间”和“订单开始时间”,计算出“订单持续天数”这一新特征,这一信息展现了该笔订单从初次订购到统计时间为止,用户持续订购了多少天,反应了用户对该笔订单的喜好程度、依赖程度这一重要信息点。
[0192]
2)根据“订单持续天数”,得出“订单持续周数”和“订单持续月数”这两个新特征,相比“订单持续天数”,将订单的持续周期扩展到周和月,目的是试图挖掘出用户在订单持有周期上是否具有时间规律性这一重要信息点。
[0193]
3)根据“支付金额(分)”、“原价(分)”和“订单持续月数”,计算出“订单总花费”这一特征,这一信息展现了用户在此笔订单中所花费的金额总数,反应了用户对该笔订单的兴趣程度这一重要信息点。
[0194]
4)根据“原价(分)”和“支付金额(分)”,计算出“首月支付优惠金额”这一新特征,这一信息试图挖掘出订单首月的优惠力度对用户持有订单的影响。
[0195]
5)根据“订单近一月观看时长(秒)”和“用户近一月观看总时长(秒)”,计算出“订单近一月观看时长在用户观看占比”这一新特征,这一信息展现了用户在近一月观看此笔订单的时间占近一月总观看时间的百分比。
[0196]
6)根据“订单近一月观看次数”和“用户近一月观看总次数”,计算出“订单近一月观看次数在用户观看占比”这一新特征,这一信息展现了用户在近一月观看此笔订单的次数占近一月总观看次数的百分比。
[0197]
c3、标准化
[0198]
标准化,就是将不同纬度上的数据通过一定的算法都限定在同一范围。不同维度的特征往往具有不同的量纲和量纲单位,这样的情况不仅会影响模型的收敛速度而且也会影响到模型预测的结果。消除不同量纲对模型的负面影响是必要的。
[0199]
1)min max normalization
[0200]
将特征缩放至特定区间,将特征缩放到给定的最小值和最大值之间,或者也可以将每个特征的最大绝对值转换至单位大小。这种方法是对原始数据的线性变换,将数据归一到[0,1]中间。转换函数为:
[0201][0202]
其中max为样本数据的最大值,min为样本数据的最小值。
[0203]
2)standard deviation normalization
[0204]
通过减去均值然后除以方差(或标准差),这种数据标准化方法经过处理后数据符合标准正态分布,即均值为0,标准差为1,转化函数为:
[0205][0206]
其中,μ为所有样本数据的均值,σ为所有样本数据的标准差。
[0207]
两种标准化方式都能取消由于量纲不同引起的误差;都是一种线性变换,都是对
向量x按照比例压缩再进行平移。只需根据实际需要选择适合的标准化方式就行。
[0208]
d、模型建立
[0209]
模型介绍
[0210]
近几十年来,机器学习的研究工作迅猛发展,在很多领域得到了广泛应用,客户流失问题也不例外,目前传统机器学习的研究方向也拓宽了,包含单一模型、集成学习和人工神经网络,并且通过大量经验证明,在条件合适的情况下,集成学习算法往往比单一模型算法有更高的预测精度。
[0211]
本发明选用集成学习算法中最具代表性的梯度提升决策树为基础来构建模型。
[0212]
1)梯度提升决策树(gbdt)
[0213]
梯度提升决策树(gradient boosting decison tree)实际上是分类与回归树算法(classification and regression tree,简称cart)与gradient boosting算法的组合,简称gbdt。它以cart作为基学习器,基本思想是所有弱分类器的结果相加等于预测值,然后下一个分类器去拟合预测值与真实值之间的残差。gbdt的具体步骤如下:
[0214]
输入:训练样本集t={(x1,y1),(x2,y2),...,(xm,ym)},最大迭代次数t,损失函数t。
[0215]
输出:强学习器f(x)。
[0216]
1.1)初始化弱学习器
[0217][0218]
1.2)对迭代论述t=1,2,

,t有:
[0219]
a)对每个样本i=1,2,

,m,计算残差,即负梯度
[0220][0221]
b)将上一步得到的负梯度值作为样本新的目标值,利用(xi,r
ti
)其中i=1,2,

,m去拟合下一棵树,得到第t棵回归树,第t棵树的叶子节点区域为r
tj
,j=1,2,

,j,其中j为第t棵回归树叶子节点的个数。
[0222]
c)对叶子区域r
tj
,j=1,2,

,j,计算最佳拟合值
[0223][0224]
d)更新强学习器
[0225][0226]
1.3)得到强学习器f(x)的表达式
[0227][0228]
假设有k个类别,则此时对应的对数似然损失函数如下:
[0229][0230]
其中,如果样本输出类别为k,则yk=1。
[0231]
第k类的概率如下式:
[0232][0233]
结合上两式,我们可以计算出第t轮第i个样本为类别l的残差负梯度为:
[0234][0235]
由上式可以看出,误差其实就是样本i对应类别l的概率与上一轮t-1轮预测值的差值。
[0236]
对于生成的树,各个叶子节点的最佳负梯度拟合值为:
[0237][0238]
由于上式难以去优化,一般采用近似值去代替:
[0239][0240]
2)部分随机决策树的梯度提升决策树
[0241]
当用决策树作为梯度提升学习的基学习器时,很容易证明,能够使用决策规则数量相当于特征数量的决策树基学习器来逼近任何连续函数。回归树旨在递归地将训练集中的点按xi<t做二分直至无法划分或遇到叶子节点。其中,xi是输入变量的特征集合中的一个特征,t是该特征的划分阈值。树生长过程中的划分阈值的目的是为了尽可能地减少由划分得到的结果与真实结果y的误差。回归树可以看作一种加法模型:
[0242][0243]
其中,i[x∈r
l
]是指示函数,b
l
是第l个内部节点;r
l
是通过第l个内部节点的划分规则在训练集上所划分出来的区域;v是决策树的节点集合;
[0244]
以回归树为梯度提升学习算法的基学习器可以将近似方程写成其中,vi是第i棵树的节点集;
[0245]
指示函数i[x∈r
l
]是通过所有关于第l个节点的划分规则来决定的,其中left(l)是划分为true分支的第l个节点的划分规则集合;right(l)是划分为false分支的第l个节点的划分规则集合。
[0246]
如果每棵树中每个特征对应的划分规则数是1,可以使这些树的总和将函数的整个域划分为具有相等单元格的正交网格,并且可以为每个单元分配唯一值。因此,以某种方式选择参数值后,我们可以以给定的精度逼近任意连续函数。
[0247]
在实际应用中,目标值可能是嘈杂的。此外,函数域的某些部分通常不像其他部分
那样被训练集的点覆盖。在构建梯度提升决策树时,某些区域可能有很大的不连续性。在用决策树来搭建梯度提升学习器时,某些区域可能有很大的不连续性,如图3所示。
[0248]
从图3可以看出,点a和点b的函数值f(a)和f(b)的差距δ,比在a点左侧或在b点右侧的其他相邻点间的函数值差距大得多。构建决策树后,t点左侧和右侧的点的预测值之间的差距将不小于δ。这是由于构建决策树的算法:由于t点左侧和右侧的点的平均值相距很大,因此局部最优划分将位于a和b之间。通常,划分点会被选在位于a与b的中间。在最好的情况下,如果在a点和b点附近的决策树有接近于t点的函数值,即在a和b之间,那么决策树预测的函数的不连续性的间隔将严格大于或大于δ。因此,以决策树为基学习器的梯度提升学习器算法,很难以更平滑的方式构建在不连续区间内表现的函数。如果训练数据区域没有被密集覆盖,那么在不连续的区间内,损失函数及其导数的绝对值会接近于0。这是因为在不连续的区间内,两点之间的区域内没有观测值。这意味着,在梯度提升学习算法的下一迭代中,接近于t点的预测值将会接近0,所以函数将不会平滑。由于在a和b之间没有新的点,所以在这个区间内不可能得到与t不同的划分点。
[0249]
一个连续函数或分段连续函数可以近似为在统一网格上带有决策树结构的梯度提升学习器的分段常数函数。然而,许多用于构建决策树的算法(如cart)只能为每个特征构建恰好位于训练集相邻点对之间的网格节点。因此,在训练集的点未密集覆盖的区域中,网格会变得更大更粗糙。由于决策树对应于分段常数函数,所以在这样的区域内会由于快速的增长而产生巨大的跳跃,跳跃会导致loss的增加。此外,梯度提升学习器的loss不会降低,因为:1)每一棵新树不会被建立在除了相邻点对的中间以外的区域,2)empirical loss不会考虑相邻点之间的间隔误差。
[0250]
为了解决上述问题,需要构建一个更密集的数据区域,即在不改变基学习器为决策树的情况下,改变构建决策树的算法,使得划分规则的阈值不只是从训练集中相邻点对的中点选取。一种简单的方法是在构建一棵树后,通过像cart这样的确定性算法,将每个分区的阈值替换为位于阈值所在区间内的随机一个。例如,图4表示了如何用t2、t3或t4或者a与b之间的任意一点来对代替t划分点。因此,集成树中每棵树的划分会是独立的,并且能更紧密地覆盖间隔。
[0251]
然而,考虑到梯度提升学习算法可能会产生的过拟合以及它无法并行化而需要大量的训练时间,本发明使用另外一种方法,即以部分随机树作为基学习器的梯度提升决策树。
[0252]
该方法背后的基本思想是使用一种算法来构建部分随机决策树,它是极端随机树(extremely randomized trees)的特例。极端随机树的思想是通过在每次迭代选择k个随机分裂来生成极度随机化的决策树,使得分裂将包含随机选择一个特征xi和随机选择一个阈值ti。然而,面对特定的数据集,可以尝试使用较大的k值来改进树模型。为了实现压缩网络规格的目的,部分随机树在构建树的每个阶段把所有特征考虑进来,而不像极端随机树那样仅限于k个随机特征。否则可能需要更多的迭代次数来为每个特征构建足够多的划分规则,并且如果逼近函数依赖于超过k的特征数量,还需要确保收敛。
[0253]
与极致随机决策树相比,部分随机决策树在划分树中每个特征的切点(阈值)时,是从均匀分布中随机确定的。然后选择最佳特征使其得分最大化,并根据该随机切点使用该最佳特征进行划分数据。
[0254]
通过确定性算法(例如cart或c4.5)构建的决策树称为确定性树,方便下面将它们与随机性树区分开来。单个部分随机树平均而言比具有相同深度的局部最优切割点的确定性树更糟糕。而且,它往往在确定性树有较小跳跃的地方有较大的跳跃。然而,部分随机树集成的梯度提升学习器比确定性树的集成具有更好的特性。
[0255]
首先,为了简单起见,考虑为了一个特征而做划分时的过程(参考图3)。集成过程中的每棵树都是独立地确定其特定特征的划分点的,可能不止一次,即将函数域拆分为多个区域,使得每个区域对应一个确定的划分点。其中一些区域的点可能在a点的左侧,一些区域的点可能在b点的右侧(参考图4)。剩余的区域就是在a点和b点之间(参考图4,由[t2,t3]或[t3,t4]定义的区域)。最后剩余的区域是允许通过填充a点和b点的区域来解决函数不连续的问题的。
[0256]
因此,只有一个部分随机决策树是无法解决上述的问题的,而带有部分随机决策树的梯度提升学习器是能以一定程度来解决的,它能使得构建更平滑的近似函数。这就是带有部分随机决策树的梯度提升决策树。以下是它的优点:
[0257]
1.与以极度随机决策树构建的梯度提升决策树相比,基于部分随机决策树的梯度提升决策树拥有更强的训练适应性,这是因为每个后续构建的部分随机决策树的目的是改进已构建的集成部分的预测,而极度随机决策树是以近似相同函数为目的。
[0258]
2.与确定性树构建的梯度提升决策树相比,基于部分随机决策树的梯度提升决策树能显著地减少训练时间。
[0259]
e预测
[0260]
本实验例的数据是从网络电视部门的在线数据库进行取材的,其真实性和有效性都得到了相应的保证,从而也确保了模型的训练效果。经过反复验证,模型在测试集上的预测精度能达到75%以上,这意味着模型所认为在未来一个月内会退订的订单中,有七成是真正会退订的。
[0261]
由此可见,相对于人为的随机猜测,模型预测的效率提升了7.5倍。模型预测的效率越高,尽早发现可能退订的订单的效率就越高,若进行及时的干预策略,订单的流失率就越低,企业损失的利益就越少,从而能带来极大的经济效益。
[0262]-模型评价指标
[0263]
对于二分类问题,根据样本的真实标签和模型预测出的样本标签,以本方案为例,统计出的混淆矩阵如下:
[0264][0265]
其中,
[0266]
tp:预测和真实情况都为退订的样本数;
[0267]
fp:预测为退订但现实是未退订的样本数;
[0268]
fn:预测为未退订但现实是退订的样本数;
[0269]
tn:预测和真实情况都为未退订的样本数;
[0270]
根据混淆矩阵,可以得到以下评估指标:
[0271]
1.准确率
[0272]
准确率(accuracy)是指预测结果和真实情况一样的样本数占总样本数的比例,计算公式如下:
[0273][0274]
2.精确率
[0275]
精确率(precision)是指在所有预测为购买的样本中预测正确的比例,计算公式如下:
[0276][0277]
3.召回率
[0278]
召回率(recall)是指在所有实际购买的样本中预测正确的比例,计算公式如下:
[0279][0280]
4.f1分数
[0281]
f1分数(f1_score)是精确率和召回率的调和平均,最大为1,最小为0,计算公式如下:
[0282][0283]
本方案用到的数据集中,退订样本设为正例,未退订样本设为负例。现实情况下,退订和未退订的比例是不均衡的,即样本正负类别存在不平衡的情况,如果模型将所有样本都预测为正例,则此时召回率为1,精准率却很低,因此用精确率或召回率当作评价指标是不合适的,而f1分数作为精确率和召回率的调和平均,更具有可靠性,因此f1分数将会作为本方案的评估指标。
转载请注明原文地址: https://www.8miu.com/read-102.html

最新回复(0)