逻辑回归—二元分类问题的操作顺序

news/2024/4/24 21:02:07/文章来源:https://blog.csdn.net/wuqihawubito/article/details/129128467

对于二元分类问题来说,分类的结果和数据的特征之间仍呈现相关关系,但是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))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_71669.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI制药 - TMScore(US-align)、RMSD、Sequence 源码

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129125467 参考文档:Nature Methods | 蛋白、RNA、DNA及其复合物结构的比对算法US-align 官网地址:https://zhanggroup.org/US-align/ TMScore TMScore,…

文件系统与动静态库的基本了解

目录文件系统与动静态库的基本了解文件系统了解Access Modify Changeinode硬链接软链接静态库与动态库概念静态库的制作使用静态库动态库的制作使用动态库总结如何制作文件系统与动静态库的基本了解 文件系统 了解Access Modify Change 当文件没有被打开时,他们存…

数据挖掘,计算机网络、操作系统刷题笔记50

数据挖掘,计算机网络、操作系统刷题笔记50 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开的话,你就得学数据库,sql,orac…

(考研湖科大教书匠计算机网络)第五章传输层-第八节1:TCP连接管理理论部分(三次握手与四次挥手)

获取pdf:密码7281专栏目录首页:【专栏必读】考研湖科大教书匠计算机网络笔记导航此部分内容借鉴博主【小林coding】 ,其对计算机网络内容的图解可以说是深入浅出,尤其是三次握手和四次挥手这一部分,堪称全网最佳。所这…

webpack5打包工具的使用

目录 -----------------------------基础篇------------------------------- 一、为什么需要打包工具 二、基本使用 1、模式 2、使用步骤 三、基本配置 1、五大核心概念 2、准备 Webpack 配置文件 3、运行指令 四、开发模式 五、处理样式资源 1、处理CSS资源 2、处…

100份简历才找一个合适的,2023,软件测试岗位饱和了吗?

各大互联网公司的接连裁员,政策限制的行业接连消失,让今年的求职雪上加霜,想躺平却没有资本,还有人说软件测试岗位饱和了,对此很多求职者深信不疑,因为投出去的简历回复的越来越少了。 另一面企业招人真的…

闪光桐人の实习日记(2023年2月20-27日)

前往闪闪の小窝以获得更好的阅读和评论体验 文章目录2023年2月20日(Vue入门)概念Vue基础Vue中的MVVMVue的体验Vue的生命周期Vue指令Vue组件VueRouter前后端路由的区别工作原理两种模式比较route跟router的区别路由属性导航守卫Vuex概述5种基本对象基本使…

Qt线程QThread详解

目录前言1.QThread介绍2.QThread示例一3.QThread示例二4.线程同步前言 在程序中使用线程可以提高程序的性能、并发性、响应性和稳定性,使得程序设计更加灵活和简单。但是,线程编程也有一些挑战,如线程安全性和死锁等问题需要格外注意。我们使…

【1】linux命令每日分享——mkdir

大家好,这里是sdust-vrlab,Linux是一种免费使用和自由传播的类UNIX操作系统,Linux的基本思想有两点:一切都是文件;每个文件都有确定的用途;linux涉及到IT行业的方方面面,在我们日常的学习中&…

【机器学习】决策树-ID3算法

1.ID3算法 ID3算法利用信息增益进行特征的选择进行树的构建。信息熵的取值范围为0~1,值越大,越不纯,相反值越小,代表集合纯度越高。信息增益反映的是给定条件后不确定性减少的程度。每一次对决策树进行分叉选取属性的时候&#x…

网络计划--时间参数的计算和优化

根据网络图的基本概念和原则绘制出网络图之后,我们可以计算网络图中有关的时间参数,主要目的是找出关键路线,为网络计划的优化、调整和执行提供明确的时间概念。如下图中从始点①到终点⑧共有4条路线,可以分别计算出每条路线所需的…

使用maven搭建父子工程项目

创建父子工程,可以通过父工程来引入jar,定义统一的版本号等。更方便对整个项目的jar包实现统一化管理,让项目的层次更加清晰。一、创建父工程第一步:file–>new–>project–>maven默认使用jdk1.8,不引入任何j…

音视频基础之视频主要概念

视频主要概念 **视频码率:**kb/s,是指视频文件在单位时间内使用的数据流量,也叫码流率。码率越大,说明单位时间内取样率越大,数据流精度就越高。 **视频帧率:**fps,通常说一个视频的25帧&…

ur3+robotiq ft sensor+robotiq 2f 140配置rviz仿真环境

ur3robotiq ft sensorrobotiq 2f 140配置rviz仿真环境 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 在安装sensor和gripper之前,先简单配置一下UR机械臂的仿真环境,可参考这篇博…

jenkins下载与简单使用

1.jenkins下载 因为我仍然使用的是jdk1.8进行开发,所以我下载的是jenkins2.332.1版本(jenkins2.346.1版本在2022年末不再支持java8,如果项目使用的是jdk11可以继续使用该jenkins版本),更多版本下载请点击jenkins下载 …

ADRC自抗扰控制总结

目录 前言 1.ADRC形式 1.1形一 1.2形二 2.被控对象 3.仿真分析 3.1仿真模型 3.2仿真结果 4.学习问题 前言 前面的3篇文章依次介绍了微分跟踪器TD、状态观测器ESO和非线性状态误差反馈NLSEF三部分内容,至此ADRC的结构已经介绍完毕,现在对分块学习…

pytorch零基础实现语义分割项目(四)——模型训练与预测

模型训练与预测项目列表前言损失函数one_hotDice LossFocal Loss模型参数与训练预测项目列表 语义分割项目(一)——数据概况及预处理 语义分割项目(二)——标签转换与数据加载 语义分割项目(三)——语义…

JVM系统优化实践(1):JVM概览

您好,我是湘王,这是我的CSDN博客,欢迎您来,欢迎您再来~这是多年之前做过的学习笔记,今天再翻出来,觉得仍然是记忆犹新。「独乐乐不如众乐乐」,就拿出来分享给「众乐乐」吧。目前大多…

用户画像——如何构建用户画像系统

为什么需要用户画像 如果你是用户,当你使用抖音、今日头条的时候,如果平台推荐给你的内容都是你感兴趣的,能够为你节省大量搜索内容的时间。 如果你是商家,当你投放广告的时候,如果平台推送的用户都是你的潜在买家,能够使你花更少的钱,带来更大的收益。 这两者背后都…

KeePass敏感信息明文传输漏洞复现 (CVE-2023-24055)

一、漏洞描述 漏洞简述 KeePass 是一款免费的开源密码管理器,可帮助您以安全的方式管理您的密码。您可以将所有密码存储在一个数据库中,该数据库由一把万能钥匙锁定。因此,您只需记住一个主密钥即可解锁整个数据库。数据库文件使用目前已知…