邏輯迴歸:使用Python的簡化方法
邏輯迴歸的目標是什麼?
在邏輯迴歸中,我們希望根據一個或多個自變數(X)對因變數(Y)進行建模。這是一種分類方法。此演算法用於分類的因變數。Y使用一個函式建模,該函式為X的所有值提供0到1之間的輸出。在邏輯迴歸中,使用Sigmoid(aka Logistic)函式。
使用混淆矩陣進行模型評估
在針對某些訓練資料訓練邏輯迴歸模型之後,我們將評估模型在某些測試資料上的效能。為此,我們使用混淆矩陣(Confusion Matrix)。混淆矩陣是一個表,通常用於描述分類模型在一組已知真實值的測試資料上的效能。下面給出的是混淆矩陣。
TP代表真正例(True Positive),即我們預測為"是(yes)"且實際值為"真(true)"的情況。TN代表真負例(True Negative),即我們預測為"否(no)"且實際值為"假(false)"的情況。FP代表假正例(False Positive),這是我們預測為"是(yes)",實際值為"假(false)"的情況。FN代表假負例(False Negative),這是案例我們預測為"否(no)",實際值是"真(true)"的情況。
我們從混淆矩陣中推斷出什麼?
混淆矩陣有助於我們確定模型預測是正確的,或者換句話說,模型的準確性。通過上面的表格,它給出:
(TP+TN )/Total = 100+50/165 =0.91
這意味著該模型的正確度為91%。混淆矩陣還用於測量錯誤率,該錯誤率由下式給出:
(FP+ FN)/Total=15/165 = 0.09
模型中有9%的錯誤。
在本文中,我們將在python中處理非常簡單的步驟來模擬邏輯迴歸。
Python程式碼詳細解釋
我們將觀察資料、分析資料,將其視覺化,清理資料,構建邏輯迴歸模型,分成訓練和測試資料,進行預測並最終評估。所有這些都將一步一步完成,我們將要處理的資料是kaggle.com提供的"泰坦尼克號資料集"。這是一個非常著名的資料集,通常是學生基於分類學習機器學習的第一步。我們正在嘗試預測分類:生存或死亡
首先,我們將匯入numpy和pandas庫:
我們來進行視覺化匯入:
我們將繼續將泰坦尼克號資料集匯入pandas資料幀。之後,我們將檢查資料框的頭部,以便清楚地瞭解資料框中的所有列。
我們遇到的大多數資料都缺少資料。我們將檢查缺失的資料,並將其視覺化以獲得更好的想法並將其刪除。
在這裡,我們找到布林值。True表示該值為null,False表示負值,反之亦然。由於有大量資料,我們使用seaborn庫來顯示空值。在這種情況下,我們的任務變得更加容易。
年齡(Age)和船艙(Cabin)列具有空值。我在之前的部落格中處理過處理NA值的問題。有興趣可以檢視。
使用資料並充分利用視覺化庫來獲取資料是一種很好的做法。
這是一個計數圖,顯示倖存的人數,這是我們的目標變數。此外,我們可以根據性別(SEX)和乘客(train)類別繪製計數圖。
在這裡,我們看到一種趨勢,即女性比男性倖存的更多。
從上圖可以看出,屬於3級的乘客死亡人數最多。
我們可以通過更多方式視覺化資料。但是,我不是在這裡討論它們,因為我們需要進入模型構建的步驟。
資料清理
我們想要填寫缺少的年齡(Age)資料,而不是僅刪除缺少的年齡(Age)資料行。一種方法是填寫所有乘客(train)的平均年齡(估算)。但是,我們可以更加明智地按乘客(train)級別檢查平均年齡。例如:
我們可以看到較高階別中較富裕的乘客(train)往往年齡較大,這是有道理的。我們將根據年齡的Pclass使用這些平均年齡值來估算。
現在應用該功能!
現在讓我們再次檢查熱圖。
很好!讓我們繼續看船艙(Cabin)列。
轉換分類功能
我們需要使用pandas庫將分類特徵轉換為虛擬變數!否則,我們的機器學習演算法將無法直接將這些特徵作為輸入。
在這裡,我們正在篩選性別之後並列出專欄。在篩選之後,我們將丟棄其他不需要的列。
我們將連線新的性別並將列匯入資料框。
現在,資料框看起來像這樣:
測試訓練劃分
訓練和預測
評估
我們可以使用分類報告來檢查精確度、召回率、f1分數
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547542/viewspace-2214753/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python邏輯迴歸Python邏輯迴歸
- 邏輯迴歸邏輯迴歸
- 機器學習之使用Python完成邏輯迴歸機器學習Python邏輯迴歸
- 邏輯迴歸模型邏輯迴歸模型
- 線性迴歸與邏輯迴歸邏輯迴歸
- 邏輯迴歸為什麼使用sigmod邏輯迴歸
- 對數機率迴歸(邏輯迴歸)原理與Python實現邏輯迴歸Python
- 邏輯迴歸演算法邏輯迴歸演算法
- COMP 330正則化邏輯迴歸分類邏輯迴歸
- 對比線性迴歸、邏輯迴歸和SVM邏輯迴歸
- 實驗11-使用keras完成邏輯迴歸Keras邏輯迴歸
- 機器學習 | 線性迴歸與邏輯迴歸機器學習邏輯迴歸
- 邏輯迴歸 損失函式邏輯迴歸函式
- 2.3 邏輯迴歸演算法邏輯迴歸演算法
- 4.邏輯迴歸(Logistic Regression)邏輯迴歸
- Tensorflow教程(前三)——邏輯迴歸邏輯迴歸
- 機器學習:邏輯迴歸機器學習邏輯迴歸
- 邏輯迴歸中的係數的意義邏輯迴歸
- 機器學習之邏輯迴歸機器學習邏輯迴歸
- 機器學習整理(邏輯迴歸)機器學習邏輯迴歸
- 2.3邏輯迴歸損失函式邏輯迴歸函式
- 從零開始利用Python建立邏輯迴歸分類模型Python邏輯迴歸模型
- 邏輯迴歸(Logistic Regression)原理及推導邏輯迴歸
- 從零開始學習邏輯迴歸邏輯迴歸
- 邏輯迴歸損失函式(cost function)邏輯迴歸函式Function
- 機器學習簡介之基礎理論- 線性迴歸、邏輯迴歸、神經網路機器學習邏輯迴歸神經網路
- 邏輯迴歸:損失函式與梯度下降邏輯迴歸函式梯度
- 人工智慧-機器學習-邏輯迴歸人工智慧機器學習邏輯迴歸
- 三、邏輯迴歸logistic regression——分類問題邏輯迴歸
- 邏輯迴歸演算法推理與實現邏輯迴歸演算法
- chapter3——邏輯迴歸手動+sklean版本APT邏輯迴歸
- 分類演算法(1)-LR邏輯迴歸演算法邏輯迴歸
- 【機器學習基礎】邏輯迴歸——LogisticRegression機器學習邏輯迴歸
- [譯] 使用 PyTorch 在 MNIST 資料集上進行邏輯迴歸PyTorch邏輯迴歸
- 【小白學AI】線性迴歸與邏輯迴歸(似然引數估計)AI邏輯迴歸
- python實現線性迴歸之簡單迴歸Python
- ML-邏輯迴歸-Softmax-交叉熵(小航)邏輯迴歸熵
- 【機器學習】邏輯迴歸過程推導機器學習邏輯迴歸