比賽地址:https://tianchi.aliyun.com/competition/entrance/531883/introduction
賽題概況
比賽要求參賽選手根據(jù)給定的數(shù)據(jù)集,建立模型,預(yù)測(cè)不同的心跳信號(hào)。賽題以預(yù)測(cè)心電圖心跳信號(hào)類(lèi)別為任務(wù),數(shù)據(jù)集報(bào)名后可見(jiàn)并可下載,該數(shù)據(jù)來(lái)自某平臺(tái)心電圖數(shù)據(jù)記錄,總數(shù)據(jù)量超過(guò)20萬(wàn),主要為1列心跳信號(hào)序列數(shù)據(jù),其中每個(gè)樣本的信號(hào)序列采樣頻次一致,長(zhǎng)度相等。為了保證比賽的公平性,將會(huì)從中抽取10萬(wàn)條作為訓(xùn)練集,2萬(wàn)條作為測(cè)試集A,2萬(wàn)條作為測(cè)試集B,同時(shí)會(huì)對(duì)心跳信號(hào)類(lèi)別(label)信息進(jìn)行脫敏。
數(shù)據(jù)概況
一般而言,對(duì)于數(shù)據(jù)在比賽界面都有對(duì)應(yīng)的數(shù)據(jù)概況介紹(匿名特征除外),說(shuō)明列的性質(zhì)特征。了解列的性質(zhì)會(huì)有助于我們對(duì)于數(shù)據(jù)的理解和后續(xù)分析。
* 匿名特征,就是未告知數(shù)據(jù)列所屬的性質(zhì)的特征列。
train.csv
id 為心跳信號(hào)分配的唯一標(biāo)識(shí)
heartbeat_signals 心跳信號(hào)序列(數(shù)據(jù)之間采用“,”進(jìn)行分隔)
label 心跳信號(hào)類(lèi)別(0、1、2、3)
testA.csv
id 心跳信號(hào)分配的唯一標(biāo)識(shí)
heartbeat_signals 心跳信號(hào)序列(數(shù)據(jù)之間采用“,”進(jìn)行分隔)
預(yù)測(cè)指標(biāo)
選手需提交4種不同心跳信號(hào)預(yù)測(cè)的概率,選手提交結(jié)果與實(shí)際心跳類(lèi)型結(jié)果進(jìn)行對(duì)比,求預(yù)測(cè)的概率與真實(shí)值差值的絕對(duì)值。
具體計(jì)算公式如下:
總共有n個(gè)病例,針對(duì)某一個(gè)信號(hào),若真實(shí)值為[y1,y2,y3,y4],模型預(yù)測(cè)概率值為[a1,a2,a3,a4],那么該模型的評(píng)價(jià)指標(biāo)abs-sum為
例如,某心跳信號(hào)類(lèi)別為1,通過(guò)編碼轉(zhuǎn)成[0,1,0,0],預(yù)測(cè)不同心跳信號(hào)概率為[0.1,0.7,0.1,0.1],那么這個(gè)信號(hào)預(yù)測(cè)結(jié)果的abs-sum為
python實(shí)現(xiàn)
def abs_sum(y_pre,y_tru):
??? y_pre=np.array(y_pre)
??? y_tru=np.array(y_tru)
??? loss=sum(sum(abs(y_pre-y_tru)))
??? return loss
多分類(lèi)算法常見(jiàn)的評(píng)估指標(biāo)如下:
其實(shí)多分類(lèi)的評(píng)價(jià)指標(biāo)的計(jì)算方式與二分類(lèi)完全一樣,只不過(guò)我們計(jì)算的是針對(duì)于每一類(lèi)來(lái)說(shuō)的召回率、精確度、準(zhǔn)確率和 F1分?jǐn)?shù)。
1、混淆矩陣(Confuse Matrix)
(1)若一個(gè)實(shí)例是正類(lèi),并且被預(yù)測(cè)為正類(lèi),即為真正類(lèi)TP(True Positive )
(2)若一個(gè)實(shí)例是正類(lèi),但是被預(yù)測(cè)為負(fù)類(lèi),即為假負(fù)類(lèi)FN(False Negative )
(3)若一個(gè)實(shí)例是負(fù)類(lèi),但是被預(yù)測(cè)為正類(lèi),即為假正類(lèi)FP(False Positive )
(4)若一個(gè)實(shí)例是負(fù)類(lèi),并且被預(yù)測(cè)為負(fù)類(lèi),即為真負(fù)類(lèi)TN(True Negative )
第一個(gè)字母T/F,表示預(yù)測(cè)的正確與否;第二個(gè)字母P/N,表示預(yù)測(cè)的結(jié)果為正例或者負(fù)例。
如TP就表示預(yù)測(cè)對(duì)了,預(yù)測(cè)的結(jié)果是正例,那它的意思就是把正例預(yù)測(cè)為了正例。
2、準(zhǔn)確率(Accuracy)
準(zhǔn)確率是常用的一個(gè)評(píng)價(jià)指標(biāo),但是不適合樣本不均衡的情況,醫(yī)療數(shù)據(jù)大部分都是樣本不均衡數(shù)據(jù)。
3、精確率(Precision)也叫查準(zhǔn)率簡(jiǎn)寫(xiě)為P
精確率(Precision)是針對(duì)預(yù)測(cè)結(jié)果而言的,其含義是在被所有預(yù)測(cè)為正的樣本中實(shí)際為正樣本的概率在被所有預(yù)測(cè)為正的樣本中實(shí)際為正樣本的概率,精確率和準(zhǔn)確率看上去有些類(lèi)似,但是是兩個(gè)完全不同的概念。精確率代表對(duì)正樣本結(jié)果中的預(yù)測(cè)準(zhǔn)確程度,準(zhǔn)確率則代表整體的預(yù)測(cè)準(zhǔn)確程度,包括正樣本和負(fù)樣本。
4、召回率(Recall) 也叫查全率 簡(jiǎn)寫(xiě)為R
召回率(Recall)是針對(duì)原樣本而言的,其含義是在實(shí)際為正的樣本中被預(yù)測(cè)為正樣本的概率。
下面我們通過(guò)一個(gè)簡(jiǎn)單例子來(lái)看看精確率和召回率。假設(shè)一共有10篇文章,里面4篇是你要找的。根據(jù)你的算法模型,你找到了5篇,但實(shí)際上在這5篇之中,只有3篇是你真正要找的。
算法的精確率是3/5=60%,也就是你找的這5篇,有3篇是真正對(duì)的。
算法的召回率是3/4=75%,也就是需要找的4篇文章,你找到了其中三篇。
以精確率還是以召回率作為評(píng)價(jià)指標(biāo),需要根據(jù)具體問(wèn)題而定。
5、宏查準(zhǔn)率(macro-P)
計(jì)算每個(gè)樣本的精確率然后求平均值
6、宏查全率(macro-R)
計(jì)算每個(gè)樣本的召回率然后求平均值
7、宏F1(macro-F1)
與上面的宏不同,微查準(zhǔn)查全,先將多個(gè)混淆矩陣的TP,FP,TN,FN對(duì)應(yīng)位置求平均,然后按照P和R的公式求得micro-P和micro-R,最后根據(jù)micro-P和micro-R求得micro-F1