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

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

拓端tecdat|Python多項(xiàng)式Logistic邏輯回歸進(jìn)行多類(lèi)別分類(lèi)和交叉驗(yàn)證準(zhǔn)確度箱

2022-03-06 13:18 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=25583?

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

?

多項(xiàng)式邏輯回歸?是邏輯回歸的擴(kuò)展,它增加了對(duì)多類(lèi)分類(lèi)問(wèn)題的支持。

默認(rèn)情況下,邏輯回歸僅限于兩類(lèi)分類(lèi)問(wèn)題。一些擴(kuò)展,可以允許將邏輯回歸用于多類(lèi)分類(lèi)問(wèn)題,盡管它們要求首先將分類(lèi)問(wèn)題轉(zhuǎn)換為多個(gè)二元分類(lèi)問(wèn)題。

相反,多項(xiàng)邏輯回歸算法是邏輯回歸模型的擴(kuò)展,涉及將損失函數(shù)更改為交叉熵?fù)p失,并將概率分布預(yù)測(cè)為多項(xiàng)概率分布,以原生支持多類(lèi)分類(lèi)問(wèn)題。

在本教程中,您將了解如何在?Python?中開(kāi)發(fā)多項(xiàng)邏輯回歸模型。

完成本教程后,您將了解:

  • 多項(xiàng)邏輯回歸是邏輯回歸的擴(kuò)展,用于多類(lèi)分類(lèi)。

  • 如何開(kāi)發(fā)和評(píng)估多項(xiàng)邏輯回歸并開(kāi)發(fā)最終模型以對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)。

  • 如何調(diào)整多項(xiàng)邏輯回歸模型的懲罰超參數(shù)。

教程概述

本教程分為三個(gè)部分:

  1. 多項(xiàng)邏輯回歸

  2. 評(píng)估多項(xiàng)邏輯回歸模型

  3. 多項(xiàng) Logistic邏輯回歸的調(diào)整懲罰

多項(xiàng)邏輯Logistic回歸

邏輯回歸是一種分類(lèi)算法。

它適用于具有數(shù)字輸入變量和具有兩個(gè)值或類(lèi)的分類(lèi)目標(biāo)變量的數(shù)據(jù)集。這種類(lèi)型的問(wèn)題被稱(chēng)為二元分類(lèi)問(wèn)題。

邏輯回歸是為兩類(lèi)問(wèn)題設(shè)計(jì)的,使用二項(xiàng)式概率分布函數(shù)。對(duì)于正類(lèi)或結(jié)果,類(lèi)標(biāo)簽映射到 1,對(duì)于負(fù)類(lèi)或結(jié)果,映射到 0。擬合模型預(yù)測(cè)示例屬于第 1 類(lèi)的概率。

默認(rèn)情況下,邏輯回歸不能用于具有兩個(gè)以上類(lèi)別標(biāo)簽的分類(lèi)任務(wù),即所謂的多類(lèi)別分類(lèi)。

相反,它需要修改以支持多類(lèi)分類(lèi)問(wèn)題。

使邏輯回歸適應(yīng)多類(lèi)分類(lèi)問(wèn)題的一種流行方法是將多類(lèi)分類(lèi)問(wèn)題拆分為多個(gè)二元分類(lèi)問(wèn)題,并在每個(gè)子問(wèn)題上擬合標(biāo)準(zhǔn)邏輯回歸模型。

另一種方法涉及更改邏輯回歸模型以直接支持多個(gè)類(lèi)別標(biāo)簽的預(yù)測(cè)。具體來(lái)說(shuō),預(yù)測(cè)輸入示例屬于每個(gè)已知類(lèi)標(biāo)簽的概率。

