日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

11、数据分析--逻辑回归

發(fā)布時(shí)間:2024/1/8 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11、数据分析--逻辑回归 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

線性回歸(用特征之間的規(guī)律進(jìn)行回歸處理)是處理連續(xù)性的,

邏輯回歸(用特征之間的規(guī)律進(jìn)行邏輯處理)屬于分類是處理離散性的

? 關(guān)于判斷其實(shí)就是二分類問題

邏輯回歸的基礎(chǔ)還是使用了線性回歸來處理,只是把模型進(jìn)行了調(diào)整,轉(zhuǎn)化為概率問題

邏輯回歸(進(jìn)行二分類的最快算法,深度學(xué)習(xí)都可用到)

概念:邏輯回歸,即邏輯模型,也譯作“評(píng)定模型”、“分類評(píng)定模型”

回歸要求得到的外標(biāo)簽的數(shù)值是連續(xù)的,邏輯回歸則是要進(jìn)行二分類問題的模型,通過標(biāo)簽在圖像上的表示,然后用線性回歸的圖像線來分隔出各種外標(biāo)簽區(qū)域,當(dāng)數(shù)據(jù)在哪個(gè)區(qū)域時(shí)來進(jìn)行判斷。所以說邏輯回歸應(yīng)用到了線性回歸來解決分類的問題

常用于做數(shù)據(jù)的初步判斷,(推薦算法,醫(yī)療診斷等)

? 運(yùn)用于推薦算法:評(píng)判給用戶呈現(xiàn)的內(nèi)容是否是用戶喜歡看到的,這里做出了判斷就是二分類的體現(xiàn)

是通過線性模型完成分類效果(線性可分)

sigmoid函數(shù):

sigmoid將線性問題轉(zhuǎn)化為概率問題,函數(shù)輸出的結(jié)果值是把線性回歸數(shù)據(jù)范圍映射到了0~1之間了

函數(shù)中當(dāng)變量取0時(shí)為1,取正無窮時(shí)無限趨于0。這里的變量就是wx+b,屬于線性回歸的外標(biāo)簽,這樣就能將線性問題轉(zhuǎn)化為概率問題,這里的0~1就成了概率問題。

將結(jié)果值壓縮到0-1之間(0負(fù),1正)

預(yù)測(cè)值在0.5附近時(shí),可以更快的進(jìn)行下降,將預(yù)測(cè)值更加貼近于0或1的數(shù)值

0.5就是閾值(求導(dǎo)得到最值),00.5對(duì)應(yīng)的就是負(fù)類別,0.51對(duì)應(yīng)的就是正類別,閾值位置的梯度大,那么數(shù)據(jù)分配到的位置就越靠近0或1,這樣的模型才夠準(zhǔn)確。比如判斷正類別時(shí)0.55的概率不如0.99的概率更準(zhǔn)確

sigmoid函數(shù)的中間導(dǎo)數(shù)大,兩側(cè)導(dǎo)數(shù)小,這里的sigmoid求導(dǎo)就是為了能利用到梯度下降從最大值開始向兩邊0或1下降,然后調(diào)整模型通過劃分的正負(fù)線性回歸界限圖像線參考,然后建立邏輯回歸模型來更好的作二分類判斷。注意的是線性回歸的求導(dǎo)是對(duì)wx+b求導(dǎo),但是邏輯回歸則要對(duì)sigmoid函數(shù)求導(dǎo),wx+b只是sigmoid函數(shù)的一個(gè)參數(shù)

梯度下降在調(diào)整參數(shù)和權(quán)重的同時(shí)也在調(diào)整每個(gè)模型預(yù)測(cè)出來的概率

梯度下降都是往下的,sigmoid函數(shù)求導(dǎo)最低的是概率為0或1的位置

注:樣本點(diǎn)距離線性模型的區(qū)分線越近,就證明概率越不確定

損失函數(shù)

? 極大似然估計(jì):

? 四步走為1、建立函數(shù) 2、取對(duì)數(shù) 3、求導(dǎo) 4、令其等0

? 似然函數(shù)連乘過程,出現(xiàn)多少個(gè)1就是多少次方的py=1的概率,出現(xiàn)多少個(gè)0(另一種推導(dǎo)方式是把0換成-1)就是多少次方的py=0的概率

