泰坦尼克號生存預測
1.背景與挖掘目標
????????“泰坦尼克號”的沉沒是歷史上最臭名昭著的海難之一寓盗。1912年4月15日柑贞,泰坦尼克號在處女航中與冰山相撞后沉沒皿渗,2224名乘客和機組人員中有1502人死亡樊拓。這場聳人聽聞的悲劇震驚了國際社會洁闰,并導致了更好的船舶安全條例搂赋。
????????造成沉船事故的原因之一是沒有足夠的救生艇供乘客和機組人員使用赘阀。雖然在沉沒中幸存了一些運氣,但一些人比其他人更容易生存脑奠,如婦女基公、兒童和上層階級。
請根據(jù)這些數(shù)據(jù)(見數(shù)據(jù)來源)實現(xiàn)以下目標宋欺。
????????在這個挑戰(zhàn)中轰豆,我們要求你們完成對什么樣的人可能生存的分析胰伍。特別是,我們要求你運用機器學習的工具來預測哪些乘客在悲劇中幸存下來酸休。
2.分析方法與過程
泰坦尼克號生存預測主要包括以下步驟骂租。
1) 數(shù)據(jù)描述性統(tǒng)計
2) 對步驟1)進行數(shù)據(jù)探索分析(尋找特征值)與預處理,包括數(shù)據(jù)缺失值的探索分析斑司,數(shù)據(jù)的屬性規(guī)約渗饮,清洗和變換
3) 利用2)中形成的已完成數(shù)據(jù)預處理的建模數(shù)據(jù)訓練模型
4) 針對模型結(jié)果預測測試集人的生存情況
2.1數(shù)據(jù)來源和含義
數(shù)據(jù)來自于知名機器學習競賽網(wǎng)站kaggle:
https://www.kaggle.com/c/titanic/data
說明:
PassengerId=> 乘客ID
Pclass=> 乘客等級(1/2/3等艙位)
Name=> 乘客姓名
Sex=> 性別
Age=> 年齡
SibSp=> 堂兄弟/妹個數(shù)
Parch=> 父母與小孩個數(shù)
Ticket=> 船票信息
Fare=> 票價
Cabin=> 客艙
Embarked=> 登船港口
3數(shù)據(jù)探索
3.1數(shù)據(jù)初窺
導入數(shù)據(jù)
其中Age,Cabin,Embarked有缺失
進行描述性統(tǒng)計
可以發(fā)現(xiàn)乘客平均獲救的概率為38%,乘客主要集中在2,3等艙宿刮,乘客平均年齡是29.7歲互站。
探討乘客總體分布情況
整體上看出獲救人數(shù)300多人,人數(shù)分布情況三等艙人數(shù)最多僵缺,接下來是一等艙胡桃,二等艙,死亡和獲救的人數(shù)分布較廣谤饭,頭等艙平均年齡偏大标捺,40歲左右的人數(shù)較多,三等艙平均年齡偏小揉抵,20歲左右的人數(shù)較多亡容,登船口岸人數(shù)按照S,C,Q遞減。
3.2挖掘與乘客是否生存的特征值
3.2.1艙位和獲救關(guān)系
事故發(fā)生后一等艙和二等艙獲救概率大冤今,三等艙死亡人數(shù)明顯多于獲救人數(shù)闺兢,獲救概率小,可見客艙等級越高戏罢,生還率越高屋谭。
3.2.2性別和獲救關(guān)系
事故發(fā)生后,女性獲救人數(shù)多于死亡人數(shù)龟糕,男性獲救人數(shù)少于死亡人數(shù)桐磁,女性獲救概率大
3.2.3登船口岸和獲救的關(guān)系
事故發(fā)生后,C口岸獲救人數(shù)多于死亡人數(shù)讲岁,S口岸獲救人數(shù)遠小于死亡人數(shù)我擂,Q口岸獲救人數(shù)較小于死亡人數(shù),C口岸獲救概率大
3.3數(shù)據(jù)分析總結(jié)
本次分析主要探尋泰坦尼克號上的生還率和各因素(客艙等級缓艳、年齡校摩、性別、上船港口等)的關(guān)系阶淘。
樣本數(shù)量為 891衙吩,海難發(fā)生后,生還者還剩 342 人溪窒,生還率為 38%坤塞。
泰坦尼克號上有一\二\三等艙三種船艙類型冯勉。海難發(fā)生前,一等艙有 216 人尺锚,二等艙 184 人珠闰,三等艙 491 人。事故發(fā)生后瘫辩,一等艙伏嗜、二等艙、三等艙的乘客人數(shù)變?yōu)?36伐厌、87承绸、119人。一等艙生還率為 63%挣轨,二等艙為 47%军熏,三等艙為24%【戆纾可見客艙等級越高荡澎,生還率越高。
891 人中晤锹,891人中摩幔,男性共577人,女性314人鞭铆。事故發(fā)生后或衡,男性變?yōu)?09人,女性變?yōu)?33人车遂。男性生還109人封断,生還率僅為19%。女性生還 233 人舶担,生還率為 74%坡疼,遠遠高于男性的 19%∫绿眨可見女性比男性在這次事故中更容易生還回梧。
S 港口生還人數(shù)最多,C 次之祖搓, Q 最少。從生還率來看湖苞, C 港上船的生還率最高拯欧, Q 次之,S 生還率最低财骨。
4數(shù)據(jù)預處理
查看數(shù)據(jù)缺失情況
本數(shù)據(jù)中Age,Cabin缺失嚴重镐作,我們首先對Age數(shù)據(jù)利用scikit-learn中的RandomForest對缺失Age進行擬合藏姐,對Cabin按照有無標簽進行分類
將特征'Pclass','Cabin','Embarked'拆分并將特征因子數(shù)值化
將Age,Cabin數(shù)據(jù)進行標準化處理该贾,數(shù)值變化范圍下降到[-1,1]之間羔杨。
5建立模型
導入數(shù)據(jù),使用邏輯回歸模型對數(shù)據(jù)進行訓練
6模型結(jié)果
對需要預測的乘客test集進行同樣的數(shù)據(jù)預處理
用訓練好的模型對處理好的乘客ID進行預測并保存
結(jié)果: