逻辑回归—分类问题的操作顺序
对于二元分类问题来说,分类的结果和数据的特征之间仍呈现相关关系,但是y的值不再是连续的,是0~1的跃迁。但是在这个过程中,什么仍然是连续的呢?”是概率,概率是逐渐升高的,当达到一个关键点(阈值),概率就超过了0.5。那么从这个点开始,之后y的预测值都为1。
文章目录
- 1. 导入CSV文件
- 2.如果是二元分类,看一下分类比例
- 3.画图
- 4. 构建特征集和标签集
- 5. 拆分数据集为训练集和测试集
- 6.对数据集进行归一化(用或不用均可,都用看看谁的准确率高)
- 7.使用哑特征
- 7. 使用逻辑回归创建模型
1. 导入CSV文件
import numpy as np # 导入Num Py库import pandas as pd # 导入Pandas库df_heart = pd.read_csv('/kaggle/input/myheart/heart.csv') # 读取文件df_heart.head() # 显示前5行数据
2.如果是二元分类,看一下分类比例
如果非二元分类,可以忽略
df_heart.分类列名.value_counts() # 输出分类值, 及各个类别数目
如果两种分类的总数相差很大,那么说明数据集很差
3.画图
可以画热力图,适用于字段少的情况,代码:
import matplotlib.pyplot as plt #Matplotlib为Python画图工具库import seaborn as sns #Seaborn为统计学数据可视化工具库#对所有的标签和特征两两显示其相关性的热力图sns.heatmap(df_heart.corr(), cmap='YlGnBu', annot = True)plt.show() #plt代表英文plot, 就是画图的意思

也可以画散点图,可以判断两个字段
plt.scatter(x=df_heart.age[df_heart.target==1],y=df_heart.thalach[(df_heart.target==1)], c='red')plt.scatter(x=df_heart.age[df_heart.target==0],y=df_heart.thalach[(df_heart.target==0)], marker='^')plt.legend(['Disease', 'No Disease']) # 显示图例plt.xlabel('Age') # x轴标签plt.ylabel('Heart Rate') # y轴标签
plt.show()

