学完线性回归,逻辑回归建模+评估模型的过程就相对好理解很多。其实就是换汤不换药。

逻辑回归不是回归算法,而是分类算法,准确来说,叫逻辑分类

逻辑分类本质上是二分分类,即分类结果标签只有两个

逻辑回归建模-评估模型的过程

如何建立有序的二维数据结构

1.字典是无序的,所以引入一个OrderedDict来让顺序变成有序

2.数据集转成Pandas的二维数据结构进行处理

如何实现逻辑回归

1.提取出特征和标签

提取出某一列:loc (根据索引进行提取)

2.建立训练数据和测试数据

从样本中随机的按比例选取训练数据(train)和测试数据(test):

使用交叉验证(sklearn.model_selection)中的train_test_split

train_test_split三个参数:

第一个参数:所要划分的样本特征

第二个参数:所要划分的标签特征

第三个参数:train_size= (<0的小数:训练数据的占比 >0的整数:样本的数量)

x_train , x_test , y_train , y_test 各分配到一定比例的数据

3.使用训练数据训练模型

注意:sklearn要求输入的特征必须是二维数组的类型,但是因为我们目前只有1个特征,所以需要用安装错误提示用reshape转行成二维数组的类型

导入逻辑回归:使用sklearn.linear_model中的LogisticRegression

用LogisticRegression创建训练模型:model = LogisticRegression()

训练模型:用的是fit函数

model.fit(x_train , y_train)

4.使用测试数据进行模型评估

评估模型准确度 准确率 :score函数

model.score(x_test,y_test)

5.进一步理解什么是逻辑函数

预测数据的结果用predict: model.predict([[3]])

得出的结果要么0要么1

1)用predict_probe获取概率值

model.predict_proba([[3]])

输出结果第1个值是标签为0的概率值,第2个值是标签为1的概率值

2)用逻辑回归函数获取概率值

逻辑回归函数 第一步要得到z值

z=a+bx

a:截距 a=model.intercept_

b:回归系数 b=model.coef_

将z值带入逻辑回归函数中,得到概率值

y_pred=1/(1+np.exp(-z))

e:通过Numpy中的exp函数求得

逻辑回归代码

#建立有序的二维数据结构

import pandas as pd

from collections import OrderedDict

examDict={

'学习时间':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,2.50,

2.75,3.00,3.25,3.50,4.00,4.25,4.50,4.75,5.00,5.50],

'通过考试':[0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1]

}

examOrder=OrderedDict(examDict)

examDf=pd.DataFrame(examOrder)

examDf.head()

#1.提取出特征和标签

x_exam=examDf.loc[:,'学习时间']

y_exam=examDf.loc[:,'通过考试']

#2.建立训练数据和测试数据

from sklearn.model_selection import train_test_split

x_train, x_test, y_train, y_test=train_test_split(x_exam, y_exam, train_size=0.8)

print(x_exam.shape)

print(y_exam.shape)

print(x_train.shape)

print(x_test.shape)

print(y_train.shape)

print(y_test.shape)

#绘制测试数据和训练数据的散点图

import matplotlib.pyplot as plt

plt.scatter(x_train, y_train, color="blue", label="train data")

plt.scatter(x_test, y_test, color="red", label="test data")

plt.legend(loc=2)

plt.xlabel("Hours")

plt.ylabel("Pass")

plt.show()

#3.使用训练数据训练模型

x_train=x_train.reshape(-1,1)

y_train=y_train.reshape(-1,1)

from sklearn.linear_model import LogisticRegression

model=LogisticRegression()

model.fit(x_train, y_train)

#4.使用测试数据进行模型评估

x_test=x_test.reshape(-1,1)

y_test=y_test.reshape(-1,1)

model.score(x_test,y_test)

#5.计算模型的准确率

model.score(x_test,y_test)

#预测最终结果是通过还是不通过

model.predict([[3]])

#用predict_proba求出通过的概率值=算出z带入逻辑回归函数求出的概率值

#计算概率值得方法1

model.predict_proba([[3]])

#计算概率值得方法2

x=3

a=model.intercept_

b=model.coef_

z=a+b*x

#将z带入逻辑回归函数中,算出通过的概率值

import numpy as np

y_pred=1/(1+np.exp(-z))

y_pred

