IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Python机器学习--回归算法--逻辑回归算法 -> 正文阅读

[数据结构与算法]Python机器学习--回归算法--逻辑回归算法

逻辑回归算法

逻辑回归算法类型:

逻辑回归属于有监督学习的分类算法(只能做二分类)
在这里插入图片描述

逻辑回归算法原理:

将线性回归的结果输入sigmoid函数中,得出预测为类1的概率(
如果概率为0.2 有20%的可能属于类1,属于类0的概率是80%; 结果是类0
如果概率为0.8 有80%的可能属于类1,属于类0的概率是20%; 结果是类1

线性回归算法方程
在这里插入图片描述
sigmoid函数公式和图像:
在这里插入图片描述
在这里插入图片描述
逻辑回归的结果是基于线性回归计算出来的,线性回归的质量好坏会直接影响逻辑回归的结果,影响线性回归的就是回归系数。对于线性回归来说是使用随机梯度下降的方法计算的,对于逻辑回归,也是使用随机梯度下降的方法,只不过将损失函数换成了对数似然损失函数,因为对数似然损失函数中的 h(x)等于sigmoid函数,而sigmoid函数中的x就等于线性回归中的 h(w) ,也就是变相的计算最佳的回归系数。

逻辑回归使用对数似然损失函数来衡量真实结果与预测结果的误差
在对数似然损失函数中通常是以e为底数的
对数似然损失函数公式
在这里插入图片描述

对数似然损失函数计算最佳回归系数的步骤:

  • 随机初始化一组【w1,w2,w3,w4…wn】

  • 根据初始化的w结合特征值,计算出预测结果sigmoid函数S(x)

  • 利用对数似然损失函数,计算出真实值与预测值之间的误差和Loss

  • 计算误差关于w的偏导(w等同θ)
    在这里插入图片描述

  • 沿着梯度的负方向进行更新w(w等同θ)
    在这里插入图片描述
    lr表示的是学习率,lr是小于零的数,意思就是当求出的偏导太大时,减去一个很大的值很容易跳过导数等于0的点,所以要用学习率来控制它梯度下降的幅度。

  • 重复2-5步骤,直到达到一定的迭代次数或者损失小于某个值时停止。

在这里插入图片描述

逻辑回归基于sklearn的实现

import numpy as np
from sklearn.linear_model import LogisticRegression
# 实例化
alg = LogisticRegression()
# 参数:max_iter:最大迭代次数

# 拟合
alg.fit(X_train, y_train)

# 查看准确率
score = alg.score(X_test, y_test)
print('准确率:', score)

# 查看回归系数
print('回归系数', alg.coef_)
# 查看截距
print('截距:', alg.intercept_)

# 查看sigmoid函数处理过后的概率
prob = 1/(1+np.exp(-alg.decision_function(X_test)))
prob = [float('%.2f'%i) for i in prob]
print('概率:', prob)

逻辑回归算法的特点

  • 结果具有可解释性【可根据线性方程公式可以明确得出结果是如何计算的】
  • 只能预测二分类
  • 与朴素贝叶斯,knn算法相比,逻辑回归效果更好,但耗时更久。
  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-08-29 09:37:13  更:2021-08-29 09:39:46 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 8:19:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计