乳腺癌数据是sklearn中自带的数据集,需要通过相关特征对是否患有乳腺癌进行分类。

数据清洗与建模

首先加载相关库和相关数据

from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
import numpy as np
import pandas as pd#加载数据
bcdata = load_breast_cancer()
# 转成dataFrame格式,方便查看
df_data = pd.DataFrame(bcdata.data, columns=bcdata.feature_names)
df_data['targe'] = bcdata.target
df_data.head()

通过运行的结果可以看出这个数据集有30个自变量,包括半径,紧密度,面积等相关数据,并同时包括对应指标的平均值,最大值,最小值。而target列为结果列,0 表示恶性,1 表示良性。数据集共569条记录,均没有缺失数据

接下来将数据分为测试集和训练集

from sklearn.model_selection import train_test_split
X_train,X_test,y_train, y_test=train_test_split(bcdata.data,bcdata.target,test_size=0.3)

在这里直接使用sklearn中的逻辑回归LogisticRegression()建模,其官网地址为https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html,其语法和参数为:

model = LogisticRegression(penalty='l2', dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='lbfgs', max_iter=100, multi_class='auto', verbose=0, warm_start=False, n_jobs=None, l1_ratio=None)

对应的参数为:

  • penalty:指定惩罚(正则化项)类型,用于避免过拟合,可以是 ‘l1’、‘l2’、‘elasticnet’ 或 ‘none’。
  • C:正则化强度的倒数,较小的值指定更强的正则化。
  • fit_intercept:指定是否应该向决策函数中添加常数项(也称截距)。
  • intercept_scaling:仅在使用求解器 ‘liblinear’ 且 fit_intercept 为 True 时有用。当特征值相差很大时,此参数有助于稳定 ‘liblinear’ 的收敛。
  • class_weight:用于标示各个类别的权重,通常用于处理类别不平衡的问题。如果不设置,则所有类的权重都为 1。
  • random_state:是随机数生成器的种子。在需要重现结果的情况下用于初始化中心。
  • solver:指定在优化问题中使用的算法,如 ‘liblinear’、‘newton-cg’、‘lbfgs’、‘sag’ 和 ‘saga’。
  • max_iter:求解器内部迭代的最大次数,即优化算法的迭代次数。
  • multi_class:如果是多类(非二分类)问题,则指定用于多类策略的算法,可以是 ‘ovr’(一对剩余)或 ‘multinomial’。
  • verbose:对于某些求解器,正整数的verbose参数可以用于显示求解器中的进程信息。
  • warm_start:设为True时,使用前一个调用的解决方案作为初始化,否则,只是擦除前一个解决方案。
  • n_jobs:用于指定并行作业的数量。None意味着1,而-1意味着使用所有处理器。
  • l1_ratio:仅在penalty='elasticnet'时使用,这是Elastic-Net混合参数,其中 0 <= l1_ratio <= 1。

本例中是最简单的二分类,所以直接调用,参数直接采用默认的参数

clf = LogisticRegression()
clf.fit(X_train,y_train)

这里直接运行会发现会有一个警告:
在这里插入图片描述这是因为使用了默认的lbfgs算法且参数的迭代次数达到了限制(默认max_iter=100),但是两次迭代参数变化还是比较大,仍然没有在一个很小的阈值以下,这就叫没有收敛。

这个时候的选择有 :1.忽略, 2.增大最大迭代次数, 3.更换其他的模型或者那个参数solver, 4.将数据进行预处理,提取更有用的特征。这里重点是讲解逻辑回归的使用,所以我们直接忽略不细聊具体的参数

逻辑回归模型评价

逻辑回归模型是一个分类模型,所以采用一般的分类模型评价指标即可。常用的分类模型评价指标可参考https://blog.csdn.net/qq_42692386/article/details/147896278

这里直接使用sklearn中的score函数,对于分类任务其返回的是准确率

score=clf.score(X_test,y_test)
score#结果为0.9122807017543859

也可以直接计算准确率,和score函数结果一致

print( "模型准确率:",(clf_y_predict== y_test).sum()/len(y_test))

在这里插入图片描述

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

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

相关文章

nginx的一些配置的意思