? 似然函數(shù)取對(duì)數(shù),連乘變成了連加,得到代價(jià)函數(shù),這里邏輯回歸的代價(jià)函數(shù)又叫”交叉熵“

? 使用梯度下降法就能反解出w了

? 更新權(quán)重 w=w-rObj

? 信息論:(正統(tǒng)的函數(shù)推導(dǎo)方式)

? 可以使用信息論解釋邏輯回歸的代價(jià)函數(shù)

? 概率:

? 就是判斷一件事情發(fā)生的可能性

? 信息量:

? 信息量是得知該消息時(shí)的意外程度

? 信息量 = log 1/p= ? log p

? 概率越低,信息量越大

? 用于分類問題:

? 概率越低,證明模型計(jì)算越不準(zhǔn)確,所以都希望能讓信息量越小越好,概率也會(huì)越高,模型計(jì)算的也就越準(zhǔn)確

? 熵

? 熵是用來衡量信息不確定性的單位(概率和信息量乘積)

? 交叉熵

? 用來檢驗(yàn)實(shí)際發(fā)生概率和預(yù)測(cè)準(zhǔn)確率信息量的乘積,

? 熵為正或負(fù)的信息不確定性,想求出正類別,那么交叉熵正類別的信息量就該最小

? 其中,Pk為樣本實(shí)際發(fā)生概率, qk為樣本預(yù)測(cè)準(zhǔn)確的概率

? -Pklog 2( qk )

評(píng)估指標(biāo)

? 混淆矩陣():

? 假設(shè)我們手上有60個(gè)正樣本,40個(gè)負(fù)樣本,我們想找出所有的正樣本,模型查找出50個(gè),其中只有40個(gè)是真正的正樣本(即TP有40個(gè)本來是正的被預(yù)測(cè)對(duì)的只有40個(gè),FP有10個(gè),FN有20個(gè),TN有30個(gè)認(rèn)為還有30個(gè)負(fù)樣本,這里沒進(jìn)行查找所以待定到TN)

? TP: 將正類預(yù)測(cè)為正類數(shù)

? FN: 將正類預(yù)測(cè)為負(fù)類數(shù)(本來是正樣本卻被預(yù)測(cè)成負(fù)樣本,正負(fù)得負(fù),未達(dá)到找到準(zhǔn)確目的)

? FP: 將負(fù)類預(yù)測(cè)為正類數(shù)

? TN: 將負(fù)類預(yù)測(cè)為負(fù)類數(shù)(本來是負(fù)樣本卻被預(yù)測(cè)出負(fù)樣本,負(fù)負(fù)得正,達(dá)到找到準(zhǔn)確目的)

? 案例,有樣例100個(gè),50個(gè)正樣本,50個(gè)負(fù)樣本,其中模型查找出40個(gè)正樣本,預(yù)測(cè)出40個(gè)正樣本中有5個(gè)是負(fù)樣本。(TP35個(gè),FN15個(gè),FP為5個(gè),TN45個(gè))

? TP(true positive),FP(false negative)

? 常見指標(biāo):

? 準(zhǔn)確率(accuracy) (預(yù)測(cè)對(duì)的/所有) = (TP+TN)/(TP+FN+FP+TN)

? 精確率(precision)、查準(zhǔn)類(確實(shí)為正例的數(shù)量/模型認(rèn)為是正例的個(gè)數(shù))= TP/(TP+FP) (為1時(shí)代表FP為0,出錯(cuò)的幾率不存在,屬于最好的精確率)

? 召回率(recall)、查全率(確實(shí)為正例的數(shù)量/總的正例的數(shù)量) = TP/(TP+FN) (FN為0時(shí),可以防止出錯(cuò),所以結(jié)果為1時(shí)也是最好的)

? 精確率和召回率要同時(shí)使用來做分類評(píng)估,只用一個(gè)的話,數(shù)據(jù)會(huì)比較偏激

? 精確率和召回率的特點(diǎn):只能用作二分類評(píng)估的指標(biāo)

?

讓精確率和召回率評(píng)估的三種方式:

? F1值就是精確率和召回率的調(diào)和均值,2/F1=1/P+1/R,F1 = 2 * (precision精確率 * recall召回率) / (precision精確率 + recall召回率)

