最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

爾云間生信代碼|邏輯回歸LogisticRegression原理介紹及方法實(shí)現(xiàn)

2022-07-27 16:50 作者:爾云間  | 我要投稿

先說(shuō)結(jié)論:在選擇邏輯回歸進(jìn)行判別時(shí),可能Biopython是相對(duì)更好的選擇,但是我們不能否認(rèn)sklearn的靈活性更高,并且通過(guò)參數(shù)優(yōu)化可以很大程度上提高預(yù)測(cè)效果。

科研有捷徑,輸入代碼,一鍵獲取科研成果!就是這么省事,來(lái)具體看下有多方便!

搜索http://985.so/a9kb查看全部代碼(目前共計(jì)50+持續(xù)新增中),也可以點(diǎn)擊右側(cè)【目錄】,可以看到更多有趣的代碼;真香提示:文末可以知道如何獲取代碼~?

邏輯回歸LogisticRegression是一種常用的用于判別預(yù)測(cè)的統(tǒng)計(jì)學(xué)方法,在社會(huì)學(xué)、生物統(tǒng)計(jì)學(xué)、臨床、數(shù)量心理學(xué)、計(jì)量經(jīng)濟(jì)學(xué)、市場(chǎng)營(yíng)銷(xiāo)等統(tǒng)計(jì)實(shí)證分析領(lǐng)域有著廣泛的應(yīng)用。

邏輯回歸的模型 是一個(gè)非線(xiàn)性模型,sigmoid函數(shù),又稱(chēng)邏輯回歸函數(shù)。但是它本質(zhì)上又是一個(gè)線(xiàn)性回歸模型,因?yàn)槌igmoid映射函數(shù)關(guān)系,其他的步驟,算法都是線(xiàn)性回歸的。

可以說(shuō),邏輯回歸,都是以線(xiàn)性回歸為理論支持的。只不過(guò),線(xiàn)性模型,無(wú)法做到sigmoid的非線(xiàn)性形式,sigmoid可以輕松處理0/1分類(lèi)問(wèn)題。

另外它的推導(dǎo)含義:仍然與線(xiàn)性回歸的最大似然估計(jì)推導(dǎo)相同,最大似然函數(shù)連續(xù)積(這里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求導(dǎo),得損失函數(shù)。

邏輯回歸函數(shù)

Logistic Regression的適用性

1) 可用于概率預(yù)測(cè),也可用于分類(lèi)。

并不是所有的機(jī)器學(xué)習(xí)方法都可以做可能性概率預(yù)測(cè)(比如SVM就不行,它只能得到1或者-1)。

可能性預(yù)測(cè)的好處是結(jié)果又可比性:比如我們得到不同廣告被點(diǎn)擊的可能性后,就可以展現(xiàn)點(diǎn)擊可能性最大的N個(gè)。這樣以來(lái),哪怕得到的可能性都很高,或者可能性都很低,我們都能取最優(yōu)的topN。

當(dāng)用于分類(lèi)問(wèn)題時(shí),僅需要設(shè)定一個(gè)閾值即可,可能性高于閾值是一類(lèi),低于閾值是另一類(lèi)。

2) 僅能用于線(xiàn)性問(wèn)題

只有在feature和target是線(xiàn)性關(guān)系時(shí),才能用Logistic Regression(不像SVM那樣可以應(yīng)對(duì)非線(xiàn)性問(wèn)題)。

這有兩點(diǎn)指導(dǎo)意義,一方面當(dāng)預(yù)先知道模型非線(xiàn)性時(shí),果斷不使用Logistic Regression;另一方面,在使用Logistic Regression時(shí)注意選擇和target呈線(xiàn)性關(guān)系的feature。

3) 各feature之間不需要滿(mǎn)足條件獨(dú)立假設(shè),但各個(gè)feature的貢獻(xiàn)是獨(dú)立計(jì)算的。

邏輯回歸不像樸素貝葉斯一樣需要滿(mǎn)足條件獨(dú)立假設(shè)(因?yàn)樗鼪](méi)有求后驗(yàn)概率)。

但每個(gè)feature的貢獻(xiàn)是獨(dú)立計(jì)算的,即LR是不會(huì)自動(dòng)幫你combine 不同的features產(chǎn)生新feature的 (時(shí)刻不能抱有這種幻想,那是決策樹(shù),LSA, pLSA, LDA或者你自己要干的事情)。

