国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

機器學習之回歸算法-邏輯回歸

這篇具有很好參考價值的文章主要介紹了機器學習之回歸算法-邏輯回歸。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

一、概述

1.1、概念

是一種名為“回歸”的線性分類器,是由線性回歸變化而來的,一種廣泛使用于分類問題中的廣義回歸算法。

1.2、按預(yù)測標簽的數(shù)據(jù)類型分

連續(xù)型變量:通過線性回歸方程z,線性回歸使用輸入的特征矩陣X來輸出一組連續(xù)型的標簽值y_pred,以完成各種預(yù)測連續(xù)型變量的任務(wù)(比如預(yù)測產(chǎn)品銷量,預(yù)測股價等等)
離散型變量:通過Sigmoid函數(shù)變換,線性回歸方程z變換為g(z),使得模型的值分布在(0,1)之間,且當g(z)接近0時樣本的標簽為類別0,當g(z)接近1時樣本的標簽為類別1,這樣就得到了一個分類模型。

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

線性回歸方程式

1.3、公式

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

公式

其中,y(x)就是我們邏輯回歸返回的標簽值。

1.4、本質(zhì)

y(x)的形似幾率取對數(shù)就是線性回歸,對數(shù)幾率回歸,就是邏輯回歸。

二、重要概念

Sigmoid函數(shù):Sigmoid函數(shù)是一個S型的函數(shù),當自變量z趨近正無窮時,因變量g(z)趨近于1,而當z趨近負無窮時,g(z)趨近于0,它能夠?qū)⑷魏螌崝?shù)映射到(0,1)區(qū)間,使其可用于將任意值函數(shù)轉(zhuǎn)換為更適合二分類的函數(shù)。

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

因為這個性質(zhì),Sigmoid函數(shù)也被當作是歸一化的一種方法,與我們之前學過的MinMaxSclaer同理,是屬于數(shù)據(jù)預(yù)處理中的“縮放”功能,可以將數(shù)據(jù)壓縮到[0,1]之內(nèi)。區(qū)別在于,MinMaxScaler歸一化之后,是可以取到0和1的(最大值歸一化后就是1,最小值歸一化后就是0),但Sigmoid函數(shù)只是無限趨近于0和1。

損失函數(shù):是一個評估指標,來衡量參數(shù)為 的模型擬合訓練集時產(chǎn)生的信息損失的大小,并以此衡量參數(shù)的優(yōu)劣。
損失函數(shù)小,模型在訓練集上表現(xiàn)優(yōu)異,擬合充分,參數(shù)優(yōu)秀。
損失函數(shù)大,模型在訓練集上表現(xiàn)差勁,擬合不足,參數(shù)糟糕。
我們追求,能夠讓損失函數(shù)最小化的參數(shù)組合。
注意:沒有”求解參數(shù)“需求的模型沒有損失函數(shù),比如KNN,決策樹。

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸


θ表示求解出來的一組參數(shù),m是樣本的個數(shù), y i 是樣本 i 上真實的標簽, y θ(x i)是樣本 i 上,基于參數(shù)θ計算出來的邏輯回歸返回值,x i 是樣本 i 各個特征的取值。我們的目標,就是求解出使 J( θ)最小的 θ 取值。注意,在邏輯回歸的本質(zhì)函數(shù)y(x)里,特征矩陣x是自變量,參數(shù)是 θ。但在損失函數(shù)中,參數(shù)θ是損失函數(shù)的自變量,x和y都是已知的特征矩陣和標簽,相當于是損失函數(shù)的參數(shù)。不同的函數(shù)中,自變量和參數(shù)各有不同,因此大家需要在數(shù)學計算中,尤其是求導的時候避免混淆。

三、sklearn中的邏輯回歸

