2.1.12.2.Logistic regression with Python
Last updated
Last updated
在資料頁面按下Download, 即可下載CSV檔
從頁面上可得到資料欄位的說明
匯入基本的library
將圖表直接嵌入到Notebook之中
讀取資料並了解資料
讀取資料
先了解資料欄位的型別以及變數的型態, 由pd.info()可以知道這份資料有9個欄位: 有2筆屬於float, 4筆屬於int64, 3筆屬於uint8
可以確認前幾筆資料的內容長怎樣, 例如確認前10筆
視覺化分析
Seaborn Heatmap: 創建一個映射圖以了解缺少的資料
可以發現Age, Cabin有一些屬於null的資料
在進行訓練之前, 需要先檢視原始資料是否有缺漏, 並設法補充缺漏的地方
先對Age資料做處理: 目的是填充NA的資料
定義一個function用來替換掉null值的資料
接著處理Cabin: 目的是丟棄NA的資料
drop Cabin
drop NA的column
對於某些離散特徵, 例如Sex, Embarked, 可以轉成one-hot編碼, 目的是利用one-hot編碼數值化這些離散資料以進行後面的training
處理Sex資料
處理Embarked資料
將原始資料跟one-hot的資料concat在一起
從資料中移除原始的Sex, Embarked資料, 此外移除不需要的Name, Ticket, PassengerId
接著用除了Survived以外的資料來預測Survived, 在實際案例時可以使用另一批資料做為測試資料. 這邊使用的是sklearn
首先用train_test_split, 這個函式可以隨機劃分訓練集和測試集
接著使用Logic regression的library進行訓練, 接著進行預測
從heat map中可以發現Age, Cabin有一些屬於null的資料
重新畫出的heat map可以看出, Age的部分的na已經處理好了