您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)如何使用Python的簡化方法的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
邏輯回歸的目標(biāo)是什么?
在邏輯回歸中,我們希望根據(jù)一個或多個自變量(X)對因變量(Y)進(jìn)行建模。這是一種分類方法。此算法用于分類的因變量。Y使用一個函數(shù)建模,該函數(shù)為X的所有值提供0到1之間的輸出。在邏輯回歸中,使用Sigmoid(aka Logistic)函數(shù)。
使用混淆矩陣進(jìn)行模型評估
在針對某些訓(xùn)練數(shù)據(jù)訓(xùn)練邏輯回歸模型之后,我們將評估模型在某些測試數(shù)據(jù)上的性能。為此,我們使用混淆矩陣(Confusion Matrix)?;煜仃囀且粋€表,通常用于描述分類模型在一組已知真實(shí)值的測試數(shù)據(jù)上的性能。下面給出的是混淆矩陣。
TP代表真正例(True Positive),即我們預(yù)測為"是(yes)"且實(shí)際值為"真(true)"的情況。TN代表真負(fù)例(True Negative),即我們預(yù)測為"否(no)"且實(shí)際值為"假(false)"的情況。FP代表假正例(False Positive),這是我們預(yù)測為"是(yes)",實(shí)際值為"假(false)"的情況。FN代表假負(fù)例(False Negative),這是案例我們預(yù)測為"否(no)",實(shí)際值是"真(true)"的情況。
我們從混淆矩陣中推斷出什么?
混淆矩陣有助于我們確定模型預(yù)測是正確的,或者換句話說,模型的準(zhǔn)確性。通過上面的表格,它給出:
(TP+TN )/Total = 100+50/165 =0.91
這意味著該模型的正確度為91%。混淆矩陣還用于測量錯誤率,該錯誤率由下式給出:
(FP+ FN)/Total=15/165 = 0.09
模型中有9%的錯誤。
在本文中,我們將在python中處理非常簡單的步驟來模擬邏輯回歸。
Python代碼詳細(xì)解釋
我們將觀察數(shù)據(jù)、分析數(shù)據(jù),將其可視化,清理數(shù)據(jù),構(gòu)建邏輯回歸模型,分成訓(xùn)練和測試數(shù)據(jù),進(jìn)行預(yù)測并最終評估。所有這些都將一步一步完成,我們將要處理的數(shù)據(jù)是kaggle.com提供的"泰坦尼克號數(shù)據(jù)集"。這是一個非常著名的數(shù)據(jù)集,通常是學(xué)生基于分類學(xué)習(xí)機(jī)器學(xué)習(xí)的第一步。我們正在嘗試預(yù)測分類:生存或死亡
首先,我們將導(dǎo)入numpy和pandas庫:
我們來進(jìn)行可視化導(dǎo)入:
我們將繼續(xù)將泰坦尼克號數(shù)據(jù)集導(dǎo)入pandas數(shù)據(jù)幀。之后,我們將檢查數(shù)據(jù)框的頭部,以便清楚地了解數(shù)據(jù)框中的所有列。
我們遇到的大多數(shù)數(shù)據(jù)都缺少數(shù)據(jù)。我們將檢查缺失的數(shù)據(jù),并將其可視化以獲得更好的想法并將其刪除。
在這里,我們找到布爾值。True表示該值為null,F(xiàn)alse表示負(fù)值,反之亦然。由于有大量數(shù)據(jù),我們使用seaborn庫來顯示空值。在這種情況下,我們的任務(wù)變得更加容易。
年齡(Age)和船艙(Cabin)列具有空值。我在之前的博客中處理過處理NA值的問題。有興趣可以查看。
使用數(shù)據(jù)并充分利用可視化庫來獲取數(shù)據(jù)是一種很好的做法。
這是一個計數(shù)圖,顯示幸存的人數(shù),這是我們的目標(biāo)變量。此外,我們可以根據(jù)性別(SEX)和乘客(train)類別繪制計數(shù)圖。
在這里,我們看到一種趨勢,即女性比男性幸存的更多。
從上圖可以看出,屬于3級的乘客死亡人數(shù)最多。
我們可以通過更多方式可視化數(shù)據(jù)。但是,我不是在這里討論它們,因?yàn)槲覀冃枰M(jìn)入模型構(gòu)建的步驟。
數(shù)據(jù)清理
我們想要填寫缺少的年齡(Age)數(shù)據(jù),而不是僅刪除缺少的年齡(Age)數(shù)據(jù)行。一種方法是填寫所有乘客(train)的平均年齡(估算)。但是,我們可以更加明智地按乘客(train)級別檢查平均年齡。例如:
我們可以看到較高級別中較富裕的乘客(train)往往年齡較大,這是有道理的。我們將根據(jù)年齡的Pclass使用這些平均年齡值來估算。
現(xiàn)在應(yīng)用該功能!
現(xiàn)在讓我們再次檢查熱圖。
很好!讓我們繼續(xù)看船艙(Cabin)列。
轉(zhuǎn)換分類功能
我們需要使用pandas庫將分類特征轉(zhuǎn)換為虛擬變量!否則,我們的機(jī)器學(xué)習(xí)算法將無法直接將這些特征作為輸入。
在這里,我們正在篩選性別之后并列出專欄。在篩選之后,我們將丟棄其他不需要的列。
我們將連接新的性別并將列導(dǎo)入數(shù)據(jù)框。
現(xiàn)在,數(shù)據(jù)框看起來像這樣:
測試訓(xùn)練劃分
訓(xùn)練和預(yù)測
評估
我們可以使用分類報告來檢查精確度、召回率、f1分?jǐn)?shù)
感謝各位的閱讀!關(guān)于“如何使用Python的簡化方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。