標籤:

Kaggle和泰坦尼克號預測

人工智慧的三個基本分層以及在生活中的應用

機器學習演算法把人類決策思考的過程抽象成一個模型,用數學的方法給這個模型找到最優化的解。然後用代碼把最優解,變成機器可以執行的命令,最終完成一個機器大腦的構建。

大數據和演算法的結合就是機器學習的本質,兩者的結合產生了快速迭代和快速優化。

目錄

  1. 提出問題(Business Understanding )
  2. 理解數據(Data Understanding)
  • 採集數據
  • 導入數據
  • 查看數據集信息
  • 數據清洗(Data Preparation )
    • 數據預處理
    • 特徵工程(Feature Engineering)
  • 構建模型(Modeling)
  • 模型評估(Evaluation)
  • 方案實施 (Deployment)
    • 提交結果到Kaggle

    1.提出問題

    什麼樣的人在泰坦尼克號中更容易存活?

    2.理解數據

    2.1 採集數據

    註冊kaggle帳號並下載數據

    2.2 導入數據

    2.3 查看數據集信息

    #查看數據

    full.head()

    #獲取數據類型列的描述統計信息

    full.describe()

    # 查看每一列的數據類型,和數據總數

    full.info()

    3.數據清洗(Data Preparation )

    3.1 數據預處理

    缺失值處理

    在前面,理解數據階段,我們發現數據總共有1309行。 其中數據類型列:年齡(Age)、船艙號(Cabin)裡面有缺失數據。 字元串列:登船港口(Embarked)、船艙號(Cabin)裡面有缺失數據。

    這為我們下一步數據清洗指明了方向,只有知道哪些數據缺失數據,我們才能有針對性的處理。

    很多機器學習演算法為了訓練模型,要求所傳入的特徵中不能有空值。

    1. 如果是數值類型,用平均值取代
    2. 如果是分類數據,用最常見的類別取代
    3. 使用模型預測缺失值,例如:K-NN

    .2 特徵提取

    3.2.1數據分類

    查看數據類型,分為3種數據類型。並對類別數據處理:用數值代替類別,並進行One-hot編碼

    1.數值類型:

    乘客編號(PassengerId),年齡(Age),船票價格(Fare),同代直系親屬人數(SibSp),不同代直系親屬人數(Parch)

    2.時間序列:無

    3.分類數據:

    1)有直接類別的

    乘客性別(Sex):男性male,女性female

    登船港口(Embarked):出發地點S=英國南安普頓Southampton,途徑地點1:C=法國 瑟堡市Cherbourg,出發地點2:Q=愛爾蘭 昆士敦Queenstown

    客艙等級(Pclass):1=1等艙,2=2等艙,3=3等艙

    2)字元串類型:可能從這裡面提取出特徵來,也歸到分類數據中

    乘客姓名(Name)

    客艙號(Cabin)

    船票編號(Ticket)

    3.2.1 分類數據:有直接類別的

    1. 乘客性別(Sex): 男性male,女性female
    2. 登船港口(Embarked):出發地點S=英國南安普頓Southampton,途徑地點1:C=法國 瑟堡市Cherbourg,出發地點2:Q=愛爾蘭 昆士敦Queenstown
    3. 客艙等級(Pclass):1=1等艙,2=2等艙,3=3等艙

    性別

    登船港口(Embarked)

    客艙等級(Pclass)

    3.2.2 分類數據:字元串類型

    字元串類型:可能從這裡面提取出特徵來,也歸到分類數據中,這裡數據有:

    1. 乘客姓名(Name)
    2. 客艙號(Cabin)
    3. 船票編號(Ticket)

    從姓名中提取頭銜

    從客艙號中提取客艙類別

    3.3 特徵選擇

    4.3 訓練模型

    5.評估模型

    6.方案實施

    我的最終排名

    總結

    推薦閱讀:

    Titanic: kaggle入門實踐-top10%(附Python代碼)
    Kaggle實戰——點擊率預估
    KAGGLE TITANIC生還率預測——機器學習
    kaggle:Titanic: Machine Learning from Disaster,有什麼比較好的feature可以提取,哪位大神hit 80%了?
    Kaggle 的比賽在 Machine Learning 領域中屬於什麼地位?

    TAG:Kaggle |