線性回歸原理推導與應用(八):邏輯回歸二分類乳腺癌數據分類

乳腺癌數據是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…