1.用这个端口可以访问到nginx 2.工作进程&#xff0c;设置成和cpu核心数一样即可 3.每个工作进程的最大网络连接数。 4.主机名称 设置反向代理时&#xff0c;把server_name设置成ip。 5.反向代理进行转发&#xff0c;localhost指的是nginx所在的机器。 关键字proxy_pass。 …

SID103S/D/Q-300nA, 轨至轨, CMOS 运算放大器替代SGM8141

概述 SID103系列产品是专注于超低功耗、轨至轨、CMOS运算放大器&#xff0c;最低工作电压可以支持到1.4V&#xff0c;并且工作时每个通道仅消耗300nA的电流。特别适合穿戴式、独立式等对功耗敏感的电池供电场景。 SID103系列产品拥有5kHz的增益带宽积&#xff0c;外接500pF电…

十六进制字符转十进制算法

十六进制与十进制对照 十六进制十进制00112233445566778899A10B11C12D13E14F15 十六进制与十进制区别 十六进制是满16进1&#xff0c;十进制是满10进1&#xff0c;这里要注意下区别&#xff0c;16进制的字符里面为什么是0-9没有10&#xff0c;这里面进了一位&#xff0c;表示…

微软技术赋能:解锁开发、交互与数据潜力,共探未来创新路

在微软 Build 2025 大会以及创想未来峰会上&#xff0c;微软展示的一系列前沿技术与创新应用&#xff0c;不仅展现了其在科技领域的深厚底蕴与前瞻视野&#xff0c;更为开发者和企业带来了前所未有的机遇与变革动力。 领驭科技作为微软中国南区核心合作伙伴及 HKCSP 1T 首批授…

并发基础|进程与线程

进程基础 什么是进程&#xff1f; 为了实现并发的功能&#xff0c;引入了进程的概念。 ​ 为了实现并发&#xff0c;需要引入多程序的环境&#xff0c;但是多程序的环境会造成一些单程序时不存在的问题&#xff0c;比如程序的之间没有了封闭性&#xff0c;程序不可以连续的执…

鸿蒙仓颉开发语言实战教程:自定义tabbar

大家周末好呀&#xff0c;今天继续分享仓颉语言开发商城应用的实战教程&#xff0c;今天要做的是tabbar。 大家都知道ArkTs有Tabs和TabContent容器&#xff0c;能够实现上图的样式&#xff0c;满足基本的使用需求。而仓颉就不同了&#xff0c;它虽然也有这两个组件&#xff0c;…

LINUX526 回顾 配置ssh rsync定时备份(未完成)

配置SSH回顾&#xff1a; 1.关闭防火墙、selinux systemctl stop firewalld systemctl disable firewalld setenforce 0 vim /etc/selinux/config SELINUXdisable 2. 510 2.配置YUM源 我计划配本地yum源 2.1 yum源备份 cd /etc/yum.repos.d tar -zcf repo.tar.gz *.repo …

hdc - Mac本环境配置

1. 安装依赖工具 Homebrew 若未安装 Homebrew&#xff0c;打开终端执行&#xff1a; OpenJDK 11 HDC 依赖 Java 环境&#xff0c;安装 OpenJDK 11&#xff1a; 配置环境变量&#xff1a; 2. 安装 DevEco Studio 下载&#xff1a;从华为开发者联盟下载最新版 DevEco Studio。 …

项目三 - 任务8:实现词频统计功能

本项目旨在实现一个词频统计功能&#xff0c;通过读取文本文件并利用Java编程技巧处理和分析文本数据。首先&#xff0c;使用BufferedReader逐行读取文件内容&#xff0c;然后通过String.split(" ")方法将每行文本分割成单词数组。接下来&#xff0c;采用HashMap来存…

Python - 文件部分

- 第 101 篇 - Date: 2025 - 05 - 26 Author: 郑龙浩/仟墨 Python - 文件部分 学习时间: 2025-05-19 文章目录 Python - 文件部分一 文件与路径1 文本文件2 二进制文件3 编码格式① 常见编码格式② 指定编码格式③ 最佳格式④ 处理编码错误 4 绝对路径5 相对路径基本写法返回…

R语言开始绘图--柱状图

