逻辑回归案例一:保险与年龄之间关系分析

  • 逻辑回归案例一:保险与年龄之间关系分析
  • 1 数据加载
  • 2 数据切分
  • 3 模型创建与应用
  • 4 逻辑回归和线性回归关系

手动反爬虫,禁止转载: 原博地址 https://blog.csdn.net/lys_828/article/details/121873835(CSDN博主:Be_melting)

 知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息

逻辑回归案例一:保险与年龄之间关系分析

1 数据加载

导入模块和加载数据

import pandas as pd
from matplotlib import pyplot as plt
%matplotlib inlineimport warnings
warnings.filterwarnings('ignore')df = pd.read_csv('../data/insurance_data.csv')
df.head()

输出结果如下。

数据集中一共两个字段,第一个年龄,第二个为是购买保险的情况,购买就标记为1,未购买就标记为0。可以通过绘图查看两个字段之间的关系,代码如下。

plt.scatter(df.age,df.bought_insurance)

输出结果如下。

根据图形结果,可以看出年龄在于30岁以下的人员购买保险的可能性较低,但是年龄在40岁往上的人员购买保险的人数较高。现在有一个问题:到底一个人员在多少岁是会买保险的?

假定设定为35岁,但是图中有三个异常点,左侧一个是在35岁以下买了保险,右侧两个是35岁以上却没有购买保险。此时就涉及到经常被提及的鲁棒性问题(Robost),表示 控制系统在一定(结构/大小)的参数摄动下,维持其它某些性能的特性。 也就是换成通俗的话:即使有部分问题(异常值)也不会导致系统故障。

考虑到模型的鲁棒性问题,图中三个异常数据相当于就是被忽略了,然后再进行购买保险年龄的划分貌似简单许多,但是这里划分的一条直线就相当于是指定一个x值,如果是在单次模型运行中肯定没有问题,但是在接下来运行时就会产生问题。拿考试的成绩预测来讲,考了两次数学,第一次83,第二次为87,那么第三次就预测为85猜对的可能性也不是没有,但是相较于给定一个预测区间会靠谱许多,比如预测最终的成绩在82-88之间。同理这种方式也可以应用在本次的案例中,可以给定一个范围区间,某一范围的人购买保险的概率很高,但是某一范围的人购买保险的概率很低。

2 数据切分

导入切分数据的函数,进行8:2切分训练集和测试集数据,代码操作如下。

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(df[['age']],df.bought_insurance,train_size=0.8,random_state=42)X_train.shape
X_test.shape
X_test

输出结果如下。

3 模型创建与应用

导入创建模型的函数,并进行应用,具体的步骤梳理如下。

#第一步:导入创建的模型函数
from sklearn.linear_model import LogisticRegression
#第二步:模型初始化
model = LogisticRegression()
#第三步:训练模型
model.fit(X_train, y_train)
#第四步:模型预测
y_predicted = model.predict(X_test)
#第五步:输出预测概率/结果
model.predict_proba(X_test)  #输出概率
y_predicted                  #输出结果
#第六步:核实真实数据,检验的得分
y_test
model.score(X_test,y_test)

前五步的输出结果如下。

第六步的输出结果如下。

4 逻辑回归和线性回归关系

逻辑回归是基于线性回归之上的,两者均属于回归,也就是判断预测的结果接近真实值的程度,只不过逻辑回归是按照概率将预测的结果进行分类。

模型应用后可以直接输出斜率和截距,代码操作如下。

model.coef_
model.intercept_

输出结果如下。相当于最后的模型为y = 0.0477x -1.303

如果手动完成sklearn中的逻辑回归的算法,需要自己定义函数进行计算,首先通过sigmoid转化器,把直线变成s型曲线。

import math
def sigmoid(x):return 1 / (1 + math.exp(-x))# y = 0.0477x -1.303
def prediction_function(age):z =0.0477 * age - 1.303y = sigmoid(z)return y

对应的曲线就是如下图形。

假如年龄是50岁的人,购买保险的概率计算,输出结果如下。

最后就是可以利用for循环快速找出边界,代码如下。

for i in range(16):print(i+25)print(prediction_function(i+25))

输出结果如下。可以看出27-28岁这个之间是作为是否购买保险的分界线(此结果和指定的随机种子有关系,当前指定的random_state的值为42)