定義多類(lèi)概率的概率分布稱(chēng)為多項(xiàng)概率分布。適用于學(xué)習(xí)和預(yù)測(cè)多項(xiàng)概率分布的邏輯回歸模型稱(chēng)為多項(xiàng)邏輯回歸。同樣,我們可以將默認(rèn)或標(biāo)準(zhǔn)邏輯回歸稱(chēng)為二項(xiàng)式邏輯回歸。

  • 二項(xiàng)式邏輯回歸:標(biāo)準(zhǔn)邏輯回歸,預(yù)測(cè)每個(gè)輸入示例的二項(xiàng)式概率(即兩個(gè)類(lèi)別)。

  • 多項(xiàng)式邏輯回歸:邏輯回歸的修改版本,預(yù)測(cè)每個(gè)輸入示例的多項(xiàng)概率(即多于兩個(gè)類(lèi)別)。

將邏輯回歸從二項(xiàng)式概率改為多項(xiàng)式概率,需要改變用于訓(xùn)練模型的損失函數(shù)(例如,將對(duì)數(shù)損失改為交叉熵?fù)p失),并將輸出從單一概率值改為每個(gè)類(lèi)標(biāo)簽的一個(gè)概率。

現(xiàn)在我們已經(jīng)熟悉了多項(xiàng)邏輯回歸,讓我們看看我們?nèi)绾卧赑ython中開(kāi)發(fā)和評(píng)估多項(xiàng)邏輯回歸模型。

評(píng)估多指標(biāo)Logistic回歸模型


在本節(jié)中,我們將使用Python機(jī)器學(xué)習(xí)庫(kù)開(kāi)發(fā)并評(píng)估一個(gè)多項(xiàng)邏輯回歸模型。

首先,我們將定義一個(gè)合成的多類(lèi)分類(lèi)數(shù)據(jù)集,作為基礎(chǔ)。這是一個(gè)通用的數(shù)據(jù)集,以后你可以很容易地用你自己加載的數(shù)據(jù)集來(lái)替換。

classification()函數(shù)可以用來(lái)生成一個(gè)具有一定數(shù)量的行、列和類(lèi)的數(shù)據(jù)集。在這種情況下,我們將生成一個(gè)具有1000行、10個(gè)輸入變量或列和3個(gè)類(lèi)的數(shù)據(jù)集。

下面的例子總結(jié)了數(shù)組的形狀和三個(gè)類(lèi)中的例子分布。

  1. # 測(cè)試分類(lèi)數(shù)據(jù)集

  2. import Counter



  3. # 定義數(shù)據(jù)集


  4. X, y = mclas

  5. # 對(duì)數(shù)據(jù)集進(jìn)行總結(jié)


  6. print

運(yùn)行這個(gè)例子,證實(shí)了數(shù)據(jù)集有1,000行和10列,正如我們預(yù)期的那樣,而且這些行大約均勻地分布在三個(gè)類(lèi)別中,每個(gè)類(lèi)別中大約有334個(gè)例子。


scikit庫(kù)支持Logistic回歸。
將 "solver "參數(shù)設(shè)置為支持多指標(biāo)邏輯回歸的解算器,從而配置為多指標(biāo)邏輯回歸。

  1. # 定義多項(xiàng)式邏輯回歸模型


  2. modl = LoRe(muss)


多項(xiàng)式邏輯回歸模型將使用交叉熵?fù)p失進(jìn)行擬合,并將預(yù)測(cè)每個(gè)整數(shù)編碼的類(lèi)標(biāo)簽的整數(shù)值。

現(xiàn)在我們已經(jīng)熟悉了多項(xiàng)邏輯回歸API,我們可以看看如何在我們的合成多類(lèi)分類(lèi)數(shù)據(jù)集上評(píng)估一個(gè)多項(xiàng)邏輯回歸模型。

使用重復(fù)分層的k-fold交叉驗(yàn)證來(lái)評(píng)估分類(lèi)模型是一個(gè)好的做法。分層確保了每個(gè)交叉驗(yàn)證折在每個(gè)類(lèi)別中的例子的分布與整個(gè)訓(xùn)練數(shù)據(jù)集大致相同。

我們將使用10個(gè)折的三次重復(fù),這是一個(gè)很好的默認(rèn)值,并且考慮到類(lèi)的平衡,使用分類(lèi)精度來(lái)評(píng)估模型性能。

