全文链接:http://tecdat.cn/?p=31868

原文出处:拓端数据部落公众号

分析师:Chang Gao

随着大数据概念的衰亡,以数据为根底的商业模式越来越风行,用所收集到的因素去预测用户的可能产生的行为,并依据预测做出相应反馈成为商业竞争的外围因素之一。单纯从机器学习的角度来说,做到精准预测很容易,然而联合具体业务信息并做出相应反馈并不容易。预测精确性是外围痛点。

解决方案

工作/指标

依据所收集到的用户特色用机器学习办法对特定的属性做预测。

数据源筹备

数据品质低或者缺失,会影响模型预测成果。在建设的一个正当的模型之前,对数据要进行清理。对于数据中的连续变量和离散变量进行标准化和因子化解决,以使前面的预测更加精确。

因子化标准化解决

首先将数据进行属性分类,分为名义变量('性别', '归属地', '换机频率', '终端品牌', '终端类型', '最近应用操作系统偏好','渠道类型形容', '是否欠费', '产品大类', '产品分类')和距离变量('年龄','在网时长','上网流量应用','漫游流量应用', '总收入','增值支出','流量支出','短信支出','彩信支出','语音支出')。

将数据处理成算法容易解决模式:

  1. 奢侈贝叶斯数据集

奢侈贝叶斯办法须要离散化数据,于是依照分为点对于间断数据进行离散化解决。而后将所有的离散变量进行因子化。

  1. 神经网络,反对向量机与最近邻所需数据:解决以保障在一个数量级

为不便起见,用one-hot编码因子变量。对于连续变量,将数据映射到0,1之间 且不扭转散布。

  1. 随机森林与回归所需数据:间接应用因子化的原始数据。

划分训练集和测试集

思考到最终模型会在已知某些变量的同时,预测一些未知的特色,为了更实在的测试模型成果,将数据集分为分训练集和测试集。

建模

用其余用户特色,用训练集进行调参,预测用户“收否欠费”这个属性。

1. 随机森林

用随机的形式建设一个森林,森林由很多决策树组成,随机森林的每一棵决策树之间是没有关联的。在失去森林之后,当有一个新的输出样本进入的时候,就让森林中的每一棵决策树别离进行一下判断,看看这个样本应该属于哪一类(对于分类算法),而后看看哪一类被抉择最多,就预测这个样本为那一类。

两个主要参数:n_estimators: 多少树 max_features: 每个树随机抉择多少特色

比拟不同参数预测后果的neg_log_loss,抉择最优的参数(score最大的)

2. 奢侈贝叶斯

3. 神经网络

在PyTorch框架上面进行网络的搭建及运算

须要调节的参数:batch_size=[200,500,1000], 神经元个数=[16,32,64,128]

学习率=[0.01,0.005,0.001,0.0005,0.0001,0.00005,0.00001] 再微调,epoch=[10,20,30,40,50,60]

调参策略,第一调到最优后抉择下一个进行调参,并不进行网格搜寻

(a) 数据模式调整并进行小批次数据训练(批训练):每次抉择1000数据集进行拟合,防止部分最优。

(b) 模型建设:咱们采纳了输出层+两层暗藏层+输入层,的三层神经网络,确定三层暗藏层的个数:咱们比拟32,64 逐个变动,择取最优。

(c) 训练网络:优化器:采纳了Adam而不是简略的SGD,次要也是防止部分最优的问题。分类问题咱们采纳了广泛应用的穿插熵损失损失,然而与广泛的穿插熵相比,因为数据过于不均衡,因而咱们减少了占比拟少的数据的损失权重

4. 最近邻分类

最近邻分类:次要须要确定n_neighbors,咱们比拟n_neighbors=3,5,7,9状况下neg_log_loss

5. 逻辑回归:这里次要也是须要对变量进行筛选

因为数据十分不均衡,因而咱们应用AUC作为规范进行掂量。一一遍历自变量并将自变量名连接起来,升序排序accuracy值,最新的分数等于最好的分数。

6. 反对向量回归(SVR):应用网格搜寻法最佳C值和核函数

模型准确性断定:

准确度/查准率/查全率

混同矩阵

ROC曲线


在此案例中,从准确度来看,随机森林模型的分类最好。从查准率来看,神经网络模型的分类最好。从查全率来看,逻辑回归模型的分类成果最好。同理,由上图可知,在ROC曲线下对于“是否欠费”这个因变量,神经网络模型的分类成果最好,模型的ROC曲线下面积最高,拟合最优。其余模型的拟合效果显著。

但事实上,评估成果不能只看统计数据,要综合思考现实情况,预测精度,模型可解释性和客户偏好等因素综合思考。预测后果仅作为参考一个权重值,还须要专家意见,依照肯定的权重来计算

对于分析师

在此对Chang Gao对本文所作的奉献示意诚挚感激,她在复旦大学实现了统计学学位,善于数据挖掘、机器学习、数据采集。


最受欢迎的见解

1.PYTHON用户散失数据挖掘:建设逻辑回归、XGBOOST、随机森林、决策树、反对向量机、奢侈贝叶斯模型和KMEANS聚类用户画像

2.R语言基于树的办法:决策树,随机森林

3.python中应用scikit-learn和pandas决策树

4.机器学习:在SAS中运行随机森林数据分析报告

5.R语言用随机森林和文本开掘进步航空公司客户满意度

6.机器学习助推快时尚精准销售工夫序列

7.用机器学习辨认一直变动的股市情况——隐马尔可夫模型的利用

8.python机器学习:举荐零碎实现(以矩阵合成来协同过滤)

9.python中用pytorch机器学习分类预测银行客户散失