首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

逻辑回归模型

编程知识
2024年09月05日 22:04

  核心:线性回归+sigmoid映射。

一、概述

  逻辑回归模型(Logistic Regression,LR),由名称上来看,似乎是一个专门用于解决回归问题的模型,事实上,该模型更多地用于解决分类问题,尤其是二分类问题。这并不矛盾,因为逻辑回归直接输出的是一个连续值,我们将其按值的大小进行切分,不足一定范围的作为一个类别,超过一定范围的作为一个类别,这样就实现了对分类问题的解决。概况来说就是,先对数据以线性回归进行拟合,输出值以Sigmoid函数进行映射,映射到0和1之间,最后将S曲线切分上下两个区间作为类别区分的依据。

二、算法原理

  算法核心是线性回归+sigmoid映射。具体来说,就是对于一个待测样本,以指定的权重和偏置量,计算得到一个输出值,进而将该输出值经过sigmoid进一步计算,映射至0和1之间,大于0.5的作为正类,不足0.5的作为负类。模型原理图示可概括为

  线性回归的表达式可表示为 \(z=w\cdot x+b\),sigmoid函数表达式表示为 \(y=\frac{1}{1+e^{-z}}\),那么逻辑回归模型的表达式即是\(y=\frac{1}{1+e^{-(w\cdot x+b)}}\)
逻辑回归的分类算法可表示为

\[\left\{ \begin{aligned} &-1, \frac{1}{1+e^{-(w\cdot x+b)}}<0.5\\ &1, \frac{1}{1+e^{-(w\cdot x+b)}}\geq0.5 \end{aligned} \right. \]

  逻辑回归模型的训练采用交叉熵损失函数,在优化过程中,计算得到最佳的参数值,表达式如下

\[J\left( \theta \right)=-\frac{1}{m} \sum_{i=1}^{m}\left[ {y^ilog(h(x^i))} +(1-y^i)log(1-h(x^i))\right] \]

三、Python实现

import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn import metrics
## 1.定义数据集
train_x = [
    [4.8,3,1.4,0.3],
    [5.1,3.8,1.6,0.2],
    [4.6,3.2,1.4,0.2],
    [5.3,3.7,1.5,0.2],
    [5,3.3,1.4,0.2],
    [7,3.2,4.7,1.4],
    [6.4,3.2,4.5,1.5],
    [6.9,3.1,4.9,1.5],
    [5.5,2.3,4,1.3],
    [6.5,2.8,4.6,1.5]
]

# 训练数据标签
train_y = [
    'A',
    'A',
    'A',
    'A',
    'A',
    'B',
    'B',
    'B',
    'B',
    'B'
]


# 测试数据
test_x = [
    [3.1,3.5,1.4,0.2],
    [4.9,3,1.4,0.2],
    [5.1,2.5,3,1.1],
    [6.2,3.6,3.4,1.3]
]

# 测试数据标签
test_y = [
    'A',
    'A',
    'B',
    'B'
]

train_x = np.array(train_x)
train_y = np.array(train_y)
test_x = np.array(test_x)
test_y = np.array(test_y)

## 2.模型训练
clf_lr = LogisticRegression()
rclf_lr = clf_lr.fit(train_x, train_y)

## 3.数据计算
pre_y = rclf_lr.predict(test_x)
accuracy = metrics.accuracy_score(test_y,pre_y)

print('预测结果为:',pre_y)
print('准确率为:',accuracy)




End.




pdf下载

From:https://www.cnblogs.com/flyup/p/18399369
本文地址: http://www.shuzixingkong.net/article/1779
0评论
提交 加载更多评论
其他文章 Falcon Mamba: 首个高效的无注意力机制 7B 模型
Falcon Mamba 是由阿布扎比的 Technology Innovation Institute (TII) 开发并基于 TII Falcon Mamba 7B License 1.0 的开放获取模型。该模型是开放获取的,所以任何人都可以在 Hugging Face 生态系统中 这里 使用它
Falcon Mamba: 首个高效的无注意力机制 7B 模型 Falcon Mamba: 首个高效的无注意力机制 7B 模型
一次Java性能调优实践【代码+JVM 性能提升70%】
这是我第一次对系统进行调优,涉及代码和JVM层面的调优。如果你能看到最后的话,或许会对你日常的开发有帮助,可以避免像我一样,犯一些低级别的错误。本次调优的代码是埋点系统中的报表分析功能,小公司,开发结束后,没有Code Review环节,所以下面某些问题,也许在Code Review环节就可以避免。
一次Java性能调优实践【代码+JVM 性能提升70%】 一次Java性能调优实践【代码+JVM 性能提升70%】 一次Java性能调优实践【代码+JVM 性能提升70%】
Python 版本管理工具选择与 Pyenv 使用说明
Python 版本管理工具的主要作用是帮助开发者在同一台机器上管理多个 Python 版本和环境。这对于开发和部署不同项目非常有用,因为不同项目可能依赖不同的 Python 版本或者不同的包版本。具体来说,Python 版本管理工具应有以下功能: (1)避免依赖冲突,不同的项目可能依赖不同版本的库,
面试官:limit 100w,10为什么慢?如何优化?
在 MySQL 中,limit X,Y 的查询中,X 值越大,那么查询速度也就越慢,例如以下示例: limit 0,10:查询时间大概在 20 毫秒左右。 limit 1000000,10:查询时间可能是 15 秒左右(1秒等于 1000 毫秒),甚至更长时间。 所以,可以看出,limit 中 X
面试官:limit 100w,10为什么慢?如何优化? 面试官:limit 100w,10为什么慢?如何优化?
【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额
背景信息 2024 年 9月 3日,Penpie 合约遭受重入攻击,攻击者在重入阶段向合约添加流动性来冒充奖励金额,从而获取合约内原有的奖励代币。资产损失高达 2734 万美元。 2024 年 5月,Penpie 平台新增了推出了无需许可的资产池功能,即允许 Pendle 上的用户可以在该平台上自建
【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额 【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额 【漏洞分析】Penpie 攻击事件:重入攻击构造奖励金额
C#自定义控件—指示灯
C#用户控件之指示灯 在体现通讯状态、运行状态等用一个靓眼的指示灯如何做? 思路(GDI) 外环用笔绘制(Pen),内圆用画刷(SolidBrush); 两个方法(用笔画圆,用画刷填充圆的内部): 绘制边界RectangleF定义的椭圆/圆 DrawEllipse(Pen pen,Rectangle
C#自定义控件—指示灯 C#自定义控件—指示灯 C#自定义控件—指示灯
8.18域横向smb&wmi明文或hash传递
知识点 windows 2012以上版本默认关闭wdigust,攻击者无法从内存中获取明文密码; Windows2012以下版本如安装KB287199补丁,同样也无法从内存中获取明文密码; 解决方法: 1、利用哈希hash传递(ptl、ptk等)进行移动 2、利用其他服务协议(SMB、WMI等)进行
8.18域横向smb&wmi明文或hash传递 8.18域横向smb&wmi明文或hash传递 8.18域横向smb&wmi明文或hash传递
[python][selenium] Web UI自动化页面切换iframe框架
关联文章:Web UI自动化8种页面元素定位方式 1、切换iframe的方法:switch_to.frame 入参有4种: 1.1、id 1.2、name 1.3、index索引 1.4、iframe元素对象 2、返回主文档(最外层的页面)的方法:switch_to.default_content(