首先需要明确一点是logistics回归和线性回归的区别:

1线性回归的因变量Y是连续性变量,而logistics回归是分类变量。

2线性回归最后可以通过函数y=a1x1+a2x2...去描述,而logistics的方程是这样的

好吧,大学数学忘了差不多了,反正可以理解为是一个概率函数吧。所以logistics回归的因变量y的值是在0-1之间的,得到的数值y可以看做属于类别1的概率,当0.5≤y≤1,则说明是类别1,不然则是类别0。

Logistics主要会用做二分类的问题,典型的一个场景比如说:

分类问题示例:信用卡

从x1:职业,x2:收入,x3:年龄等等信用卡申请人不同的信息维度,来判断y:是否发放信用卡,发放哪一类信用卡

这里这次探究的数据来自于《谁说菜鸟不会数据分析-spss篇》中的华南区商户续约数据,数据大体有这么些维度:

根据注册市场,营业收入,成本等维度可以去预测这家商户是否还会继续续约。

在SPSS中方法是比较简单的,直接通过分析--二元Logistics回归即可

输出的总体正确率为73.1%,其中对角线上的300和797分别表示“未续约”和“续约”的预测正确个数。

而且三个特征以及常量的显著性均小于0.01,说明都具有极其显著的统计学意义,应纳入Logistics模型中。那实际上就可以得到方程式

logit(P)=-2.287+0.099*注册时长+0.014*营业收入-0.184*成本。

通过这个方程式计算概率的话就可以得到预测的分类到底是续约还是不续约。

接下来对比一下在python中用Logistics回归得到的结果会是如何?数据源链接如下(CSV格式):

主要还是用numpy,pandas以及scikit-learn三件套为主。

import pandas

sc=pandas.read_csv('D:\\SC-sales.csv',encoding='utf-8')

sc.info()

pandas导入后通过info看到共1500行数据,无空值,可以直接开始后面的操作

import sklearn

import numpy as np

from sklearn import linear_model

lm=linear_model.LogisticRegression() #这里使用LogisticRegression的默认参数

features=['注册时长','营业收入','成本']

x=sc[features]

y=sc['续约']

from sklearn.model_selection import cross_val_score

#logistic中的scoring参数指定为accuracy

scores=cross_val_score(lm,x,y,cv=5,scoring='accuracy') #cv=5即是5折交叉检验

print(np.mean(scores)) #求平均的交叉检验的值

#结果输出为0.728015363134

可以看到这个结果基本上和SPSS做出来是一样的,关于交叉检验在引用一下说明顺便也当复习一下。在机器学习中,交叉检验常被用来检验模型好坏,本质上好处是可以从有限的数据中获得尽可能多的有效信息,从而可以从多个角度去学习样本,避免陷入局部的极值。在这个过程中,无论是训练样本还是测试样本都得到了尽可能多的学习。

一般检验方法常见的有:k-folds 交叉验证法(常见用5折或者10折),leave-one-out 法(留一法)k-folds交叉验证法: 也叫k折交叉验证法,将初始数据集分割成 k 份,其中1份被保留作为验证模型的数据,其他 k-1 份用来训练。交叉验证重复 k 次,每份数据作为验证集验证一次,平均 k 次的结果或者使用其它结合方式,最终得到一个单一估测

leave-one-out 法:也叫留一交叉验证法,只使用原本样本中的一项来当做验证集, 而剩余的则留下来当做训练集。 这个步骤一直持续到每个样本都被当做一次验证数据

所以当k取n时实际上两者是等价的。

综上来看,用LR进行预测总体来说并不是特别好,下一步可以考虑用决策树和随机森林再来进行尝试。

