单纯理解算法还算容易,但是到实际工作中就往往理不清头绪,特征变量从哪来,又怎么选,模型的输出结果是什么,如何评价模型好坏,有了模型如何应用,模型上线之后还要做什么等等一系列问题。今天我们就以常用的逻辑回归为例,结合实际场景说说如何应用结果问题的过程。对于数据产品经理、数据建模师、数据挖掘工程师、数据分析师来说,都必须了解全部流程。

算法描述

逻辑回归(Logistic Regression)是应用非常广泛的一种分类机器学习算法,算法简单且高效、预测速度快,而且容易学习和理解。进一步说,逻辑回归是一个二分类算法,主要解决离散的两元分类【是、否】预测的问题。听得最多的线性回归是解决连续型变量预测的问题,例如已知近年的销售数据预测下季度的销售额。

对于多个分类问题,y不在[0, 1]中取值,而是有K个分类。多非类有两种情况,一是K个类别不是互斥的,比如用户会购买哪些品类,就可以为每个品类分别训练一个二元分类器。如果K个类别是互斥的,即y=1时不能取其它值,比如预测用户的年龄段,这种情况可以利用Softmax Regression算法,是对LR的改进。

下面这张图非常清晰的描述了算法的原理,n个自变量(X1,X2,…Xn)会影响分类结果,Beta系数代表是每个变量对分类的影响程度,需要通过训练数据集做最大似然估计(所有样本的预测值和真实值一致性的概率最大)得出,Beta值越大说明该变量对结果的影响越显著,然后再用Logit函数做变型,把数值转化成[0, 1]值。

逻辑回归是有监督学习算法,首先利用训练数据集多次迭代估算出Beta参数,然后把测试数据带入下面的公式(sigmoid函数),就可以求出每个测试记录的预测值,把预测值和实际的真实进行比较,计算模型的准确率、AUC值来评价该模型能是否达到应用要求。

为什么能得到【0,1】之间的概率呢,主要是sigmoid函数的功劳,如果把上面的sigmoid函数用图像画出来就能直观看出来了。从如下的函数图上可以看出,函数y=g(z)在z=0的时候取值为1/2,而随着z逐渐变小,函数值趋于0,z逐渐变大的同时函数值逐渐趋于1,而这正是一个概率的范围。

作为产品经理必须要理解算法原理、来龙去脉、应用场景,知道如何准备数据,基本够用了,推倒算法的过程还是交给数学专业的搞吧,下面我们通过实际例子,看看如何使用算法。

算法实例

1. 案例描述

预测用户对18个大品类的购买偏好【1,0】,品类偏好不是互斥的,即可以同时喜欢多个,所以使用LR构建18个分类模型预测用户对每个品类的购买偏好即可。

2. 分析变量

找到可能影响分类结果的因素,例如:品类浏览频次、品类购买频次、购买总金额、平均购买间隔天数、近一次购买时间、近一次浏览时间、总停留时间、家庭人口数量、地理位置。然后数据仓库中汇总计算出这些指标(这部分属于数据工程师的工作,从原始数据中抽取、汇总计算,例如数据仓库有用户购买的多条记录,但没有平均购买间隔天数这个指标),最后一列是实际的分类结果,构建成一个含有很多相关变量的大宽表作为算法的训练数据集和测试数据集,如下所示

实际应用中为了模型更加精准需要组织更细节的变量,比如近1/2/3/7天的点击、收藏、浏览次数,以及用户这些行为和该品类全部用户行为的比例关系等等。

3. 特征选择

特征选择是从属性集合中选择那些重要的,与分析任务相关的子集的过程。选择变量不在多,关键就行。特征选择方法有逐步增加法(先选择一个最优的,然后逐个添加)、逐步递减法(所有属性做为候选,逐个删除)、递归特征删除法。

这里使用递归删除法,通过逻辑回归算法本身就是计算特征变量的系数,系数大小也就代表了该变量的重要程度。递归删除法是用全量特征跑出一个LR模型,根据线性模型的系数(上面说过了系数越大说明变量和分类相关性越大),删掉5-10%的弱特征,观察准确率/AUC的变化,逐步进行, 直至准确率/AUC出现大的下滑停止,这时保留下来的特征系数就是模型的输出。

4. 模型检验

模型检验主要采用准确率和AUC两个指标。

计算两个指标都需要理解几个概念,所谓的真正例就是真实类别为【是】且预测类别也为【是】,假负例(预测类别为【否】但实际为【是】)、假正例(预测类别为【真】但实际为【否】)、真负例(预测类别为【否】且实际也为【否】)。

准确率是指测试集中被正确分类的比例,例如100个测试记录,有82(48 + 34)个被正确分类,即真正例和真负例的和,正确率就是82%,算法的准确率一般要高于80%,不然没法实际应用。

AUC(Area under the Curve of ROC)比较麻烦需要先画ROC曲线,AUC就是ROC曲线下方面积所占的比例,越大越好。ROC曲线X轴是假正例(FP)的累计比例,Y轴是真正例(TP)的累计比例,那么自然是,FP rate小时TP rate越大模型越好。

5. 模型输出

模型输出,模型构建完成后输出的结果就是保留的特征变量以及其对应的系数。

6. 模型应用

模型应用,有ID为1000的用户,他对应的特征变量为(31, 6, 138, 29, 3, 26, 38, 4),判断其是否会购买洗护这个品类。方法就是把参数带回下面的公式中,计算分类概率是0还是1,如果是1就说明用户近期会购买该品类。

7. 迭代优化

迭代优化,模型上线后会根据运营不断的去优化,提高转化率,比如再扩充平均购买金额,最大购买金额等等字段构建新的模型,然后做A/B测试,如果的准确率和转化率都高于旧的模型则正式上线。

