行业资讯
男性顾客可以忽视,女性顾客到访次数最重要?决策树回归模型帮你揭晓答案
在上一期文章中我们用Logistic回归模型通过到访次数、性别、年龄预测了客户的成交情况详情请见男的更容易买房子还是女的更容易买房子Logistic模型预测。如何通过输入条件一步一步预测客户的行为呢决策树回归模型可以很好地模拟和解决这一类问题。顾名思义决策树回归就是根据要分类的特征属性构建一颗树的结构在这棵树中从根节点开始在分叉节点处根据概率选择进入哪一个分支顺着分支推论到叶子节点从而得出结论的过程。下面我们同样以客户的性别、年龄、到访次数三个自变量预测因变量buy。加载rpart程辑包用sample()函数随机抽取训练集和测试集首先加载rpart程辑包并将数据存入到数据框customer中。set.seed()的作用是为随机函数事先设置种子这样可以保证在重新调用随机函数时生成的随机序列相同。在退出R语言后再次启动或重新设定种子后随机数序列会发生变化此处sample()函数中以80%的概率生成类别120% 的概率生成类别2。将标记为类别1的个体作为训练集trainSet标记为类别2的个体作为测试集testSet。用rpart()函数拟合决策树上面是rpart()函数的拟合结果仅观察这个表结果可能没有那么显而易见下面我们结合图来看就简单多了。用plot()和text()函数可视化拟合结果注plot()函数中参数margin给边界增加空白参数uniform用于将每一个分支层设置为等长branch用于设置肩宽。text()函数中all T用于给决策树所有节点添加标签用user.n T给节点添加辅助信息显示落入不同分支的数量。注上图中左边分支属性值即标签为no右边分叉属性值为yes对应的每个节点“/”左边的数值表示no的数量右边的数值表示yes的数量。结合第2部分输出的图表结果和第3部分的绘图结果可以看出1 从根节点1出发最终有50428个客户没有成交没有成交的概率为0.625有30624个客户成交成交的概率为0.3752 节点2表明性别为男性M的有42个42个全部没有成交男性客户难道根本不能决定买还是不买么o(╥﹏╥)o3 节点3表明性别为女性F的有38个其中有30个客户成交4 节点6表明到访次数visit.times 2.5的有14个其中有6个客户成交5 到访次数visit.times2.5的有24个客户全部成交上面对图形展示的结果解释对不对呢summary()函数给出详细的说明。用summary()函数对结果做详细的说明和检验结果表明是正确的这里不再详细阐述。从上面训练集的结果看男性客户基本上都不会成交。为什么呢5. printcp()函数输出模型的复杂度参数哪个变量起到了真正的解释作用对因变量buy or not buy起到真正解释的作用的原来只有到访次数visit.times。CP值是一个惩罚值用于控制决策树模型的规模。CP值数值越大分叉节点数nsplit越少这个节点对因变量起到的解释作用越小。rel error表示当前决策树模型的平均偏差除以空树的平均偏差。xerror表示基于分类的相对误差。使用plotcp()绘制代价复杂度参数底部x轴表示cp值顶部x轴表示树的大小左边y轴表示相对误差虚线表示标准偏离的上限。从上图中我们可以看出当树的规模为2时误差接近标准偏离的上限当树的规模为3时交叉验证的误差最小。plotcp输出的图形结果再次说明只用到访次数visit.times解释因变量buy就好了即在根节点处判断visit.times是否大于2.5就好不用判断性别和年龄。男性客户基本可以被忽略只要请女性客户多多到访销售的业绩就不用愁了。注模型所用数据取自邱祐玮著的《数据科学R语言实现》数学算法的世界数据分析|PythonR|SQL|Excel|科普
郑州网站建设
网页设计
企业官网