【机器学习】逻辑回归案例一:保险与年龄之间关系分析相关推荐

  1. 机器学习 逻辑回归算法应用案例

    机器学习 逻辑回归算法应用案例 时间:2020.09.12 出处:https://www.kesci.com/home/project/5bfe39b3954d6e0010681cd1 注明:初学逻辑 ...

  2. 【机器学习】逻辑回归案例二:鸢尾花数据分类,决策边界绘制逐步代码讲解

    逻辑回归案例二:鸢尾花数据分类,决策边界绘制逐步代码讲解 1 数据加载 2 数据EDA 3 模型创建及应用 3.1 数据切分 3.2 创建模型与分类 3.3 决策边界绘制 3.3.1 二分类决策边界绘 ...

  3. 泰坦尼克(机器学习逻辑回归)

    泰坦尼克(机器学习逻辑回归) 原文链接 数据预处理 import pandas as pd train=pd.read_csv('C:/Users/Admin/Downloads/train.csv' ...

  4. [转载] 吴恩达机器学习逻辑回归练习题:逻辑回归及规则化(python实现)

    参考链接: 了解逻辑回归 Python实现 练习题背景:网易云课堂->吴恩达机器学习课程->逻辑回归练习题 对于练习题的详细内容,和课程中推荐的octave编程实现,请见:吴恩达机器学习逻 ...

  5. 机器学习——逻辑回归

    机器学习--逻辑回归 一.逻辑回归 logistic回归又称logistic回归分析,常用于数据挖掘,疾病自动诊断,经济预测等领域.它是一种广义的线性回归分析模型,因此与多重线性回归分析有很多相同之处 ...

  6. 机器学习——逻辑回归常见面试题整理

    逻辑回归 1.介绍 逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯队下降来求解参数,来达到将数据二分类的目的. 2.逻辑回归的损失函数和梯度下降参数迭代方法 逻辑回归的损失函数是它的 ...

  7. 第7周--逻辑回归案例练习

    第7周--逻辑回归案例练习 实验目的 实验步骤 实验目的 实验步骤 逻辑回归的基本概念 逻辑回归的优缺点 优点: 实现简单,广泛的应用于工业问题上: 分类时计算量非常小,速度很快,存储资源低: 便利的 ...

  8. 基于机器学习逻辑回归算法完成癌症病人的肿瘤是否良性的判断

    https://www.toutiao.com/a6630407688360575502/ 2018-12-04 22:46:48 逻辑回归算法 虽然逻辑回归算法的名字中有回归二字,但是它却不是回归算 ...

  9. 【机器学习】:sklearn逻辑回归案例分析 《良/恶性乳腺癌肿瘤预测》

    由于对逻辑回归等算法做到深刻理解有点难,目前还在学习中,尽管有现成的模型库,我们还是需要对模型的底层实现有一个了解.这里先记录一下如何利用sklearn的LogisticRegression来做一个简 ...

最新文章

  1. 比英伟达便宜4000元、功耗更低、游戏性能相同,AMD发布RX 6900 XT旗舰显卡
  2. 【赠书】金融领域可解释机器学习模型与实践
  3. 引入外部化的配置文件
  4. python计算器小程序源码_python练习-计算器小程序
  5. 改良版class选择器
  6. RS特性总结(思维导图)
  7. pano2vr无法输出html5,教大家Pano2VR怎么输出全景图的方法
  8. GitHub iOS开源项目
  9. 微服务并不能修复你破碎的组织文化
  10. 浏览器刷新、关闭页面与统计在线人数
  11. Matlab的插值与拟合
  12. 卧槽!GitHub标星7.9K star,抢茅台酒脚本竟然开源了!网友:已抢到,真香!
  13. Unity Shader学习:体积光/体积阴影
  14. 冰雹(3n+1)猜想一个不太成熟的小思路
  15. 2014,说说这个燥热的暑假
  16. 常用估值方法的编程实现(1):自由现金流折现
  17. iOS模式详解runtime面试工作
  18. 现在商家的套路太深了
  19. python读取raw数据文件_【Python】OGR库(1):读取矢量数据
  20. 游戏开发中的按键操作管理

热门文章

  1. 阿里天池数据分析入门 利用Pandas分析数据
  2. 酒浓码浓 - HTML5微数据/itemscope/itemtype/itemprop
  3. hazelcast 搭建_hazelcast教程 入门
  4. 当“长期主义”遇上“流量生意”,轻松筹与水滴筹谁更胜一筹?
  5. 对标苹果,小米的高端不只是学习
  6. 2020年下半年湖北软考报名通知
  7. 语c语言描写,1:语c是什么.还有一些常识.(?)
  8. 关于cmake与make
  9. 搭建Cacti监控(2)
  10. 该怎么选择便宜和贵的SSL证书