Scikit-Learn邏輯回歸

Scikit-Learn邏輯回歸

    • 1、邏輯回歸概述
      • 1.1、邏輯回歸
      • 1.2、邏輯回歸的優缺點
      • 1.3、邏輯回歸與線性回歸
    • 2、邏輯回歸的原理
      • 2.1、邏輯回歸的概念與原理
      • 2.2、邏輯回歸的損失函數
      • 2.3、梯度下降法求解邏輯回歸的最優解
    • 3、Scikit-Learn邏輯回歸
      • 3.1、決策邊界
      • 3.2、Scikit-Learn邏輯回歸API
      • 3.3、邏輯回歸案例(鳶尾花分類)



1、邏輯回歸概述


邏輯回歸(Logistic Regression)主要解決二分類問題,用來表示某個事件發生的可能性。邏輯回歸在機器學習知識結構中的位置如下:

在這里插入圖片描述

1.1、邏輯回歸


邏輯回歸的思想最早可以追溯到19世紀,由英國統計學家Francis Galton在研究豌豆遺傳問題時首次提出。然而,真正將邏輯回歸應用于機器學習的是加拿大統計學家Hugh Everett,他在1970年代提出了廣義線性模型(GLM),其中包括邏輯回歸

邏輯回歸這個算法的名稱有一定的誤導性。雖然它的名稱中有“回歸”,但它在機器學習中不是回歸算法,而是分類算法。因為采用了與回歸類似的思想來解決分類問題,所以它才會被稱為邏輯回歸

在邏輯回歸中,我們不是直接預測輸出值,而是預測輸出值屬于某一特定類別的概率。例如,一封郵件是垃圾郵件的概率(是與不是),廣告被點擊的概率(點與不點)等

邏輯回歸通過Sigmoid函數將樣本的特征與樣本發生的概率聯系起來,在擬合樣本數據發生概率的時候,其實是在解決一個回歸問題,當概率計算出來后,再根據概率進行分類處理。邏輯回歸是在解決樣本與樣本發生的概率之間的回歸問題

邏輯回歸的函數表達式(Logistic函數或Sigmoid函數)為
g ( z ) = 1 1 + e ? z \rm g(z)=\frac{1}{1+e^{-z}} g(z)=1+e?z1?

Sigmoid函數有時也用 σ ( z ) \sigma(z) σ(z)表示,其對應的圖像為

import numpy as np
import matplotlib.pyplot as pltz = np.arange(-5, 5, 0.01)
y = 1/(1+np.exp(-z))plt.plot(z, y)
plt.show()

在這里插入圖片描述

邏輯回歸基于概率來進行分類。對于給定輸入特征X,邏輯回歸模型會計算輸出標簽y=1(正類)的條件概率:
P ( y = 1 ∣ X ) = 1 1 + e ? ( θ T X + b ) P(y=1|X)=\frac{1}{1+e^{-(\theta^T X+b)}} P(y=1∣X)=1+e?(θTX+b)1?

其中, ω \omega ω是特征權重,b是偏置項

邏輯回歸將線性回歸的結果 y y y= θ T X \theta^T X θTX+ b b b帶入到Sigmoid函數的自變量,并將其映射到0和1之間,使其可以解釋為概率

邏輯回歸與線性回歸的關鍵區別在于,后者訓練出來的模型的預測值域為( ? ∞ -∞ ?,+ ∞ ∞ ),換句話說,也就是對值域沒有限制;而對于表示概率的值而言,其值域都是在(0,1)之間

更多關于邏輯回歸的介紹見文章:傳送門

1.2、邏輯回歸的優缺點


優點:

  • 模型簡單,分類計算量小,存儲資源低,訓練和預測速度快
  • 預測結果是觀測樣本的概率,易于理解,增加了解釋性
  • 對邏輯回歸而言,多重共線性并不是問題,它可以結合L2正則化來解決該問題

缺點:

  • 只能處理二分類問題,且邏輯回歸假設數據是線性可分的,對于非線性特征,需要進行轉換
  • 容易欠擬合,一般準確度不太高

1.3、邏輯回歸與線性回歸


邏輯回歸與線性回歸的區別詳見文章:傳送門

2、邏輯回歸的原理

2.1、邏輯回歸的概念與原理


邏輯回歸的概念與原理推導詳見文章:傳送門

2.2、邏輯回歸的損失函數


