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