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