泰坦尼克生存概率預測
(https://github.com/hpchihuo/titanic)
專案背景:本專案從資料分析的角度,尋找與生存率專案相關的生存因素,建立邏輯迴歸模型預測tantic人員生存情況。
1.提出問題:找出最優模型來預測titanic乘客生存結果
專案概況:Titanic號的沉沒是歷史上最慘痛的沉船事故之一。在1912年4月15號,Titanic首次航行便因撞擊冰山而沉沒。在2224名乘客和船員中,有1502人因事而死亡。這場事故令世界為之震驚,隨之便引起了人們對船舶安全的重視。
沒有足夠多的救生艇是該事故吞噬如此多生命的原因之一。雖然有一些幸運的因素使人們能夠倖存,但是似乎某一類人擁有更多的生存率,如婦女,孩子和頭等艙室的人。
在該專案中,我將分析哪類人群更容易倖存,更主要的是,我將通過機器學習工具來預測哪些人在事故中倖存下來。
3.資料處理:
3.1初探資料
首先我們必須對資料有一個大致的瞭解,該資料有哪些屬性,是什麼型別的資料,和我們要預測的目標有什麼關係
1)Survived是我們要的預測的變數,它是二分類變數,0代表死亡,1代表倖存。其它都是潛在的自變數。必須說明:只有對的變數才能對建立更好的模型,有時候變數越多並不意味著模型越好
2)PassengerId和Ticket變數為隨機的唯一的標記值,這對結果並沒有影響,應排除在模型之外
3)Pclass是一個代表船票等級的有序變數,1代表頭等艙,2代表2等艙,3代表3等艙
4)Name是一個分類變數,可以從變數Name中看出性別,家庭規模,職位頭銜。如果這些資訊存在的話,我們可以用於模型中
5)Sex和Embarked是分類變數,他們可以通過數學方法轉化為虛擬變數
6)Age和Fare是連續型變數
7)SibSp代表船上同輩人數的數量,Parch代表父輩和孩子的數量,都是離散型變數,將他們組合後可以重新變成家庭規模的變數
8)Cabin為分類變數,他們用來顯示其在船舶的位置或甲板位置,因為他們有太多缺失值,我們可以將其從資料模型中排除。
總結:訓練集共有891行,其中Age有177空缺值, Cabin共有681個空缺值,Embarked共有2個空值。存活率在25%左右。
3.2資料清洗
處理噪聲資料,處理缺失值,創造新的特徵值,轉化特徵值
用Age的中位數填充空缺值,用Embarked的眾數填充空缺值,用Fare的中位數填充空缺值,其中Cabin的空缺值太多,填充難度太大。
建立新的屬性值,IsAlone,FareBin,AgeBin.
將分型別資料轉化為多個二分類資料,有利於模型的的建立。
4.探索資料,尋找特徵與目標之間的初步關係,為建立模型做準備
完成資料清洗的工作後,下面將對資料進行分析和彙總,尋找特徵與目標之間的相關關係。
從上圖可以看出Embarked(登船港口)C開頭的生存率較高 ;從艙室等級來看,艙室登記越高,生存率越大,因為根據船艙佈置來說,高等艙室佈置在船舶較好的位置,並且救助設施也比較完善,事故發生時,可以快速逃生。結合FamilySize與IsAlone與Survived關係圖來看,當家庭規模在2-4之間時,生存率較高,2-4人一起行動時,較為靈活,同時相互幫助,而當規模超過數量時,團隊活動受限,不利於逃生。從FareBin來看,工資越高,逃生概率越大,因為FareBin越高,所住的艙室越好,逃生概率越大。從AgeBIn來看,在逃生過程中,嬰幼兒受到了較好的照顧,而老人則由於行動不便,逃生概率小。
無論是在哪種情況下,女性的逃生概率都高於男性;在事故發生時,女性受到了較好的保護,這是人性的閃光點。
相關關係的熱圖展示了特徵與特徵之間以及特徵與預測目標之間的相關關係。
5.建立模型
資料科學是一個由數學,電腦科學,以及商業管理結合而成的學科,大多數的資料科學家來源於三者之一。他們總是偏向於他們之前的學科。但是,資料科學好比一個三條腿走路的工具,三者缺一不可。但是不要太過於擔心,我們只需要瞭解核心即可。
正如其名字表達的那樣,機器學習是告訴機器怎們做,而不是做什麼,大資料這個話題已經發展了十幾年,而且越來越受歡迎,因為進入門檻正在變低。這種變化利弊均有,優點是,更多的人可以利用演算法來解決更多的現實問題(因為門檻變低),而缺點則是:人們並不知道有時候他們利用這些工具得出的結果是不準確的。
機器學習的目的在於解決人們所遇到的問題,機器學習可以分為監督學習,無監督學習,強化學習。監督學習是人們訓練模型的資料包括正確的結果,而無監督學習則不包括。強化學習強調如何基於環境而行動,以取得最大化的預期利益。
當人們進行資料建模時,總喜歡問,最好的機器學習演算法是什麼,事實上,並沒有最好的,只有最適合的。
在這裡,我們使用sklearn包裡的LogisticRegression模型,模型的正確率為
0.81165919282511212
6.總結
在該專案中,我通過-提出問題—收集資料—資料清洗—資料初步探索—資料模型等步驟完成了對Titanic逃生率的預測。正確率達到了0.8。總的來說,達到了最初的預期。