下面列出了評(píng)估多類(lèi)分類(lèi)的多項(xiàng)邏輯回歸的完整例子。

  1. # 評(píng)估多指標(biāo)Logistic回歸模型


  2. from numpy import mean


  3. # 定義數(shù)據(jù)集


  4. X, y = makeclas


  5. # 定義多項(xiàng)式邏輯回歸模型


  6. modl = LogReg

  7. # 定義模型的評(píng)估程序


  8. cv = RepeKFold


  9. # 評(píng)估模型并收集分?jǐn)?shù)


  10. n_scores = crovalsc


  11. # 報(bào)告模型的性能


  12. print('Mean Accurac)


運(yùn)行這個(gè)例子可以報(bào)告所有交叉驗(yàn)證和評(píng)估程序的重復(fù)的平均分類(lèi)準(zhǔn)確率。

注意:鑒于算法或評(píng)估程序的隨機(jī)性,或數(shù)字精度的差異,你的結(jié)果可能會(huì)有所不同??紤]把這個(gè)例子運(yùn)行幾次,然后比較平均結(jié)果。

在這個(gè)例子中,我們可以看到,在我們的合成分類(lèi)數(shù)據(jù)集上,帶有默認(rèn)懲罰的多項(xiàng)邏輯回歸模型取得了約68.1%的平均分類(lèi)精度。

我們可以決定使用多項(xiàng)邏輯回歸模型作為我們的最終模型,并對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)。

這可以通過(guò)首先在所有可用數(shù)據(jù)上擬合模型,然后調(diào)用predict()函數(shù)對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)來(lái)實(shí)現(xiàn)。