linear_model.LogisticRegression 邏輯回歸分類器(又叫l(wèi)ogit回歸,最大熵分類器
linear_model.SGDClassifier 利用梯度下降求解的線性分類器(SVM,邏輯回歸等等)
linear_model.SGDRegressor 利用梯度下降最小化正則化后的損失函數(shù)的線性回歸模型

metrics.log_loss 對數(shù)損失,又稱邏輯損失或交叉熵損失
metrics.confusion_matrix 混淆矩陣,模型評估指標之一
metrics.roc_auc_score ROC曲線,模型評估指標之一
metrics.accuracy_score 精確性,模型評估指標之一

sklearn.linear_model.LogisticRegression(penalty='l2', C = 1.0)
Logistic: 回歸分類器
coef_:回歸系數(shù)

四、重要參數(shù)

正則化參數(shù), penalty&C:

正則化: 是用來防止模型過擬合的過程,常用的有L1正則化和L2正則化兩種選項,分別通過在損失函數(shù)后加上參數(shù)向量 的L1范式和L2范式的倍數(shù)來實現(xiàn)。這個增加的范式,被稱為“正則項”,也被稱為"懲罰項"。

penalty: 可以輸入"l1"或"l2"來指定使用哪一種正則化方式,不填寫默認"l2"。
注意,若選擇"l1"正則化,參數(shù)solver僅能夠使用求解方式”liblinear"和"saga“,若使用“l(fā)2”正則化,參數(shù)solver中所有的求解方式都可以使用。

C:C正則化強度的倒數(shù),必須是一個大于0的浮點數(shù),不填寫默認1.0,即默認正則項與損失函數(shù)的比值是1:1。C越小,損失函數(shù)會越小,模型對損失函數(shù)的懲罰越重,正則化的效力越強,參數(shù)會逐漸被壓縮得越來越小。

# L1正則化和L2正則化的比較
from sklearn.linear_model import LogisticRegression as LR
from sklearn.datasets import load_breast_cancer
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
data = load_breast_cancer()
X = data.data
y = data.target
data.data.shape
lrl1 = LR(penalty="l1",solver="liblinear",C=0.5,max_iter=1000)
lrl2 = LR(penalty="l2",solver="liblinear",C=0.5,max_iter=1000)
#邏輯回歸的重要屬性coef_,查看每個特征所對應(yīng)的參數(shù)
lrl1 = lrl1.fit(X,y)
lrl1.coef_

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

(lrl1.coef_ != 0).sum(axis=1)
lrl2 = lrl2.fit(X,y)
lrl2.coef_

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

結(jié)論:L1正則化會將參數(shù)壓縮為0,L2正則化只會讓參數(shù)盡量小,不會取到0。

max_iter:
邏輯回歸的數(shù)學目的是求解能夠讓模型最優(yōu)化,擬合程度最好的參數(shù)的值,即求解能夠讓損失函數(shù) 最小化的值。對于二元邏輯回歸來說,有多種方法可以用來求解參數(shù) ,最著名的是梯度下降法(Gradient Descent)。

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

在這個圖像上隨機放一個小球,當我松手,這個小球就會順著這個華麗的平面滾落,直到滾到深藍色的區(qū)域——損失函數(shù)的最低點。為了嚴格監(jiān)控這個小球的行為,我讓小球每次滾動的距離有限,不讓他一次性滾到最低點,并且最多只允許它滾動100步,還要記下它每次滾動的方向,直到它滾到圖像上的最低點。

可以看見,小球從高處滑落,在深藍色的區(qū)域中來回震蕩,最終停留在了圖像凹陷處的某個點上。非常明顯,我們可以觀察到幾個現(xiàn)象:

首先,小球并不是一開始就直向著最低點去的,它先一口氣沖到了藍色區(qū)域邊緣,后來又折回來,我們已經(jīng)規(guī)定了小球是多次滾動,所以可見,小球每次滾動的方向都是不同的。

另外,小球在進入深藍色區(qū)域后,并沒有直接找到某個點,而是在深藍色區(qū)域中來回震蕩了數(shù)次才停下。這有兩種可能:1) 小球已經(jīng)滾到了圖像的最低點,所以停下了,2) 由于我設(shè)定的步數(shù)限制,小球還沒有找到最低點,但也只好在100步的時候停下了。也就是說,小球不一定滾到了圖像的最低處。