4. 构建特征集和标签集
特征集就是自变量集,标签集就是因变量集
X = df_heart.drop(['判断的列名'], axis = 1) # 构建特征集y = df_heart.判断的列名.values # 构建标签集y = y.reshape(-1, 1) # -1是相对索引, 等价于len(y)print('张量X的形状:', X.shape)print('张量X的形状:', y.shape)
5. 拆分数据集为训练集和测试集
from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2)
6.对数据集进行归一化(用或不用均可,都用看看谁的准确率高)
这步就是把所有值都变成0-1
from sklearn.preprocessing import MinMaxScaler # 导入数据缩放器scaler = MinMaxScaler() # 选择归一化数据缩放器Min Max ScalerX_train = scaler.fit_transform(X_train) # 特征归一化训练集fit_transformX_test = scaler.transform(X_test) # 特征归一化测试集transform
y_train, y_test因为原本就是非0即1所以不用归一化,否则仍然需要
训练集和测试集使用不同的方法归一化
7.使用哑特征
就是比如一个字段有4种取值,0,1,2,3分别是代表不同类型,和大小无关,但是如果直接把那些字段创建模型,可能会把数字以大小判断,解决方案就是可以变成多4个字段,每个字段用1或0,
如这种类型
变成
这样做之后会发现模型的准确率将有显著的提升
7. 使用逻辑回归创建模型
模型就是函数的意思
from sklearn.linear_model import LogisticRegression #导入逻辑回归模型lr = LogisticRegression() # lr, 就代表是逻辑回归模型lr.fit(X_train, y_train) # fit, 就相当于是梯度下降print('SK learn逻辑回归测试准确率{:.2f}%'.format(lr.score(X_test, y_test)*100))
相关文章:
逻辑回归—分类问题的操作顺序
对于二元分类问题来说,分类的结果和数据的特征之间仍呈现相关关系,但是y的值不再是连续的,是0~1的跃迁。但是在这个过程中,什么仍然是连续的呢?”是概率,概率是逐渐升高的,当达到一个…...
查询服务器tns文件路径,oracle数据库tns配置方法详解
查询服务器tns文件路径,oracle数据库tns配置方法详解 TNS简要介绍与应用 Oracle中TNS的完整定义:transparence Network Substrate透明网络底层, 监听服务是它重要的一部分,不是全部,不要把TNS当作只是监听器。 TNS是Oracle Net…...
【数据结构】链表
目录 数据结构之链表:: SList.h 1.链表的概念及结构 2.链表的分类 SList.c 3.动态申请一个结点 4.单链表打印 5.单链表销毁 6.单链表头插 7.单链表头删 8.单链表尾插 9.单链表尾删 10.单链表查找 11.单链表在pos之前插入…...
一文讲明Hystrix熔断器
前言 解决问题: 主要防止服务器集群发生雪崩, 起到对服务器的保护作用 GitHub地址:https://github.com/Netflix/Hystrix/wiki 1 Hystrix是什么 1.1 分布式系统面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不…...
第12篇:Java类核心构成要素分析
目录 1、Java类构成要素 1.1 如何定义类 1.2 如何定义变量 1.2.1 类变量 1.2.2 实例变量...
记一次 .NET 某医保平台 CPU 爆高分析
一:背景 1. 讲故事 一直在追这个系列的朋友应该能感受到,我给这个行业中无数的陌生人分析过各种dump,终于在上周有位老同学找到我,还是个大妹子,必须有求必应 😁😁😁。 妹子公司的…...
滤波算法 | 无迹卡尔曼滤波(UKF)算法及其MATLAB实现
目录简介UKF滤波滤波流程和公式MATLAB程序结论简介 本文接着分享位姿跟踪和滤波算法中用到的一些常用程序,希望为后来者减少一些基础性内容的工作时间。以往分享总结见文章:位姿跟踪 | 相关内容目录和链接总结(不断更新中~~~) 本…...
JAVA开发(运行JAR包怎么指定虚拟机内存大小)
我们都使用过 java -jar xxx.jar包去运行jar包。但是有时候要指定jar包运行时内存,该怎么做,而且设置多大怎么衡量,很多人从来没有了解过。 背景: 我们开发java程序,可能涉及到开发环境,测试环境&#x…...
领导力的终极奥义
过去,我曾多次演讲、著书,把自己在长达半个世纪的经营实践中所体悟到的经营思想和方法告诉中国的企业家。 但是,对于任何一家企业来说,不管它倡导了多么高尚的经营哲学,不管它构建了多么精致的管理系统,这样…...
1-MATLAB APP Design-图像的输入与输出
一、APP 界面设计展示 新建一个空白的APP,在此次的学习中,我们会用到编辑字段(文本框)、 按钮、坐标区和面板,首先在界面中拖入一个编辑字段(文本框),在文本框中输入内容:图形的输入与输出,调整背景颜色,字体的颜色为黑色,字体的大小调为25....
【C++】内存管理
目录一、C/C内存分布二、C内存管理方式2.1、new/delete操作内置类型2.2、new和delete操作自定义类型三、operator new与operator delete函数3.1、operator new与operator delete函数四、new和delete的实现原理4.1、内置类型4.2、自定义类型五、定位new表达式(placement-new)六、…...
Dilworth定理
偏序关系 设RRR是集合AAA的一个二元关系,若RRR满足: 1.自反性:∀x∈A\forall x \in A∀x∈A,有xRxxRxxRx 2.反对称性:∀x,y∈A\forall x,y \in A∀x,y∈A,若xRy,yRxxRy,yRxxRy,yRx,则xyxyxy 3.传递性&…...
使用loading动画让你的条件渲染页面更高级
前言在我们做项目的使用常常会使用条件渲染去有选择的给用户展示相关页面,如果渲染的数据或场景比较多比较复杂,那么往往需要3、4s的时间去完成,用户点击了之后就会陷入3、4s的空白期,并且这段时间屏幕是处于一种”未响应“的状态…...
Renegade:基于MPC+Bulletproofs构建的anonymous DEX
1. 引言 白皮书见: Renegade Whitepaper: Protocol Specification, v0.6 开源代码见: https://github.com/renegade-fi/renegade(Renegade p2p网络每个节点的核心网络和密码逻辑)https://github.com/renegade-fi/mpc-bulletpr…...
二、Plugin The chain/event/query function
The chain function 链函数是所有数据处理都在其中进行的函数。在简单过滤器的情况下(本节示例的情况),_chain()函数大多是线性函数——因此对于每个传入的缓冲区,也将输出一个缓冲区。下面是一个非常简单的chain函数的实现: sta…...
了解 PostgreSQL 的扩展查询协议
1.介绍 本篇博客用于解释扩展协议的工作原理以及它与简单查询的区别。 2.简单查询 在PostgreSQL中,客户端连接能够发起两种类型的查询:简单查询和扩展协议查询。 简单查询顾名思义。 当启动 psql 客户端连接到pg服务器时,几乎所有发送的…...
接入网关和隔离网关
文章目录1. 什么是网关?2. 网关的作用是什么?3. 接入网关和隔离网关1. 什么是网关? 网关(Gateway)是一种网络设备,通常用于将不同网络之间的流量进行转发和路由,将一个网络连接到另一个网络&…...
实用指南:如何在Anolis OS上轻松使用 Kata 安全容器?
文/云原生SIG本篇文章我们将详细介绍怎么轻松在 Anolis OS 上使用 Kata Containers 安全容器,我们将介绍 Kata Container 社区于 2022 年 10 月 10 日最新发行的 Kata3.0.0 的安装部署方式,3.0.0 版本包含了基于袋鼠 RunD 开源的最新 Rust Kata runtime …...
如何锁定Word文档部分文字不被修改
我们知道,想要保护Word文档的内容无法随意更改,可以设置“限制编辑”的保护模式。 那如果实际工作中,只需要固定的一部分内容不能编辑,可以实现吗?答案是肯定的,今天就来说说如何设置Word文档部分文字可修…...
聊聊8万8的私董会,很扎心
聊聊8万8的私董会,很扎心 道几句真心话,很扎心,但也很现实。 如果你喜欢刷抖音,这种感觉应该会更加明显。 股市哀鸿遍野,实体一地鸡毛,我们办公室楼下的门面换了一波又一波。 别说那些不起眼的小生意&a…...
Halcon点云拼接实战:如何用特征模板搞定3D扫描缺失问题?
Halcon点云拼接实战:特征模板技术在工业3D扫描中的应用 在工业检测和逆向工程领域,3D扫描常常面临一个棘手问题——单次扫描无法完整捕获复杂物体的所有表面细节。想象一下,当您需要检测一个汽车发动机缸体的内部结构,或者重建一…...
MPU9250 I²C驱动库深度解析与嵌入式工程实践
1. MPU9250 IC驱动库技术解析与工程实践指南 MPU9250是InvenSense(现为TDK子公司)推出的高性能9轴运动传感器,集成3轴陀螺仪、3轴加速度计和3轴磁力计,广泛应用于无人机姿态解算、可穿戴设备运动追踪、机器人SLAM前端感知等嵌入式…...
树莓派4B部署YOLOv5-Lite实战:从ONNX模型优化到实时检测性能调优
树莓派4B部署YOLOv5-Lite实战:从ONNX模型优化到实时检测性能调优 当目标检测遇上边缘计算,如何在仅有1.5GHz Cortex-A72处理器的树莓派4B上实现15FPS的实时推理?本文将揭示从模型压缩到硬件调优的全链路实战方案。不同于常规的部署教程&…...
DriverStore Explorer:Windows驱动管理的终极免费解决方案
DriverStore Explorer:Windows驱动管理的终极免费解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 你是否曾因C盘空间不足而烦恼?是否遇到过设备驱动冲突…...
Marked.js 终极指南:为什么这是现代 Web 开发中最快的 Markdown 解析器?
Marked.js 终极指南:为什么这是现代 Web 开发中最快的 Markdown 解析器? 【免费下载链接】marked A markdown parser and compiler. Built for speed. 项目地址: https://gitcode.com/gh_mirrors/ma/marked 在当今内容驱动的 Web 开发世界中&…...
千问GEO生成式引擎优化技术方案
千问GEO生成式引擎优化技术方案 技术支持:拓世网络技术开发工作室 针对通义千问(Qwen)的生成式引擎优化(GEO)并非简单的关键词堆砌,而是一场关于“认知抢占”的技术战役。在2026年的当下,随着通…...
Alberta Wells数据集:从213,000个井位到全球环境监测,计算机视觉如何重塑油气设施追踪
1. 油气井监测的全球挑战与环境意义 想象一下,你正站在加拿大阿尔伯塔省广袤的草原上,脚下可能就隐藏着数十个被遗忘的油气井。这些钢铁结构的"时间胶囊"有的已经沉寂数十年,却仍在持续释放比二氧化碳强效84倍的甲烷气体。这就是全…...
低成本自动化方案:OpenClaw+自部署千问3.5-27B替代ChatGPT API调用
低成本自动化方案:OpenClaw自部署千问3.5-27B替代ChatGPT API调用 1. 为什么选择本地模型OpenClaw组合 去年我用ChatGPT API开发自动化脚本时,发现一个致命问题:当任务需要连续调用多个API时(比如先搜索资料再整理成报告&#x…...
5分钟搞定!Windows直接安装APK的终极免费方案
5分钟搞定!Windows直接安装APK的终极免费方案 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾想在Windows电脑上直接安装安卓应用,却因…...
MySQL中LOCATE()函数的5个实用场景解析
1. 初识LOCATE()函数:MySQL中的字符串定位利器 第一次接触LOCATE()函数是在处理用户评论系统的时候。当时需要快速找到特定关键词在长文本中的位置,手动遍历字符串简直让人抓狂。LOCATE()就像字符串世界里的GPS,能精准告诉你目标子串的坐标。…...