舉個(gè)例子,如果你需要TF*IDF這樣的feature,就必須明確的給出來(lái),若僅僅分別給出兩維 TF 和 IDF 是不夠的,那樣只會(huì)得到類(lèi)似 a*TF + b*IDF 的結(jié)果,而不會(huì)有 c*TF*IDF 的效果。

對(duì)于邏輯回歸的實(shí)現(xiàn)問(wèn)題,這里簡(jiǎn)單介紹兩種基于python語(yǔ)言的實(shí)現(xiàn)方法,盡管都是源于邏輯回歸算法,但是兩種實(shí)現(xiàn)方法在精度上還是略有區(qū)別。下面我們逐一介紹。

方法一:Biopython

如圖為一個(gè)實(shí)例,包括17個(gè)數(shù)據(jù)點(diǎn),每個(gè)數(shù)據(jù)點(diǎn)有兩個(gè)特征值,xs為特征值矩陣,ys為對(duì)應(yīng)的類(lèi)別標(biāo)簽。

Model即為利用xs,ys為訓(xùn)練集,通過(guò)邏輯回歸構(gòu)建的分類(lèi)模型。Classify函數(shù)是用來(lái)進(jìn)行分類(lèi)預(yù)測(cè)的。我們看下精度如何

可見(jiàn)只有第二個(gè)數(shù)據(jù)點(diǎn)分類(lèi)錯(cuò)誤,其他的數(shù)據(jù)點(diǎn)都正確分類(lèi)了。精度還是很高的。那么我們用另一種基于python的邏輯回歸算法來(lái)比較一下。


方法二:sklearn

從sklearn的線(xiàn)性模型中調(diào)用邏輯回歸,同樣用xs,ys訓(xùn)練構(gòu)建模型,然后逐一進(jìn)行預(yù)測(cè)。結(jié)果如下

可見(jiàn)第2,3,17個(gè)數(shù)據(jù)點(diǎn)都被錯(cuò)誤分類(lèi)了,精度明顯比Biopython中回歸模型的精度要低。那么如何才能提高預(yù)測(cè)精度呢,這里我們借用Gridsearchcv參數(shù)優(yōu)化來(lái)對(duì)模型進(jìn)行優(yōu)化,看是否能一定程度上提高精度。

首先我們可以看下sklearn中回歸模型設(shè)計(jì)到的參數(shù)有哪些,這里可選的參數(shù)包括C,penalty,tol等。所以我們主要對(duì)這三個(gè)參數(shù)進(jìn)行優(yōu)化。迭代過(guò)程如下

見(jiàn)當(dāng)C=10,penalty=’l1’,tol=0.01時(shí)精度最高,為0.882。我們重新用Gridsearch優(yōu)化過(guò)的LogisticRegression模型重新進(jìn)行預(yù)測(cè)

可見(jiàn)同樣只有第二個(gè)數(shù)據(jù)點(diǎn)錯(cuò)誤分類(lèi),和Biopython的精度相同。

小結(jié):

通過(guò)測(cè)試數(shù)據(jù)我們獲得兩個(gè)結(jié)論,首先python機(jī)器學(xué)習(xí)包中sklearn線(xiàn)性模型所包含的邏輯回歸模型在判別分類(lèi)的效果上不如Biopython中回歸模型精度高。

另外,Gridsearch可以一定程度上提高模型的預(yù)測(cè)精度,并且優(yōu)化后的預(yù)測(cè)精度和Biopython相同,但是參數(shù)優(yōu)化的弊端在于可能出現(xiàn)局部?jī)?yōu)化或過(guò)擬合,造成模型的可移植性降低。

所以在選擇邏輯回歸進(jìn)行判別時(shí),可能Biopython是相對(duì)更好的選擇,但是我們不能否認(rèn)sklearn的靈活性更高,并且通過(guò)參數(shù)優(yōu)化可以很大程度上提高預(yù)測(cè)效果。


爾云間生信代碼|邏輯回歸LogisticRegression原理介紹及方法實(shí)現(xiàn)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石柱| 河南省| 莆田市| 定安县| 禄丰县| 罗江县| 安仁县| 许昌县| 灵璧县| 濮阳市| 安吉县| 郯城县| 南召县| 青阳县| 邵阳市| 大丰市| 淳安县| 灵璧县| 扶绥县| 武义县| 杭州市| 汝城县| 昌吉市| 宝丰县| 武清区| 怀来县| 元氏县| 南皮县| 十堰市| 泊头市| 会同县| 行唐县| 盘锦市| 蒙自县| 谢通门县| 娱乐| 扶风县| 阿拉善右旗| 山东省| 龙南县| 绍兴市|