小球其實就是一組組的坐標點(θ1,θ2,J) ;小球每次滾動的方向就是那一個坐標點的梯度向量的方向,因為每滾動一步,小球所在的位置都發(fā)生變化,坐標點和坐標點對應(yīng)的梯度向量都發(fā)生了變化,所以每次滾動的方向也都不一樣;人為設(shè)置的100次滾動限制,就是sklearn中邏輯回歸的參數(shù)max_iter,代表著能走的最大步數(shù),即最大迭代次數(shù)。

solver:
sklearn為我們提供了多種求解邏輯回歸參數(shù)θ 的方法(梯度下降法是其中著名的一種),讓我們可以使用不同的求解器來計算邏輯回歸。求解器的選擇,由參數(shù)"solver"控制,共有五種選擇。其中“l(fā)iblinear”是二分類專用,也是現(xiàn)在的默認求解器。

  • liblinear : 坐標下降法
  • lbfgs:擬牛頓法的一種,利用損失函數(shù)二階導數(shù)矩陣(海森矩陣)來迭代優(yōu)化損失函數(shù)。
  • newton-cg : 牛頓法的一種,利用損失函數(shù)二階導數(shù)矩陣(海森矩陣)來迭代優(yōu)化損失函數(shù)。
  • sag :隨機平均梯度下降,與普通梯度下降法的區(qū)別是每次迭代僅僅用一部分的樣本來計算梯度。
  • saga:隨機平均梯度下降的進化,稀疏多項邏輯回歸的首選。

multi_class:
輸入"ovr", "multinomial", "auto"來告知模型,我們要處理的分類問題的類型。默認是"ovr"。

  • 'ovr':表示分類問題是二分類,或讓模型使用"一對多"的形式來處理多分類問題。
  • 'multinomial':表示處理多分類問題,這種輸入在參數(shù)solver是'liblinear'時不可用。
  • "auto":表示會根據(jù)數(shù)據(jù)的分類情況和其他參數(shù)來確定模型要處理的分類問題的類型。比如說,如果數(shù)據(jù)是二分
    類,或者solver的取值為"liblinear","auto"會默認選擇"ovr"。反之,則會選擇"nultinomial"。

樣本不平衡參數(shù)class_weight:
樣本不平衡是指在一組數(shù)據(jù)集中,標簽的一類天生占有很大的比例,或誤分類的代價很高,即我們想要捕捉出某種特定的分類的時候的狀況。

例如:銀行要判斷“一個新客戶是否會違約”,通常不違約的人vs違約的人會是99:1的比例,真正違約的人其實是非常少的。這種分類狀況下,即便模型什么也不做,全把所有人都當成不會違約的人,正確率也能有99%,這使得模型評估指標變得毫無意義,根本無法達到我們的“要識別出會違約的人”的建模目的。

因此我們要使用參數(shù)class_weight對樣本標簽進行一定的均衡,給少量的標簽更多的權(quán)重,讓模型更偏向少數(shù)類,向捕獲少數(shù)類的方向建模。該參數(shù)默認None,此模式表示自動給與數(shù)據(jù)集中的所有標簽相同的權(quán)重,即自動1:1。當誤分類的代價很高的時候,我們使用”balanced“模式,我們只是希望對標簽進行均衡的時候,什么都不填就可以解決樣本不均衡問題。

五、案例介紹

5.1、數(shù)據(jù)描述
(1)699條樣本,共11列數(shù)據(jù),第一列用語檢索的id,后9列分別是與腫瘤相關(guān)的醫(yī)學特征,最后一列表示腫瘤類型的數(shù)值。
(2)包含16個缺失值,用”?”標出。

5.2、特征選擇:
PCA和SVD一般不用,大多數(shù)時候不適用于邏輯回歸。邏輯回歸是由線性回歸演變而來,線性回歸的一個核心目的是通過求解參數(shù)來探究特征X與標簽y之間的關(guān)系,而邏輯回歸也傳承了這個性質(zhì),我們常常希望通過邏輯回歸的結(jié)果,來判斷什么樣的特征與分類結(jié)果相關(guān),因此我們希望保留特征的原貌。PCA和SVD的降維結(jié)果是不可解釋的,因此一旦降維后,我們就無法解釋特征和標簽之間的關(guān)系了。

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report
# 構(gòu)造列標簽名字
column = ['Sample code number','Clump Thickness', 'Uniformity of Cell Size','Uniformity of Cell Shape','Marginal Adhesion', 'Single Epithelial Cell Size','Bare Nuclei','Bland Chromatin','Normal Nucleoli','Mitoses','Class']
# 讀取數(shù)據(jù)
data = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data", names=column)
# print(data.head())