在邏輯回歸(詳見:傳送門)一文中,我們已經給出并推導了邏輯回歸的損失函數
J ( θ ) = ? 1 m ∑ i = 1 m [ y i ln ? y ^ i + ( 1 ? y i ) ln ? ( 1 ? y ^ i ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^m[y_i\ln \hat y_i+(1-y_i)\ln(1-\hat y_i)] J(θ)=?m1?i=1m?[yi?lny^?i?+(1?yi?)ln(1?y^?i?)]

其中

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714902.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714902.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714902.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Java數據結構 -- 二叉樹+樹的深度優先遍歷】

二叉樹 1. 二叉樹1.1 二叉樹的介紹1.2 兩種特殊的二叉樹1.3 二叉樹的性質1.4 二叉樹的存儲 2. 二叉樹的基本操作2.1 二叉樹的創建2.2 二叉樹的優先遍歷2.3 遞歸實現二叉樹遍歷2.4 用非遞歸實現二叉樹遍歷 1. 二叉樹 1.1 二叉樹的介紹 二叉樹是一種數據結構,一顆二…

【python、nlp、transformer】transformer學習部分

注: 此博文僅為了解transformer架構,如果使用,建議直接調用庫就行了 Transformer的優勢 相比之前占領市場的LSTM和GRU模型,Transformer有兩個顯著的優勢: 1. Transformer能夠利用分布式GPU進行并行訓練&#xff0c…

小朋友來自多少小區 - 華為OD統一考試(C卷)

OD統一考試(C卷) 分值: 100分 題解: Java / Python / C 題目描述 幼兒園組織活動,老師布置了一個任務: 每個小朋友去了解與自己同一個小區的小朋友還有幾個。 我們將這些數量匯總到數組 garden 中。 請…

數據庫-第四/五章 數據庫安全性和完整性【期末復習|考研復習】

前言 總結整理不易,希望大家點贊收藏。 給大家整理了一下計數據庫系統概論中的重點概念,以供大家期末復習和考研復習的時候使用。 參考資料是王珊老師和薩師煊老師的數據庫系統概論(第五版)。 文章目錄 前言4 第四章 數據庫安全性4.1 數據庫安全性定義4.…

學生宿舍管理小程序|基于微信小程序的學生宿舍管理系統設計與實現(源碼+數據庫+文檔)

學生宿舍管理小程序目錄 目錄 基于微信小程序的學生宿舍管理系統設計與實現 一、前言 二、系統功能設計 三、系統實現 1、管理員模塊的實現 (1)學生信息管理 (2)公告信息管理 (3)宿舍信息管理 &am…

git clone http/https 報錯 10054/443 問題

文章目錄 錯誤解決方案1 關閉http和https代理2 設置自己的代理 錯誤 錯誤 Failed to connect to github.com port 443: Timed out OpenSSL SSL_read: Connection was reset, errno 10054 一般都是網絡問題 解決方案 1 關閉http和https代理 git config --global --unset htt…

《系統架構設計師教程(第2版)》第5章-軟件工程基礎知識-05-凈室軟件工程(CSE)

文章目錄 1. 概述2. 理論基礎2.1 函數理論2.2 抽樣理論 3. 技術手段3.1 增量式開發3.2 基于函數的規范與設計3.3 正確性驗證3.4 統計測試 (Statistically Based Testing) 和軟件認證 4. 應用與缺點1)太理論化2)缺少傳統模塊測試3)帶有傳統軟件…

UE學習筆記--解決滾輪無法放大藍圖、Panel等

我們發現有時候創建藍圖之后,右上角的縮放是1:1 但是有時候我們可能需要放的更大一點。 發現一直用鼠標滾輪像上滾動,都沒有效果。 好像最大只能 1:1. 那是因為 UE 做了限制。如果希望繼續放大,我們可以按住 Ctrl 再去…

StarRocks實戰——攜程酒店實時數倉

目錄 一、實時數倉 二、實時數倉架構介紹 2.1 Lambda架構 2.2 Kappa架構 三、攜程酒店實時數倉架構 3.1 架構選型 3.2 實時計算引擎選型 3.3 OLAP選型 四、攜程酒店實時訂單 4.1 數據源 4.2 ETL數據處理 4.3 應用效果 4.4 總結 原文大佬的這篇實時數倉建設案例有借…

【計算機網絡_應用層】TCP應用與相關API守護進程

