貴州大學大數據與信息工程學院 鄭曉靜 朱 桐
Titanic生存問題常見分類算法對比分析
貴州大學大數據與信息工程學院 鄭曉靜 朱 桐
為了分析Titanic人員生存問題,針對生存與否使用常見的六種二分類模型進行了分析判斷,通過對各模型準確率及效率的分析比較,發現SVM算法在解決此問題時的準確率較高,且計算時間較短。
Titanic生存問題;機器學習;分類算法
泰坦尼克號沉沒事故為和平時期死傷人數最慘重的海難之一,在2224名船員及乘客中,逾1500人喪生。 而決定船上人員存活狀況的條件也由多種因素決定著,此文通過k-近鄰分類算法,邏輯回歸,支持向量機,樸素貝葉斯,決策樹及隨機森林共六種算法分別實現對Titanic人員數據的分類判別,研究其準確率及相對效率。
針對Titanic人員生存判斷問題,此處我們使用kaggle平臺的Titanic人員生存數據集為樣本,通過對船上人員的年齡、性別、座號,船艙等級、親屬關系等信息作為影響因素來使用幾種不同的分類算法進行生存狀況分析。
Titanic人員生存數據共1309組,其中取前891組數據為學習樣本,剩余418組數據為測試樣本。
為消除數據中各指標之間的量綱和取值范圍差異的影響,此處采用離差標準化對原始數據進行線性變換,將數值映射到[0,1]區間,公式如下:
其中max為單維度樣本數據最大值,min為單維度樣本數據最小值。
kNN算法是一種常用的監督學習方法,通過學習樣本的學習后,再用測試樣本分類檢驗,如果測試樣本中一個樣本在特征空間中的k個最相鄰的樣本中的大多數屬于某一個類別,則該樣本也屬于這個類別,并具有這個類別上樣本的特性[1]。從而得出該樣本的分類結果,即人員的存活狀況。
邏輯回歸算法主要是對現有的數據對分類邊界線建立回歸公式,以此分類。通過使用梯度上升法對學習樣本進行計算,求出最佳回歸系數ωT,將Sigmoid函數的輸入記為z,代入測試樣本,設為測試樣本Titanic人員信息的n個特征值,在樣本每個特征上乘以一個回歸系數,然后把所得的值相加,則可求出z為:
將求出的z值代入下列Sigmoid函數中:
則可得到一個范圍在[0,1]之間的數值,任何大于0.5的數據判定為1類(生還),小于0.5的判定為0類(死亡)。
支持向量機是一種二類分類模型,在此將生還狀況看成一類,將死亡狀況看成一類。
設學習樣本集為:
其中yi為輸出,把m個樣本點看作是n維空間的點,如果存在一個超平面:
這個超平面能將m個樣本分作兩類,且使得分類間隔最大即使得最小,則可轉化為一個凸二次規劃問題的求解則,如下所示:
根據優化理論,可得出以下決策式:
樸素貝葉斯分類器是一種應用概率模型貝葉斯定理的簡單概率分類器。
通過對學習樣本對生還和死亡狀況的先驗概率進行計算,然后再建立后驗概率模型,使用測試樣本集分別進行判別分類。
其后驗概率公式為:
其中d為屬性數目,xi為x在第i個屬性上的取值。
若一條數據的生還后驗概率大于死亡后驗概率,則該條數據的人員生還,反之則人員死亡。
決策樹是一個樹結構。其每個非葉節點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節點存放一個類別[2]。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。
本文通過ID3算法來對決策樹屬性進行劃分,計算各根節點的信息熵,令Titanic人員生存情況學習樣本為C,設第k類樣本所占比例為:
則信息熵定義為:
由信息熵大小對決策樹屬性意義劃分,構造出樹的數據結構,在將測試數據集帶入構造好的決策樹分類,得出結果。
表1 六種分類方法正確率及消耗時間
隨機森林算法用學習樣本數據隨機生成N個訓練子集,每個子集的生成從原始樣本中隨機抽取三分之二,抽取后放回繼續抽樣,避免局部許最優解,決策樹節點分裂時,對于M個輸入變量,隨機抽取指定logM+1個隨機特征變量,減少構建的隨機森林中決策樹之間的相關性[3]。在輸入測試樣本時,讓構建好的隨機森林每一棵決策樹分別判別,選擇多的分類結果即為最終的分類結果。
本文列舉了共六種處理Titanic人員生存問題的分類方法,通過對六種方法的正確率和效率的分析研究,我們可以看出,支持向量機算法在處理Titanic人員生存問題上更加具備優勢,在具備良好正確率的同時,其消耗時間也相對適宜。
[1]周洲.K近鄰法在 matlab 上的應用與分析[J].商情,2013(12):159-159.
[2]陳麗芳,王云,張奉.粗決策樹動態規則提取算法研究及應用[J].計算機應用,2015,35(11):3222-3226.
[3]曹正鳳.隨機森林算法優化研究[D].首都經濟貿易大學,2014.