5.3、數(shù)據(jù)缺失處理,標準化

# 缺失值進行處理
data = data.replace(to_replace='?', value=np.nan)
data = data.dropna()
# 進行數(shù)據(jù)的分割
x_train, x_test, y_train, y_test = train_test_split(data[column[1:10]], data[column[10]], test_size=0.25)
# 進行標準化處理
std = StandardScaler()
x_train = std.fit_transform(x_train)
x_test = std.transform(x_test)

5.4、估計器流程

# 邏輯回歸預(yù)測
lg = LogisticRegression(C=1.0)
lg.fit(x_train, y_train)
print(lg.coef_)
y_predict = lg.predict(x_test)
print("準確率:", lg.score(x_test, y_test))
print("召回率:", classification_report(y_test, y_predict, labels=[2, 4], target_names=["良性", "惡性"]))

機器學習之回歸算法-邏輯回歸,機器學習,機器學習,回歸,邏輯回歸

六、總結(jié)

應(yīng)用:
廣告點擊率預(yù)測、電商購物搭配推薦、股價預(yù)測、產(chǎn)品銷量預(yù)測

優(yōu)點:

  • 線性回歸的數(shù)據(jù)要求:正態(tài)分布,消除多重共線性,現(xiàn)實數(shù)據(jù)無法滿足;邏輯回歸不需要對數(shù)據(jù)進行處理
  • 對線性關(guān)系的擬合效果好
  • 邏輯回歸計算速度快
  • 返回的分類結(jié)果不是固定的0和1,而是以小數(shù)形式呈現(xiàn)的類概率數(shù)字
  • 抗噪音能力強

缺點:當特征空間很大時,邏輯回歸的性能不是很好
(看硬件能力)文章來源地址http://www.zghlxwxcb.cn/news/detail-756305.html