R语言是一种专门用于统计计算和图形显示的编程语言&#xff0c;广泛应用于数据分析、统计建模、数据可视化等领域。它由Ross Ihaka和Robert Gentleman于1993年在新西兰奥克兰大学开发&#xff0c;现已成为数据科学和统计学领域的重要工具。 R语言的特点 R语言具有丰富的统计和…

PYTORCH_CUDA_ALLOC_CONF基本原理和具体示例

PYTORCH_CUDA_ALLOC_CONFmax_split_size_mb 是 PyTorch 提供的一项环境变量配置&#xff0c;用于控制 CUDA 显存分配的行为。通过指定此参数&#xff0c;可以有效管理 GPU 显存的碎片化&#xff0c;缓解因显存碎片化而导致的 “CUDA out of memory”&#xff08;显存溢出&#…

Halcon仿射变换---个人笔记

文章目录 1.概述2.仿射变换类型3.仿射变换流程4.根据特征点、角度计算仿射变换矩阵4.1 从空变换矩阵创建仿射变换矩阵4.2 把旋转角度添加到仿射变换矩阵4.3 把缩放添加到仿射变换矩阵4.4 把平移添加到防射变换矩阵4.5 把斜切添加到仿射变换矩阵4.6 根据点和角度计算刚性仿射变换…

《深度掌控Linux:openEuler、CentOS、Debian、Ubuntu的全方位运维指南》

《深度掌控Linux&#xff1a;openEuler、CentOS、Debian、Ubuntu的全方位运维指南》 一、引言 在当今数字化的时代背景下&#xff0c;Linux操作系统凭借其卓越的性能、可靠性和开源的优势&#xff0c;在服务器、云计算、嵌入式系统等众多领域占据着举足轻重的地位。对于IT运维…

【Webtrees 用户手册】第 2 章 - 访客须知

Webtrees 用户手册/访客指南 信 第 2 章 - 访客须知 <- 章节概述 目录 1页面结构2标题菜单 2.1主题 2.1.1云2.1.2颜色2.1.3绝佳2.1.4最小2.1.5网络树2.1.6西妮娅 2.2语言2.3登记2.4搜索字段 3主菜单 3.1家谱3.2图表3.3列表3.4日历3.5报告3.6寻找3.7故事3.8常见问题 (FAQ) 4…

动态规划-918.环形子数组的最大和-力扣(LeetCode)

一、题目解析 听着有点复杂&#xff0c;这里一图流。 将环形问题转化为线性问题。 二、算法原理 1.状态表示 2.状态转移方程 详细可以移步另一篇博客&#xff0c;53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 3.初始化 由于计算中需要用到f[i-1]和g[i-1]的值&…

飞牛fnNAS远程映射盘符

目录 一、NAS、PC端配置Zerotier 二、使用网上邻居 三、使用WebDAV 1.开启WebDAV 2.PC上安装RaiDrive并设置 如果能将NAS作为本机一个盘符来使用,一定会令我非常方便。如果是本地,可以很方便实现。 将飞牛NAS映射为本地盘符,常用两种方式,一种是网上邻居,另一种是We…

华为2025年校招笔试手撕真题教程(二)

一、题目 大湾区某城市地铁线路非常密集&#xff0c;乘客很难一眼看出选择哪条线路乘坐比较合适&#xff0c;为了解决这个问题&#xff0c;地铁公司希望你开发一个程序帮助乘客挑选合适的乘坐线路&#xff0c;使得乘坐时间最短&#xff0c;地铁公司可以提供的数据是各相邻站点…

SAP ABAP VK11/VK12 创建销售物料价格(附源码)

需求: 通过接口批量创建销售物料的价格(含阶梯价),对应事务码VK11/VK12 方法:(会在下面源码写出各个方法的优缺点,仅供参考) 通过函数 RV_CONDITION_COPY创建(目前最优)通过函数 BAPI_PRICES_CONDITIONS通过BDC录屏使用VK11事务码进行创建分析: 通过测试可发现,VK…

噪声建模在一小时:最小化准备工作的自监督低光RAW图像去噪

论文标题: Noise Modeling in One Hour: Minimizing Preparation Efforts for Self-supervised Low-Light RAW Image Denoising发表日期: 2025年5月作者: Feiran Li, Haiyang Jiang*, Daisuke Iso发表单位: Sony Research, Tokyo University原文链接: https://arxiv.org/pdf/25…