python逻辑回归模型建模步骤_Python逻辑回归——建模-评估模型相关推荐

  1. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、xgboost模型预测推理并使用混淆矩阵评估模型、可视化模型预测的概率分布

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.xgboost模型预测推理并使用混淆矩阵评估模型.可视化模型预测的概率分布 目录

  2. python表示逻辑与运算的关键字_Python 逻辑与位运算

    简单的赋值和 print 留作课前预习,直接解读逻辑和位运算部分. 逻辑并不涉及高阶知识,以下基于部分代码作一解读: print((3 > 2) and (3 < 5)) 我们用 指代实数 ...

  3. python逻辑回归的主要参数_Python逻辑回归

    Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数. 优点:计算代价不高,易于理解和实现. 缺点: ...

  4. python逻辑量是什么意思_python 逻辑术语

    逻辑术语 在 python 中我们会用到下面的术语(字符或者词汇)来定义事物的真(True)或 者假(False).计算机的逻辑就是在程序的某个位置检查这些字符或者变量组合 在一起表达的结果是真是假. ...

  5. python如何定义一个函数选择题_Python逻辑题(以下10个选择题有唯一答案,请编写自定义函数judge遍历答案列表并报告正确答案),python,道,汇报...

    python逻辑题(以下10道选择题有唯一答案,请编写自定义函数judge遍历答案列表并汇报正确答案) 1.题目.代码及答案演示 代码: 逻辑题 说明 :个人没用过 Jupyter Notebook ...

  6. python抽象基类的作用_Python:多态、鸭子模型和抽象基类

    1. 多态 什么是多态 -- 多态,指的是一种事务具有多种形态: -- python是一种动态语言,默认支持多态,同一个方法 调用 不同的类对象 ,执行的 结果各不相同: 多态实现 -- 继承:不同子 ...

  7. python爬取网站数据步骤_python怎么爬取数据

    在学习python的过程中,学会获取网站的内容是我们必须要掌握的知识和技能,今天就分享一下爬虫的基本流程,只有了解了过程,我们再慢慢一步步的去掌握它所包含的知识 Python网络爬虫大概需要以下几个步 ...

  8. python通过什么对象连接数据库步骤_Python连接MySQL数据库方法介绍(超详细!手把手项目案例操作)...

    本文涉及到的开发环境:操作系统 Windows 10 数据库 MySQL 8.0 Python 3.7.2 pip 19.0.3 两种方法进行数据库的连接分别是PyMySQL和mysql.connec ...

  9. python简述文件的操作步骤_Python文件读取操作的详细介绍

    本篇文章给大家带来的内容是关于Python文件读取操作的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读取文件的操作步骤 有一道脑筋急转弯,问把大象装进冰箱的步骤,答案很简 ...

最新文章

  1. 算法----------加一
  2. 实战tcpdump看RST
  3. LocaleResolver
  4. php怎么传json数据_php和js如何通过json互相传递数据相关问题探讨
  5. rabbitmq 相关方法
  6. TZOJ 2999 Network(连通图割点数量)
  7. pytorch冻结模型
  8. c语言ascii码表查询,ascii码表查询_ascii码表怎么看
  9. 大数据推荐系统(4)推荐算法
  10. 计算机高级筛选操作步骤,Excel中如何应用高级筛选,高级筛选的用法?
  11. 欧洲批准最强粒子对撞机计划,造价210亿欧元,全长100公里,耗资巨大引争议...
  12. 根据身份证号计算年龄 15位或18位身份证号的年龄计算方法
  13. 2022 知来者之可追
  14. iOS 全息备份研究
  15. 淘宝店铺装修之一怎样在自定义内容区做个商品图片轮播展示
  16. 兰州工业学院有计算机专业,兰州工业学院计算机协会
  17. TFTP服务器与客户端的安装
  18. java非必传参数怎么处理_SpringBoot 设置传入参数非必要的操作
  19. 计算机毕业设计Java印染公司信息管理系统(系统+程序+mysql数据库+Lw文档)
  20. margin带一个、二个、三个、四个参数不同的含义。

热门文章

  1. Python中的乘方计算
  2. eNSP第五篇扩展1:vrrp over nqa,nqa探测,双重vrrp监听方法1,vrrp与nqa结合
  3. STM32F103C8T6学习
  4. MATLAB无线计算器
  5. 招行一网通 java桥_招行一网通支付接入
  6. 计算机知识博大精深,如何学好计算机之忠言逆耳
  7. OT安全|工业控制系统(ICS)六大安全实践
  8. 关于ABAP中锁参数SCOPE的使用bug一粒
  9. html5 倒计时跳转动画,HTML5弹性摇摆旋转的倒计时动画
  10. springboot后台搭建及登录注册接口编写