到了這里,關(guān)于機器學習之回歸算法-邏輯回歸的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 機器學習之邏輯回歸

    機器學習之邏輯回歸

    1.1 監(jiān)督學習 1.1.1 回歸(線性回歸) 1.1.1.1 描述 線性回歸模型公式: 多元線性關(guān)系:一個通過特征的的線性組合來進行預(yù)測的函數(shù) 其中,h(x)是因變量,x1、x2、…、xn是自變量,o1、o2、…、bn是回歸系數(shù)?;貧w系數(shù)表示自變量對因變量的影響程度,可以通過最小二乘法來求解

    2023年04月13日
    瀏覽(19)
  • 機器學習之邏輯回歸模型

    機器學習之邏輯回歸模型

    ????????邏輯回歸(Logistic Regression, LR)又稱為邏輯回歸分析,是一種機器學習算法,屬于分類和預(yù)測算法中的一種,主要用于解決二分類問題。邏輯回歸通過歷史數(shù)據(jù)的表現(xiàn)對未來結(jié)果發(fā)生的概率進行預(yù)測。例如,我們可以將購買的概率設(shè)置為因變量,將用戶的特征屬性,

    2024年02月09日
    瀏覽(26)
  • Python | 機器學習之邏輯回歸

    Python | 機器學習之邏輯回歸

    ??個人主頁: Sarapines Programmer ?? 系列專欄:《人工智能奇遇記》 ??墨香寄清辭:詩馀墨痕深,夢漫星辰寂。 曲徑通幽意猶在,劍指蒼穹氣勢立。 目錄結(jié)構(gòu) 1. 機器學習之邏輯回歸概念 1.1 機器學習 1.2 邏輯回歸 2. 邏輯回歸 2.1 實驗?zāi)康?2.2 實驗準備 2.3 實驗題目 2.4 實驗內(nèi)容

    2024年02月05日
    瀏覽(26)
  • 機器學習:邏輯回歸模型算法原理(附案例實戰(zhàn))

    作者:i阿極 作者簡介:Python領(lǐng)域新星作者、多項比賽獲獎?wù)撸翰┲鱾€人首頁 ??????如果覺得文章不錯或能幫助到你學習,可以點贊??收藏??評論??+關(guān)注哦!?????? ??????如果有小伙伴需要數(shù)據(jù)集和學習交流,文章下方有交流學習區(qū)!一起學習進步!?? 訂閱專欄案

    2024年01月20日
    瀏覽(29)
  • 機器學習算法(一): 基于邏輯回歸的分類預(yù)測

    邏輯回歸的介紹 邏輯回歸(Logistic regression,簡稱LR)雖然其中帶有\(zhòng)\\"回歸\\\"兩個字,但邏輯回歸其實是一個 分類 模型,并且廣泛應(yīng)用于各個領(lǐng)域之中。雖然現(xiàn)在深度學習相對于這些傳統(tǒng)方法更為火熱,但實則這些傳統(tǒng)方法由于其獨特的優(yōu)勢依然廣泛應(yīng)用于各個領(lǐng)域中。 而對于

    2024年01月15日
    瀏覽(32)
  • 機器學習算法:線性回歸、邏輯回歸、決策樹和隨機森林解析

    引言 機器學習算法是人工智能領(lǐng)域的核心,它們用于解決各種問題,從預(yù)測房價到圖像分類。本博客將深入探討四種常見的機器學習算法:線性回歸、邏輯回歸、決策樹和隨機森林。 線性回歸 什么是線性回歸? 線性回歸是一種用于建立連續(xù)數(shù)值輸出的機器學習模型的算法。

    2024年02月10日
    瀏覽(77)
  • 機器學習基礎(chǔ)之《回歸與聚類算法(4)—邏輯回歸與二分類(分類算法)》

    機器學習基礎(chǔ)之《回歸與聚類算法(4)—邏輯回歸與二分類(分類算法)》

    一、什么是邏輯回歸 1、邏輯回歸(Logistic Regression)是機器學習中的一種分類模型,邏輯回歸是一種分類算法,雖然名字中帶有回歸,但是它與回歸之間有一定的聯(lián)系。由于算法的簡單和高效,在實際中應(yīng)用非常廣泛 2、叫回歸,但是它是一個分類算法 二、邏輯回歸的應(yīng)用場

    2024年02月07日
    瀏覽(29)
  • 【AI底層邏輯】——篇章5(上):機器學習算法之回歸&分類

    目錄 引入 一、何為機器學習 1、定規(guī)則和學規(guī)則 2、算法的定義

    2024年02月16日
    瀏覽(25)
  • 機器學習:基于梯度下降算法的邏輯回歸實現(xiàn)和原理解析

    機器學習:基于梯度下降算法的邏輯回歸實現(xiàn)和原理解析

    當涉及到二元分類問題時,邏輯回歸是一種常用的機器學習算法。它不僅簡單而且有效,通常是入門機器學習領(lǐng)域的第一步。本文將介紹邏輯回歸的基本概念、原理、應(yīng)用場景和代碼示例。 邏輯回歸是一種用于解決二元分類問題的統(tǒng)計學習方法。盡管其名稱中包含\\\"回歸\\\"一詞

    2024年02月09日
    瀏覽(30)
  • 機器學習算法基礎(chǔ)--邏輯回歸簡單處理mnist數(shù)據(jù)集項目

    機器學習算法基礎(chǔ)--邏輯回歸簡單處理mnist數(shù)據(jù)集項目

    目錄 1.項目背景介紹 2.Mnist數(shù)據(jù)導入 3.數(shù)據(jù)標簽提取且劃分數(shù)據(jù)集 4.數(shù)據(jù)特征標準化 5.模型建立與訓練 6.后驗概率判斷及預(yù)測 7.處理模型閾值及準確率 8.閾值分析的可視化繪圖 9.模型精確性的評價標準

    2024年02月07日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包