至此,我们就完成的逻辑回归的实际应用。

End.

作者:百川

来源:人人都是产品经理

零基础入职数据分析就业班

课程的形式主要是“直播+录播”

报名专享:课程项目作业+1v1班主任监督学习+爱数据学院学员专属网站+班级答疑群

课程结束后能熟练掌握SQL、Python、Excel、PPT等工具

适合人群:

1.转行(岗位相关,专业相关、对数据分析感兴趣)

2.从事数据分析工作,但是需要提升技能以及增加实战经验

3.应届毕业生入职数据分析

tensorflow sigmoid 如何计算训练数据的正确率_逻辑回归算法!数据产品经理必看...相关推荐

  1. 逻辑回归算法c语言_逻辑回归算法背后的数学

    逻辑回归算法背后的数学 看完深蓝学院的机器学习公开课后,对于逻辑回归部分,打算写篇学习笔记记录总结一下,也和大家共同分享. 1 基本思能 逻辑回归(Logistic Regression)和线性回归( ...

  2. 逻辑回归阈值_逻辑回归算法

    (一)逻辑回归原理 1.整体概括 逻辑回归假设数据服从伯努利分布(0-1分布),通过极大似然函数的方法,运用梯度下降法来求解参数,来达到将数据二分类的目的. 2.灵感过程(来自B站UP主:文小刀是也) ...

  3. tensorflow sigmoid 如何计算训练数据的正确率_用于高级机器学习的自定义TensorFlow损失函数...

    在本文中,我们将看看: 在高级机器学习(ML)应用程序中使用自定义损失函数 定义自定义损失函数并集成到基本Tensorflow神经网络模型 一个简单的知识蒸馏学习的例子 介绍 机器学习中预定义的损失函 ...

  4. 回归分析beta值的标准_学好这20%,就能解决80%的数据分析问题 | 数据产品经理必看...

    文末领取[ 网络服务行业数据报告] 很多人觉得,做数据产品经理就没有必要掌握数据分析相关技能了,终于可以远离了枯燥的数据分析工作.如果真这么觉得,那么就大错特错了,一个好的数据产品经理,不仅要有产品s ...

  5. 产品经理必看:终于有人把数据指标讲明白了

    导读:为什么有些业务数据每天都在波动?而有些业务部分数据会突然升降,其背后反映了什么问题? 想要解答这个问题,就要来分析录入报表中的这些数据本质上到底是什么.其实,数据报表所罗列的各个数据项在数据分析 ...

  6. orange实现逻辑回归_逻辑回归算法的原理及实现(LR)

    Logistic回归虽然名字叫"回归",但却是一种分类学习方法.使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素.逻辑回归(Logistic Regression, LR ...

  7. 【高阶产品经理必修课01】产品经理必看:终于有人把数据指标讲明白了

    导读:为什么有些业务数据每天都在波动?而有些业务部分数据会突然升降,其背后反映了什么问题? 本文来自我的新书<高阶产品经理必修课:企业战略驱动下的数据体系搭建> 想要解答这个问题,就要来分 ...

  8. tensorflow sigmoid 如何计算训练数据的正确率_“来自蒙娜丽莎的凝视”— 结合 TensorFlow.js 和深度学习实现...

    客座博文 / Emily Xie,软件工程师 背景 坊间传闻,当您在房间里走动时,蒙娜丽莎的眼睛会一直盯着您. 这就是所谓的"蒙娜丽莎效应".兴趣使然,我最近就编写了一个可互动的数 ...

  9. tensorflow sigmoid 如何计算训练数据的正确率_量化训练:Quantization Aware Training in Tensorflow(一)...

    本文的内容包括对神经网络模型量化的基本介绍.对Tensorflow量化训练的理解与上手实操. 此外,后续系列还对量化训练中的by pass和batch norm两种情况进行补充解释,欢迎点击浏览,量化 ...

  10. python数据科学手册_小白入门Python数据科学

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

最新文章

  1. 常考数据结构与算法:单调栈结构
  2. k-means聚类分割
  3. php显示玩家,php.取得玩家IP
  4. 概率分布:PMF与PDF
  5. SAP Spartacus converter执行的上下文
  6. Windows7虚拟化体验之一:Windows7部署
  7. jsf 单元测试_构建和测试JSF.next
  8. C-Free 5.0编译失败问题解决办法
  9. python遍历树结构_python 数据结构与算法——树的遍历
  10. 使用Bootstrap制作右键单击自定义菜单
  11. hdu 3105 Fred's Lotto Tickets (水)
  12. python web报表_python django框架 渲染和ajax表单提交周报表
  13. [转载] C#面向对象设计模式纵横谈——11. Facede外观模式
  14. 2018深圳杯数学建模A题--人才吸引力评价模型研究
  15. 百度网盘直链原理解析
  16. 使用Weka进行数据挖掘(Weka教程三)Weka数据之Instances和Instance
  17. PIXI+GSAP 防刹车动效
  18. unity lookat导致物体颠倒怎么解决_在Unity 2D中如何用一行代码实现LookAt的效果,以及向量归一化小总结...
  19. 文本编辑器EditPlus
  20. 德鲁克:CEO必须秉持的六项原则

热门文章

  1. GitHub微信防撤回项目 for Mac
  2. 关于一个简易的html登陆界面并且连接数据库判断
  3. 11个最佳Ionic应用程序模板
  4. kindle我的剪帖文件整理脚本
  5. 不清楚Word如何批量转PDF?快来跟我学这两个妙招
  6. 服务端Word转Pdf,实现中文文档转换
  7. B/S神思SS628(100)身份证阅读器开发
  8. 数据库建模工具Pdman
  9. 利用1stOpt进行logistic函数非线性拟合
  10. 机器学习之K均值聚类算法