PMML是一种可以呈现预测分析模型的事实标准语言,用于呈现数据挖掘模型。预测分析模型采用定型过程中获取的知识来预测新数据中是否有已知模式。PMML允许您在不同的应用程序之间轻松共享预测分析模型。因此,您可以在一个系统中定型一个模型,PMML中对其进行表达,然后将其移动到另一个系统中,并在该系统中使用上述模型预测机器失效的可能性等。
今天我们运用决策树算法训练一个客户流失模型,进行“客户流失”的预测分析。
结点概览
读取数据。这里读取两个数据文件,一个是通话数据和合约数据。接着讲两个数据以“电话号(PHONE NUMBER)”为关键字连接。
文件中有两列数据,分别是“地区编号(AREA CODE)”和“流失情况(CHURN)”,我们不想将这两列作为数值型数据处理,这里我们将其更改为字符型数据。
将流失与否(这里为布尔值)用颜色标注出来,设置数据为0时标蓝色,数据为1时标红色。
接着把数据分成80%的训练集和20%的测试集。
至此完成数据预处理工作。
使用决策树,依照不同的指标,对流失和存活客户数进行分类。
首先使用日租费day charge将所有数据分为两组,对于day charge =< 44.96的值再依据拨打客服电话数,划分成两组。以此类推,直至叶节点拥有最小不纯度值。
然后将决策树所得模型记录为PMML语句,方便下次调用。
删除属于多数类的随机行(如在这里流失客户为少数项,存活客户为多数),则我们随机删除一些多数项,使流失客户和存活客户数据量相同。接着输入测试集和已得决策树模型,应用决策树算法对之前分出的80%测试数据进行预测。
通过ROC曲线可以看出,这个模型的预测准确度高达89.89%,是一个比较理想的模型。