2.1.12.2.Logistic regression with Python

1. Titanic: Machine Learning from Disaster

  • 從頁面上可得到資料欄位的說明

2.資料探勘及分析

  1. 匯入基本的library

  2. 將圖表直接嵌入到Notebook之中

  3. 讀取資料並了解資料

    • 讀取資料

    • 先了解資料欄位的型別以及變數的型態, 由pd.info()可以知道這份資料有9個欄位: 有2筆屬於float, 4筆屬於int64, 3筆屬於uint8

    • 可以確認前幾筆資料的內容長怎樣, 例如確認前10筆

3.分類及處理不存在的資料

  • 在進行訓練之前, 需要先檢視原始資料是否有缺漏, 並設法補充缺漏的地方

  • 從heat map中可以發現Age, Cabin有一些屬於null的資料

    • 先對Age資料做處理: 目的是填充NA的資料

      • 定義一個function用來替換掉null值的資料

    • 重新畫出的heat map可以看出, Age的部分的na已經處理好了

    • 接著處理Cabin: 目的是丟棄NA的資料

      • drop Cabin

      • drop NA的column

    • 對於某些離散特徵, 例如Sex, Embarked, 可以轉成one-hot編碼, 目的是利用one-hot編碼數值化這些離散資料以進行後面的training

      • 處理Sex資料

      • 處理Embarked資料

    • 將原始資料跟one-hot的資料concat在一起

    • 從資料中移除原始的Sex, Embarked資料, 此外移除不需要的Name, Ticket, PassengerId

4.訓練及建模以預測乘客是否會生還

  • 接著用除了Survived以外的資料來預測Survived, 在實際案例時可以使用另一批資料做為測試資料. 這邊使用的是sklearn

    • 首先用train_test_split, 這個函式可以隨機劃分訓練集和測試集

    • 接著使用Logic regression的library進行訓練, 接著進行預測

  • Evaluate model

Last updated

Was this helpful?