python分类预测_python做logistic分类预测尝试相关推荐

  1. python snownlp了解_python做snowNLP文本情感分类代码示例

    一.snowNLP简介和作用 snownlp为python版的文本分析工具.是受到了TextBlob的启发而写的,可以方便的处理中文文本内容. 支持的中文自然语言操作包括: 中文分词 词性标注 情感分 ...

  2. python 多分类情感_python 文本情感分类

    对于一个简单的文本情感分类来说,其实就是一个二分类,这篇博客主要讲述的是使用scikit-learn来做文本情感分类.分类主要分为两步:1)训练,主要根据训练集来学习分类模型的规则.2)分类,先用已知 ...

  3. python 数据分类汇总_python对Excel分类汇总

    python的分类方法有pivot_table, groupby,合并方法有pd.merge,pd.concat等 import pandas as pd import numpy as np fra ...

  4. python回归分析预测模型_Python与线性回归模型预测房价

    目录提出问题 理解数据 数据清洗 构建模型 模型评估 总结 1. 提出问题 房价和什么因素相关?进而得知如何挑选房子? 2. 理解数据 2.1 导入数据 从Kaggle 中下载 2.2 导入数据 im ...

  5. python模型训练_python模型训练与预测练习

    python模型训练与预测练习 发布时间:2018-03-09 17:49, 浏览次数:368 , 标签: python 我是照着YouTube上的机器学习视频做的,视频里讲的比较简洁,下来自己做遇到 ...

  6. python基础论文_Python基础 - 文章分类 - rwwh - 博客园

    文章分类 - Python基础 摘要:参考 https://www.cnblogs.com/yuanchenqi/articles/5722574.html https://www.cnblogs.c ...

  7. python 数据分类汇总_Python 实现批量分类汇总并保存xlsx文件

    上一篇文件用VBA介绍了如何实现一键按列分类汇总并保存单独文件,代码有几十行,而且一旦数据量多了,效果可能不尽如人意. 文章可以参见这里: vba实例(27)-一键按列分类汇总并保存单独文件 今天就来 ...

  8. python模型预测_python:目标检测模型预测准确度计算方式(基于IoU)

    训练完目标检测模型之后,需要评价其性能,在不同的阈值下的准确度是多少,有没有漏检,在这里基于IoU(Intersection over Union)来计算. 希望能提供一些思路,如果觉得有用欢迎赞我表 ...

  9. python决策树分类案例_python实现决策树分类算法

    本文实例为大家分享了python实现决策树分类算法的具体代码,供大家参考,具体内容如下 1.概述 决策树(decision tree)--是一种被广泛使用的分类算法. 相比贝叶斯算法,决策树的优势在于 ...

最新文章

  1. php控件不显示,解决控件遮挡问题:关于有窗口元素和无窗口元素
  2. 错误:Subquery returns more than 1 row 表示子查询返回了多行数据
  3. 深度案例 | 纷享销客:用户需求精准洞察下的敏捷开发
  4. windows下cmd中清屏
  5. Word打不开,如何修复word文档?
  6. word计算机课教学反思,《WORD》初中信息技术的教学反思
  7. C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 基于数据库资源的多语言实现...
  8. mac系统升级后使用gitxcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), miss
  9. wsl 重启_WSL(Windows Subsystem for Linux) 安装教程
  10. linux c语言画太极,利用C语言的Cairo图形库绘制太极图实例教程
  11. Tekla二次开发入门经典例子
  12. autocad2007二维图画法_AutoCAD 2007矩形绘制方法教程
  13. 【Python学习】打印n位内从1到最大的整数
  14. [vue学习笔记]数组+事件+v-model的使用
  15. 太极图(HTML+CSS),无动态效果
  16. 一文看懂企业数据资产目录
  17. html滚动字幕图片,网页HTML代码滚动文字制作
  18. 手动脱壳----PECompact 2.x - Jeremy Collake
  19. 图形化解决Ubuntu18.04、16.04无线网卡设置静态IP且能上网。笔记本ssh连接工控机,工控机利用有线网口接激光雷达等传感器、利用无线网口上网下载安装更新功能包
  20. 资源变现小程序源码及搭建教程

热门文章

  1. follow up transaction type determination
  2. 使用form上传文件到application server的另一种办法
  3. C4C Adapt menu debugging
  4. SAP Netweaver和Hybris的数据库层
  5. php winform通信,C# Winform 通过Socket实现客户端和服务端TCP通信
  6. 数据库怎么看是什么编码_离婚了怎么发朋友圈?看你喜欢什么类型
  7. detectandcompute 图像尺寸太大_基于深度局部特征的图像检索
  8. java 执行外部命令 苹果_Java中执行外部命令
  9. 语言求余和乘除优先级_愉快地学Java语言:第二章基本程序设计 第2讲
  10. api与密度转换公式_API重度和密度换算公式