下面的例子演示了如何使用多項(xiàng)邏輯回歸模型對(duì)新數(shù)據(jù)進(jìn)行預(yù)測(cè)。

  1. # 用多指標(biāo)邏輯回歸模型進(jìn)行預(yù)測(cè)


  2. from sklearn.datasets


  3. # 定義數(shù)據(jù)集


  4. X, y = makclas


  5. # 定義多項(xiàng)式邏輯回歸模型


  6. model = LogRegr


  7. # 在整個(gè)數(shù)據(jù)集上擬合該模型


  8. fit(X, y)


  9. # 定義單行輸入數(shù)據(jù)


  10. row

  11. # 預(yù)測(cè)類(lèi)別標(biāo)簽


  12. predict([row])


  13. # 對(duì)預(yù)測(cè)的類(lèi)進(jìn)行總結(jié)


  14. print('Predic

運(yùn)行這個(gè)例子首先在所有可用的數(shù)據(jù)上擬合模型,然后定義一行數(shù)據(jù),提供給模型,以便進(jìn)行預(yù)測(cè)。

在這種情況下,我們可以看到,模型對(duì)單行數(shù)據(jù)的預(yù)測(cè)是 "1 "類(lèi)。

多項(xiàng)式邏輯回歸的一個(gè)好處是,它可以預(yù)測(cè)數(shù)據(jù)集中所有已知類(lèi)標(biāo)簽的校準(zhǔn)概率。

這可以通過(guò)調(diào)用模型的predict_proba()函數(shù)來(lái)實(shí)現(xiàn)。

下面的例子演示了如何使用多項(xiàng)邏輯回歸模型預(yù)測(cè)一個(gè)新例子的多項(xiàng)概率分布。

  1. # 用多指標(biāo)邏輯回歸模型預(yù)測(cè)概率


  2. from sklea

  3. # 定義數(shù)據(jù)集


  4. X, y = makclassif


  5. # 定義多項(xiàng)式邏輯回歸模型


  6. model = LoRegre


  7. # 在整個(gè)數(shù)據(jù)集上擬合該模型


  8. fit(X, y)


  9. # 定義單行輸入數(shù)據(jù)



  10. # 預(yù)測(cè)一個(gè)多項(xiàng)式概率分布


  11. preprob


  12. # 對(duì)預(yù)測(cè)的概率進(jìn)行總結(jié)


  13. print('Predict


運(yùn)行這個(gè)例子首先在所有可用的數(shù)據(jù)上擬合模型,然后定義一行數(shù)據(jù),將其提供給模型,以便預(yù)測(cè)類(lèi)的概率。

注意:鑒于算法或評(píng)估程序的隨機(jī)性,或數(shù)字精度的差異,你的結(jié)果可能會(huì)有所不同。考慮將這個(gè)例子運(yùn)行幾次,并比較平均結(jié)果。

在這個(gè)例子中,我們可以看到第1類(lèi)(例如,數(shù)組索引被映射到類(lèi)的整數(shù)值)的預(yù)測(cè)概率最大,約為0.50。

現(xiàn)在我們已經(jīng)熟悉了評(píng)估和使用多項(xiàng)邏輯回歸模型,讓我們來(lái)探索如何調(diào)整模型的超參數(shù)。

多項(xiàng)式Logistic回歸的調(diào)整懲罰

調(diào)整多項(xiàng)邏輯回歸的一個(gè)重要超參數(shù)是懲罰項(xiàng)。

這個(gè)項(xiàng)對(duì)模型施加懲罰,尋求更小的模型權(quán)重。這是通過(guò)在損失函數(shù)中加入模型系數(shù)的加權(quán)和來(lái)實(shí)現(xiàn)的,鼓勵(lì)模型在擬合模型的同時(shí)減少權(quán)重的大小和誤差。

一種流行的懲罰類(lèi)型是L2懲罰,它將系數(shù)的平方之和(加權(quán))加入到損失函數(shù)中??梢允褂孟禂?shù)的加權(quán),將懲罰的強(qiáng)度從完全懲罰降低到非常輕微的懲罰。

默認(rèn)情況下,LogisticRegression類(lèi)使用L2懲罰,系數(shù)的權(quán)重設(shè)置為1.0。懲罰的類(lèi)型可以通過(guò) "懲罰 "參數(shù)設(shè)置,其值為 "l1"、"l2"、"elasticnet"(例如兩者),盡管不是所有的求解器都支持所有的懲罰類(lèi)型。懲罰中的系數(shù)權(quán)重可以通過(guò) "C "參數(shù)設(shè)置。

  1. # 定義帶有默認(rèn)懲罰的多項(xiàng)式邏輯回歸模型


  2. Logistic

懲罰的加權(quán)實(shí)際上是反加權(quán),也許懲罰=1-C。

從文件中可以看出。

C : float, default=1.0

正則化強(qiáng)度的倒數(shù),必須是一個(gè)正的浮點(diǎn)數(shù)。與支持向量機(jī)一樣,較小的值表示較強(qiáng)的懲罰。

這意味著,接近1.0的值表示很少的懲罰,接近0的值表示強(qiáng)的懲罰。C值為1.0可能表示根本沒(méi)有懲罰。

  • C接近于1.0。輕懲罰。

  • C接近0.0:強(qiáng)懲罰。
    ?

  1. # 定義無(wú)懲罰的多項(xiàng)式邏輯回歸模型


  2. LogRegr( penal='none')

現(xiàn)在我們已經(jīng)熟悉了懲罰,讓我們來(lái)看看如何探索不同懲罰值對(duì)多指標(biāo)邏輯回歸模型性能的影響。

在對(duì)數(shù)尺度上測(cè)試懲罰值是很常見(jiàn)的,這樣可以快速發(fā)現(xiàn)對(duì)一個(gè)模型很有效的懲罰尺度。一旦發(fā)現(xiàn),在這個(gè)尺度上進(jìn)一步調(diào)整可能是有益的。

我們將在對(duì)數(shù)尺度上探索加權(quán)值在0.0001到1.0之間的L2懲罰,此外還有不懲罰或0.0。

下面列出了評(píng)估多項(xiàng)邏輯回歸的L2懲罰值的完整例子。

  1. #調(diào)整多指標(biāo)邏輯回歸的正則化


  2. from numpy import mean




  3. # 獲取數(shù)據(jù)集


  4. def getet():


  5. X, y = make_






  6. # 獲得一個(gè)要評(píng)估的模型列表


  7. def ges():


  8. models = dict()



  9. #為模型創(chuàng)建名稱(chēng)




  10. # 在某些情況下關(guān)閉懲罰




  11. # 在這種情況下沒(méi)有懲罰


  12. models[key] = LogisticReg penalty='none'




  13. models[key] = LogisticR penalty='l2'






  14. # 使用交叉驗(yàn)證法評(píng)估一個(gè)給定的模型


  15. def evamodel


  16. # 定義評(píng)估程序


  17. cv = RataifiFod


  18. # 評(píng)估模型


  19. scs= cssva_scre



  20. # 定義數(shù)據(jù)集


  21. X, y = gatet()


  22. # 獲得要評(píng)估的模型


  23. gt_dels()


  24. # 評(píng)估模型并存儲(chǔ)結(jié)果



  25. for name, moel in mos.ims():


  26. # 評(píng)估模型并收集分?jǐn)?shù)


  27. oes = evadel(model, X, y)

  28. # 存儲(chǔ)結(jié)果


  29. rsts.append


  30. names.append


  31. # 總結(jié)


  32. # 繪制模型性能的比較圖


運(yùn)行這個(gè)例子可以報(bào)告每個(gè)配置的平均分類(lèi)精度。

注意:鑒于算法或評(píng)估程序的隨機(jī)性,或數(shù)字精度的差異,你的結(jié)果可能會(huì)有所不同??紤]多運(yùn)行幾次這個(gè)例子,并比較平均結(jié)果。

