Kaggle和泰坦尼克號預測
人工智慧的三個基本分層以及在生活中的應用
機器學習演算法把人類決策思考的過程抽象成一個模型,用數學的方法給這個模型找到最優化的解。然後用代碼把最優解,變成機器可以執行的命令,最終完成一個機器大腦的構建。
大數據和演算法的結合就是機器學習的本質,兩者的結合產生了快速迭代和快速優化。
目錄
- 提出問題(Business Understanding )
- 理解數據(Data Understanding)
- 採集數據
- 導入數據
- 查看數據集信息
- 數據預處理
- 特徵工程(Feature Engineering)
- 提交結果到Kaggle
1.提出問題
什麼樣的人在泰坦尼克號中更容易存活?
2.理解數據
2.1 採集數據
註冊kaggle帳號並下載數據
2.2 導入數據
2.3 查看數據集信息
#查看數據
full.head()
#獲取數據類型列的描述統計信息
full.describe()
# 查看每一列的數據類型,和數據總數
http://full.info()
3.數據清洗(Data Preparation )
3.1 數據預處理
缺失值處理
在前面,理解數據階段,我們發現數據總共有1309行。 其中數據類型列:年齡(Age)、船艙號(Cabin)裡面有缺失數據。 字元串列:登船港口(Embarked)、船艙號(Cabin)裡面有缺失數據。
這為我們下一步數據清洗指明了方向,只有知道哪些數據缺失數據,我們才能有針對性的處理。
很多機器學習演算法為了訓練模型,要求所傳入的特徵中不能有空值。
- 如果是數值類型,用平均值取代
- 如果是分類數據,用最常見的類別取代
- 使用模型預測缺失值,例如: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 分類數據:有直接類別的
- 乘客性別(Sex): 男性male,女性female
- 登船港口(Embarked):出發地點S=英國南安普頓Southampton,途徑地點1:C=法國 瑟堡市Cherbourg,出發地點2:Q=愛爾蘭 昆士敦Queenstown
- 客艙等級(Pclass):1=1等艙,2=2等艙,3=3等艙
性別
登船港口(Embarked)
客艙等級(Pclass)
3.2.2 分類數據:字元串類型
字元串類型:可能從這裡面提取出特徵來,也歸到分類數據中,這裡數據有:
- 乘客姓名(Name)
- 客艙號(Cabin)
- 船票編號(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 |