需要云服務器等云產品來學習Linux的同學可以移步/–>騰訊云<–/官網&#xff0c;輕量型云服務器低至112元/年&#xff0c;優惠多多。&#xff08;聯系我有折扣哦&#xff09; 文章目錄 1. 相關使用接口2. 代碼實現2.1 日志組件2.2 Server端2.3 Client端2.3 bug解決 3. 守…

什么是依賴注入(Dependency Injection)?它在 C++ 中是如何實現的?

什么是依賴注入&#xff08;Dependency Injection&#xff09;&#xff1f;它在 C 中是如何實現的&#xff1f; 依賴注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;是一種設計模式&#xff0c;用于減少軟件組件之間的耦合度&#xff0c;提高代碼的可測試性、…

JVM類加載機制以及雙親委派模型的介紹

目錄 1.類加載介紹 2.具體步驟 2.1加載 2.2驗證 2.3準備 2.4解析 2.5初始化 3.加載過程中的策略-雙親委派模型 1.類加載介紹 類加載,指的是Java進程在運行的時候,把.class文件從硬盤讀取到內存,并進行一系列校驗解析的過程. .class文件>類對象.硬盤>內村 類加載…

spring-boot自定義網站頭像(favicon.ico文件)

一、將ico文件存放到resources目錄的static中的favicon下。 二、在application.properties文件中增加配置 spring.mvc.favicon.enabledfalse 三、如需頁面引用如下&#xff1a; <link rel"icon" type"image/x-icon" ref"${request.contextPat…

智能駕駛規劃控制理論學習03-基于采樣的規劃方法

目錄 一、基于采樣的規劃方法概述 二、概率路圖&#xff08;PRM&#xff09; 1、核心思想 2、實現流程 3、算法描述 4、節點連接處理 5、總結 三、快速搜索隨機樹&#xff08;RRT&#xff09; 1、核心思想 2、實現流程 3、總結 4、改進RRT算法 ①快速搜索隨機圖&a…

【計算機網絡實踐】在windows上配置Xshell和Xftp連接Ubuntu系統

hebut的課下作業&#xff0c;學習使用Xshell和Xftp連接Linux系統 1. 軟件需求 Windows10/11、已安裝VM虛擬機的ubuntu系統、Xshell、Xftp。 Xshell和Xftp在家庭/學校免費 - NetSarang Website (xshell.com)里面可以下載到&#xff0c;上面需要的兩個軟件都在&#xff0c;官網免…

運籌學_1.1.2 線性規劃問題-圖解法

1.1.2 線性規劃問題-圖解法 一、圖解法求解步驟&#xff08;只適用于兩個決策變量問題&#xff09;二、圖解法作圖實例三、圖解法分析線性規劃幾種解的情況1、唯一最優解2、無窮多最優解3、無界解4、無解或無可行解 四、圖解法的幾點啟示 一、圖解法求解步驟&#xff08;只適用…

C++sort排序

前言&#xff1a; C語言的sort函數是一類用于數組排序的函數以下是其簡單的使用&#xff1a; 1.頭文件&#xff1a; #include<algorithm> 2.使用命名空間&#xff1a; using namespace std; 3.函數形式&#xff1a; sort(數組名,數組名元素個數,排序函數); 默認排…

深入淺出Redis(一):對象與數據結構

引言 Redis是一款基于鍵值對的數據結構存儲系統&#xff0c;它的特點是基于內存操作、單線程處理命令、IO多路復用模型處理網絡請求、鍵值對存儲與簡單豐富的數據結構等等 這篇文章主要圍繞Redis中的對象與數據結構來詳細說明鍵值對存儲與簡單豐富的數據結構這兩大特點 Redi…

運籌學_1.1.4 線性規劃問題-解的概念

1.1.4 線性規劃問題-解的概念 一、可行解與最優解二、基的概念三、基變量、基向量&#xff1b;非基變量、非基向量&#xff1b;基解、基可行解&#xff1b;四、最優解與可行解、基可行解的關系五、用例題&#xff08;枚舉法&#xff09;鞏固基解、基可行解、最優解三個概念1、例…

flyway實戰

flyway是一款用來管理數據庫版本的工具框架 一, 添加依賴 <dependency><groupId>org.flywaydb</groupId><artifactId>flyway-core</artifactId> </dependency> <dependency><groupId>org.springframework</groupId>&l…