在這個(gè)例子中,我們可以看到,C值為1.0的最佳得分約為77.7%,這與不使用懲罰達(dá)到相同的得分是一樣的。

為每種配置的準(zhǔn)確度分?jǐn)?shù)創(chuàng)建了一個(gè)盒須圖,所有的圖都并排顯示在一個(gè)相同比例的圖上,以便直接比較。

在這種情況下,我們可以看到,我們?cè)谶@個(gè)數(shù)據(jù)集上使用的懲罰越大(即C值越?。?,模型的性能就越差。

多項(xiàng)式Logistic回歸的L2懲罰與準(zhǔn)確率的箱線圖

概括

在本教程中,您了解了如何在 Python 中開(kāi)發(fā)多項(xiàng)邏輯回歸模型。

你有任何問(wèn)題嗎?
在下面的評(píng)論中提出您的問(wèn)題,我會(huì)盡力回答。

最受歡迎的見(jiàn)解

1.R語(yǔ)言多元Logistic邏輯回歸 應(yīng)用案例

2.面板平滑轉(zhuǎn)移回歸(PSTR)分析案例實(shí)現(xiàn)

3.matlab中的偏最小二乘回歸(PLSR)和主成分回歸(PCR)

4.R語(yǔ)言泊松Poisson回歸模型分析案例

5.R語(yǔ)言混合效應(yīng)邏輯回歸Logistic模型分析肺癌

6.r語(yǔ)言中對(duì)LASSO回歸,Ridge嶺回歸和Elastic Net模型實(shí)現(xiàn)

7.R語(yǔ)言邏輯回歸、Naive Bayes貝葉斯、決策樹(shù)、隨機(jī)森林算法預(yù)測(cè)心臟病

8.python用線性回歸預(yù)測(cè)股票價(jià)格

9.R語(yǔ)言用邏輯回歸、決策樹(shù)和隨機(jī)森林對(duì)信貸數(shù)據(jù)集進(jìn)行分類(lèi)預(yù)測(cè)


拓端tecdat|Python多項(xiàng)式Logistic邏輯回歸進(jìn)行多類(lèi)別分類(lèi)和交叉驗(yàn)證準(zhǔn)確度箱的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
瑞昌市| 吕梁市| 太原市| 伊金霍洛旗| 台东县| 兴山县| 峡江县| 会泽县| 威海市| 榆中县| 凤山市| 兴城市| 介休市| 镇江市| 岳西县| 新泰市| 鄂尔多斯市| 曲阳县| 凉城县| 尚志市| 桦甸市| 太谷县| 贺兰县| 政和县| 沈阳市| 皋兰县| 南华县| 白山市| 磐石市| 宜章县| 商水县| 汝阳县| 射阳县| 乌什县| 南昌县| 赤水市| 正镶白旗| 平邑县| 新河县| 杭州市| 尉犁县|