? F1能很好的讓精確率和召回率同時(shí)使用來作為分類評(píng)估的指標(biāo),如果精確率和召回率都是1,那么F1結(jié)果就為1,精確率和召回率都為0,F1結(jié)果為0.結(jié)果就能很好的用0~1的區(qū)間反映出來

? PR曲線(除了用F1之外,還可以使用PR曲線來讓精確率和召回率同時(shí)使用):

? 某個(gè)模型對(duì)一批數(shù)據(jù)數(shù)據(jù)進(jìn)行預(yù)測(cè),會(huì)為每個(gè)樣本輸出一個(gè)概率(屬于正例的概率)

? 我們做分類時(shí)如果要嚴(yán)格輸出0或1的話,就要使用閾值對(duì)概率進(jìn)行激活。

? 選擇不同的閾值時(shí)(邏輯回歸默認(rèn)的閾值為0.5),精確率和召回率就會(huì)不同。那么就有pr曲線來表示(pr曲線的圖像圍成的微積分面積越大,那么模型的效果就越好)

? ROC,AUC(ROC曲線閾值越接近坐標(biāo)(0,1)的點(diǎn)面積最大,效果最好,表示FP接近0,TP接近1,這里ROC曲線配合AUC面積才能更好了解模型效果):

? ROC全稱是“受試者工作特征”。

? AUC,ROC曲線的面積就是。

? AUC用于衡量“二分類問題”機(jī)器學(xué)習(xí)算法性能(泛化能力)

? 分類模型評(píng)估:

? 二分類的指標(biāo)(只能用作二分類)有精確率、召回率、F1值、混淆矩陣、ROC曲線、ROC曲線下的面積

多分類:

? 分類中除了二分類,還要能處理多種分類(二分類用sigmoid模型,多分類用softmax模型)

? 多分類使用softmax方式來進(jìn)行處理,softmax是邏輯回歸的一般形式。可以通過softmax進(jìn)行合理分類。

? 比如每一類可以用數(shù)字代替

? 算法原理:

? 多分類是二分類的一種拓展形式

? 二分類采用閾值方式進(jìn)行分類(0.5分界)

? 多分類采用最大概率進(jìn)行分類(類別多了,就不能用閾值來分類了,多分類就要用到目標(biāo)對(duì)應(yīng)的哪個(gè)類別概率大就把目標(biāo)分配哪個(gè)指定類別)

? 多分類把所有參數(shù)代入函數(shù),得到一維數(shù)組的概率(結(jié)果得到的所有概率和為1,因?yàn)閿?shù)據(jù)結(jié)果已經(jīng)被映射到概率空間中了),概率最大的就被分到那個(gè)類別中

? 多分類處理的原理也是通過線性模型解決分類問題

? 多分類的損失函數(shù)和代價(jià)函數(shù)都不是概率相乘了,而是用向量取代

? 例如:紫色鳶尾花的多分類,通過花瓣的長寬的特征來進(jìn)行概率最大化的分類,

數(shù)據(jù)預(yù)處理:

? 類別不平衡處理(類別不平衡就是某類數(shù)量特別多和某類數(shù)量特別少的在一起時(shí)):

? 欠采樣(去除的方式)

? 去除一些反例(假設(shè)反例多),使得正、反例數(shù)目接近,然后再學(xué)習(xí)

? 優(yōu)點(diǎn):速度快

? 缺點(diǎn):可能會(huì)丟失一些重要信息

? 過采樣(復(fù)制某類數(shù)據(jù)的方式,來達(dá)到數(shù)目接近,這樣擬合的數(shù)據(jù)會(huì)過擬合)

? 增加一些正例,使得正、反例數(shù)目接近,然后再學(xué)習(xí)

? 優(yōu)點(diǎn):保持?jǐn)?shù)據(jù)信息

? 缺點(diǎn):可能會(huì)過擬合

? 代價(jià)敏感學(xué)習(xí)(加權(quán)的方式,需要算法帶權(quán)條件)

? 給某類樣本更高的權(quán)重,比如,正例是反例的一半,那么正例的權(quán)重就是反例的2倍,在sklearn中由

? class_weight指定

? 優(yōu)點(diǎn):速度快、降低過擬合風(fēng)險(xiǎn)

? 缺點(diǎn):需要算法支持帶權(quán)學(xué)習(xí)

?

? 標(biāo)簽化、獨(dú)熱編碼:

? 標(biāo)簽化

? 使用標(biāo)簽化處理的方式可以將一些具有頻數(shù)的內(nèi)容轉(zhuǎn)化成標(biāo)簽(頻數(shù)的處理就是離散值的處理)

? 獨(dú)熱編碼(把標(biāo)簽變成向量的形式來處理,因?yàn)槿绻苯影褦?shù)值代入公式中,所求得的邏輯回歸概率是不同同的,是不公平的)

? 獨(dú)熱碼,在英文文獻(xiàn)中稱做 one-hot code, 直觀來說就是有多少個(gè)狀態(tài)就有多少比特,而且只有一個(gè)比特為1(這里的1就是熱,獨(dú)熱就是比特值里只有一個(gè)數(shù)值是1的,其他全是0),其他全為0的一種碼制

? 獨(dú)熱編碼(啞變量 dummy variable)是因?yàn)榇蟛糠炙惴ㄊ腔谙蛄靠臻g中的度量來進(jìn)行計(jì)算的,為了使非偏序關(guān)系的變量取值不具有偏序性,并且到圓點(diǎn)是等距的。使用one-hot編碼,將離散特征的取值擴(kuò)展到了歐式空間,離散特征的某個(gè)取值就對(duì)應(yīng)歐式空間的某個(gè)點(diǎn)。將離散型特征使用one-hot編碼,會(huì)讓特征之間的距離計(jì)算更加合理。(獨(dú)熱編碼的歐式空間中的距離都是等距的)

? 獨(dú)熱編碼特點(diǎn)

? 優(yōu)點(diǎn):獨(dú)熱編碼解決了分類器不好處理屬性數(shù)據(jù)的問題,在一定程度上也起到了擴(kuò)充特征的作用。它的值只有0和1,不同的類型存儲(chǔ)在垂直的空間。

? 缺點(diǎn):當(dāng)類別的數(shù)量很多時(shí),特征空間會(huì)變得非常大。在這種情況下,一般可以用PCA來減少維度。而且one hot encoding+PCA這種組合在實(shí)際中也非常有用。(當(dāng)100分類時(shí)要有100個(gè)100向量,這是就可以使用主成分分析了)

? from sklearn.preprocessing import OneHotEncoder, LabelEncoder

? OneHotEncoder 獨(dú)熱編碼

? LabelEncoder 標(biāo)簽化

? 可以把先標(biāo)簽化將字符串信息變成數(shù)字來分類,然后用toarray方法來把標(biāo)簽化之后的數(shù)字進(jìn)行轉(zhuǎn)換得到獨(dú)熱編碼

? 常用方法 fit_transform()擬合并轉(zhuǎn)化

? 邏輯回歸模型優(yōu)缺點(diǎn):

? 優(yōu)點(diǎn)

? 模型簡單,易于解釋

? 算法容易并行,適合大數(shù)據(jù)的求解

? 缺點(diǎn)

? 不能擬合非線性數(shù)據(jù)(突出短板)

? 采用何種特征組合需要一定的數(shù)據(jù)敏感性

? 特征多了:提高模型效果,但是計(jì)算成本高,需要數(shù)據(jù)量大,否則會(huì)過擬合

? 特征少了:有欠擬合的風(fēng)險(xiǎn)

? 刪除無用特征需要進(jìn)行多重共線性判斷(人力成本)

np.ravel把多維數(shù)組變成一維數(shù)組

邏輯回歸模型對(duì)象.predict_proba是把參數(shù)放回到模型中,進(jìn)行擬合得到是0和1的可能性,每行的和為1,表示0和1的概率占比(預(yù)測(cè)值的預(yù)測(cè)概率)

LabelEnocoder()標(biāo)準(zhǔn)化,把單詞換成數(shù)字來表達(dá)

邏輯回歸中的網(wǎng)格搜索參數(shù)param_grid的C表示正則化的系數(shù)為1/C(轉(zhuǎn)置后的正則化系數(shù)),后面?zhèn)魅氲膮?shù)都作C被1除然后當(dāng)作正則化的系數(shù)

分類問題中,模型分?jǐn)?shù)和準(zhǔn)確率的分?jǐn)?shù)是一樣的

總結(jié)

以上是生活随笔為你收集整理的11、数据分析--逻辑回归的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。