识别并解读流失驱动因素

Python 营销中的机器学习

Karolis Urbonas

Head of Analytics & Science, Amazon

绘制决策树规则

from sklearn import tree
import graphviz

exported = tree.export_graphviz( decision_tree=mytree, out_file=None, feature_names=cols, precision=1, class_names=['Not churn','Churn'], filled = True)
graph = graphviz.Source(exported) display(graph)
Python 营销中的机器学习

解读决策树图

决策树可视化

Python 营销中的机器学习

逻辑回归系数

  • 逻辑回归返回 beta 系数
  • 可解释为特征每增加 1 个单位,流失的对数几率(log-odds)变化量

逻辑回归模型

Python 营销中的机器学习

提取逻辑回归系数

  • 可用已拟合 Logistic Regression 实例的 .coef_ 提取系数
    logreg.coef_
    
array([[ 0.        ,  0.09784772,  0.        , -0.03935476, -0.82068131,
        -0.41231806, -0.14319622, -0.01746504, -0.41830733,  0.        ,
         0.        ,  0.07138468,  0.        ,  0.        ,  0.        ,
         0.        , -0.41424363, -0.59539021,  0.        ,  0.18846525,
         0.        , -0.90766135,  0.90151342,  0.        ]])
Python 营销中的机器学习

变换逻辑回归系数

  • 对数几率难以直观解释
  • 解决方法:对系数取指数
  • 得到特征每增加 1 个单位时,几率(odds)的变化倍数
coefficients = pd.concat([pd.DataFrame(train_X.columns),
               pd.DataFrame(np.transpose(logit.coef_))], 
               axis = 1)
coefficients.columns = ['Feature', 'Coefficient']

coefficients['Exp_Coefficient'] = np.exp(coefficients['Coefficient'])
coefficients = coefficients[coefficients['Coefficient']!=0] print(coefficients.sort_values(by=['Coefficient']))
Python 营销中的机器学习

变换后系数的含义

逻辑回归系数

Python 营销中的机器学习

Passons à la pratique !

Python 营销中的机器学习

Preparing Video For Download...