• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于CART的社區(qū)矯正人員危險(xiǎn)性評(píng)估

      2018-09-06 01:54:08郭紅鈺
      關(guān)鍵詞:剪枝決策樹(shù)危險(xiǎn)性

      王 茵,郭紅鈺

      (華北計(jì)算技術(shù)研究所系統(tǒng)八部,北京 100083)

      0 引 言

      自2003年至今,全國(guó)各個(gè)省市都相繼建立了自己的社區(qū)矯正體系。隨著我國(guó)相關(guān)政策的不斷推進(jìn),社區(qū)矯正體系中的社區(qū)矯正人員越來(lái)越多,目前其數(shù)量已經(jīng)達(dá)到百萬(wàn),涉及的案件情況也越來(lái)越復(fù)雜。刑法改革在給予罪犯在相對(duì)寬松的環(huán)境下重新改過(guò)機(jī)會(huì)的同時(shí)[1],也不可避免地給社會(huì)帶來(lái)了更大風(fēng)險(xiǎn),尤其是對(duì)服刑人員所在的社區(qū)居民。

      在當(dāng)前時(shí)代背景下,社區(qū)矯正工作面臨著眾多現(xiàn)實(shí)挑戰(zhàn),其中如何利用現(xiàn)有的相關(guān)技術(shù)來(lái)對(duì)社區(qū)矯正人員的危險(xiǎn)性進(jìn)行評(píng)估,從而為社區(qū)矯正人員監(jiān)管提供有效指導(dǎo)是最具有現(xiàn)實(shí)意義的一個(gè)方面[2]。

      目前國(guó)內(nèi)外針對(duì)罪犯的危險(xiǎn)性評(píng)估有很多理論研究以及實(shí)際案例,例如在美國(guó)新澤西州使用的罪犯智能系統(tǒng)使該地的再犯罪率下降了近30%[3];理論研究則主要是集中在機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘2個(gè)領(lǐng)域的相關(guān)算法,例如聚類方法[4]、決策樹(shù)分析[5]、關(guān)聯(lián)規(guī)則[6]等。但這些研究大多停留在理論層面,沒(méi)有在實(shí)際的業(yè)務(wù)數(shù)據(jù)中實(shí)驗(yàn),因此在對(duì)各類算法進(jìn)行選取時(shí)并不能考慮全面,另外,在社區(qū)矯正的實(shí)際工作中,非必填的數(shù)據(jù)項(xiàng)大多會(huì)出現(xiàn)數(shù)據(jù)缺失,而這些缺失的數(shù)據(jù)項(xiàng)可能會(huì)對(duì)后續(xù)預(yù)測(cè)影響很大。

      針對(duì)以上問(wèn)題,本文將結(jié)合某市局的社區(qū)矯正人員數(shù)據(jù),使用分類回歸樹(shù)(Classification and Regression Trees,CART)算法來(lái)建立社區(qū)矯正人員危險(xiǎn)性的評(píng)估模型并計(jì)算準(zhǔn)確率,并對(duì)數(shù)據(jù)缺失問(wèn)題提出解決辦法。

      1 CART算法概述

      1.1 算法描述

      CART算法是決策樹(shù)算法的一種,既可以用于分類也可以用于回歸。與經(jīng)典的ID3決策樹(shù)生成算法不同,該算法應(yīng)用二分遞歸把當(dāng)前數(shù)據(jù)集分割為2個(gè)子集[7],令生成的每一個(gè)非葉子節(jié)點(diǎn)都有2個(gè)分支,因此最終生成的決策樹(shù)應(yīng)該是二叉樹(shù),這也使每一步進(jìn)行決策只有“是”與“否”2個(gè)選擇。如果存在某個(gè)特征的取值有多個(gè),應(yīng)將數(shù)據(jù)分為2個(gè)部分,下面詳細(xì)介紹基本原理。

      1.1.1 遞歸劃分樣本進(jìn)行建樹(shù)

      設(shè)x1,x2,…,xn代表樣本集中某個(gè)樣本的n種屬性,該樣本的所屬類別用y表示。

      進(jìn)行劃分時(shí),首先在上述屬性中選一個(gè)自變量xi,再選取xi的一個(gè)值vi,vi把這個(gè)n維空間劃分成2個(gè)部分:一部分的點(diǎn)均有xi≤vi,另一部分的點(diǎn)均有xi>vi。對(duì)于離散變量,其屬性值只有2個(gè)取值,等于或不等于該值;然后進(jìn)行遞歸處理,將得到的2部分按前一個(gè)步驟重新選取屬性繼續(xù)劃分,直到將數(shù)據(jù)集劃分完。

      與基于信息增益作為節(jié)點(diǎn)劃分標(biāo)準(zhǔn)的ID3算法不同,CART算法的劃分基于“基尼指數(shù)”(Gini Index),如果假設(shè)一個(gè)數(shù)據(jù)集D,它的純度可用基尼指數(shù)度量為:

      其中,pi表示屬于i類別的概率。直觀來(lái)說(shuō),Gini(D)反映了從數(shù)據(jù)集D中隨機(jī)抽取2個(gè)樣本,其類別標(biāo)記不一致的概率。因此,Gini(D)越小,數(shù)據(jù)集D的純度越高,當(dāng)Gini(D)=0時(shí),所有樣本屬于同類。所以,在候選屬性集合中選擇屬性作為主節(jié)點(diǎn)時(shí),應(yīng)當(dāng)選擇使劃分后Gini指數(shù)最小的屬性作為最優(yōu)劃分屬性。

      下面以少量服刑人員數(shù)據(jù)為例說(shuō)明上述劃分過(guò)程。表1數(shù)據(jù)是從某市法局社區(qū)矯正人員數(shù)據(jù)中選取的部分特征值,其中數(shù)據(jù)屬性有“性別”、“案件類別”、“年齡”,其中“性別”和“案件類別”是離散的取值,“年齡”是連續(xù)的取值,“是否再次犯罪”是分類的結(jié)果。

      表1 服刑人員部分信息表

      按照性別屬性劃分后的Gini指數(shù)計(jì)算見(jiàn)表2。

      表2 性別劃分結(jié)果

      Gini(t1)=1-(3/3)2-(0/3)2=0

      Gini(t2)=1-(4/7)2-(3/7)2=0.4849

      Gini=0.3×0+0.7×0.4898=0.343

      由于“案件類別”有3種取值,按照每種屬性分裂后,Gini指數(shù)的計(jì)算結(jié)果見(jiàn)表3~表5。

      表3 類別劃分結(jié)果1

      Gini(t1)=1-(6/8)2-(2/8)2=0.375

      Gini(t2)=1-(1/2)2-(1/2)2=0.5

      Gini=8/10×0.375+2/10×0.5=0.4

      表4 類別劃分結(jié)果2

      Gini(t1)=1-(3/6)2-(3/6)2=0.5

      Gini(t2)=1-(4/4)2-(0/4)2=0

      Gini=6/10×0.5+2/10×0.5=0.3

      表5 類別劃分結(jié)果3

      Gini(t1)=1-(5/6)2-(1/6)2=0.2778

      Gini(t2)=1-(2/4)2-(2/4)2=0.5

      Gini=6/10×0.2778+4/10×0.5=0.366

      根據(jù)上述計(jì)算結(jié)果,由“盜竊或搶劫”和“販毒”分裂后得到的Gini指數(shù)最小。由于年齡取值是連續(xù)的,所以采用分裂點(diǎn)進(jìn)行分裂,結(jié)果見(jiàn)表6。

      表6 年齡劃分結(jié)果

      根據(jù)表6的計(jì)算結(jié)果,由44.5作為分裂點(diǎn)后得到的Gini指數(shù)最小。

      1.1.2 用驗(yàn)證數(shù)據(jù)進(jìn)行剪枝

      在CART建樹(shù)過(guò)程中,可能存在過(guò)擬合,得到的決策樹(shù)會(huì)降低分類的準(zhǔn)確性,此時(shí)需要進(jìn)行剪枝。在決策樹(shù)中,常用的剪枝策略有預(yù)剪枝和后剪枝2種。CART算法使用的是后剪枝[8](代價(jià)復(fù)雜性剪枝法),考察生成的決策樹(shù)的各個(gè)節(jié)點(diǎn),觀察如果將其替換為葉節(jié)點(diǎn)之后整體的準(zhǔn)確率是否會(huì)提高,如果是則進(jìn)行替換,反之不替換[9]。

      1.2 應(yīng)用CART算法的步驟

      一般來(lái)說(shuō),將機(jī)器學(xué)習(xí)算法應(yīng)用到具體的生產(chǎn)場(chǎng)景中,通常需要遵循以下步驟:

      1)收集數(shù)據(jù)??梢允褂枚喾N方法來(lái)收集數(shù)據(jù),例如:利用網(wǎng)絡(luò)爬蟲(chóng)從網(wǎng)站上抽取數(shù)據(jù)、API中反饋數(shù)據(jù)、從設(shè)備中得到實(shí)時(shí)測(cè)量數(shù)據(jù)。本文直接從某市區(qū)得到服刑人員的基本數(shù)據(jù)(隱藏敏感信息)。

      2)準(zhǔn)備輸入數(shù)據(jù)。得到的數(shù)據(jù)必須確保其數(shù)據(jù)格式符合要求,從而融合算法,方便匹配操作。

      3)分析輸入數(shù)據(jù)。人工分析數(shù)據(jù),觀察是否存在異常值或空值等。這一步的主要作用是確保數(shù)據(jù)集中沒(méi)有垃圾數(shù)據(jù),本文中使用實(shí)際數(shù)據(jù),可直接跳過(guò)這一步。

      4)訓(xùn)練算法。將前文中得到的格式化數(shù)據(jù)輸入到模型中抽取得到知識(shí)或信息,并存儲(chǔ)為計(jì)算機(jī)可以處理的格式,方便后續(xù)步驟使用。

      5)測(cè)試算法。為了評(píng)估算法的效果,對(duì)算法工作效率進(jìn)行測(cè)試。如果測(cè)試結(jié)果沒(méi)有達(dá)到預(yù)期的目標(biāo),則返回修改并重新測(cè)試。

      6)使用算法。將該算法用于執(zhí)行實(shí)際學(xué)習(xí)任務(wù),在實(shí)際環(huán)境中對(duì)前面的步驟進(jìn)行檢驗(yàn),觀察是否可以正常工作。

      2 基于CART建立危險(xiǎn)性評(píng)估模型

      利用社區(qū)矯正人員的基礎(chǔ)數(shù)據(jù)得到其危險(xiǎn)性評(píng)估結(jié)果,是社區(qū)矯正工作中最期望解決的問(wèn)題,它能夠有效預(yù)防和減少服刑人員對(duì)社會(huì)造成二次危害。本章利用某市社區(qū)矯正人員的基礎(chǔ)數(shù)據(jù),基于CART算法建立危險(xiǎn)性評(píng)估模型。

      2.1 特征選擇和數(shù)據(jù)預(yù)處理

      本文使用的數(shù)據(jù)集是某市社區(qū)矯正人員的數(shù)據(jù)(不包含敏感信息),包括特征集合和分類標(biāo)簽2部分,數(shù)據(jù)量為3500條。

      2.1.1 特征集合

      特征集合中包含服刑人員基礎(chǔ)信息中的18項(xiàng)非空數(shù)據(jù)項(xiàng),見(jiàn)表7。

      表7 數(shù)據(jù)項(xiàng)

      2.1.2 分類標(biāo)簽

      分類的依據(jù)是服刑人員信息表中的“危險(xiǎn)性評(píng)估”一項(xiàng),有2種取值,見(jiàn)表8。

      表8 類別項(xiàng)

      從某市司法局得到的社區(qū)矯正人員初始數(shù)據(jù)共4500條,去除臟數(shù)據(jù)、無(wú)效數(shù)據(jù)、測(cè)試數(shù)據(jù)等,得到的最終有效數(shù)據(jù)為3300條。

      2.2 遞歸劃分建樹(shù)和剪枝

      根據(jù)2.1節(jié)中的數(shù)據(jù)集,進(jìn)行CART算法實(shí)現(xiàn)和評(píng)估模型的建立。樣本集中有18個(gè)特征屬性和一個(gè)結(jié)果屬性。首先使用sklearn[10]來(lái)調(diào)用CART算法對(duì)數(shù)據(jù)集建模:

      Step1加載數(shù)據(jù)。

      CART建模過(guò)程1

      data=pd.read_csv(′data.txt′, header=None)

      x=np.array(data.loc[:,1:18],dtype=np.int64)

      y=np.array(data.loc[:,0],dtype=np.int64)

      #訓(xùn)練數(shù)據(jù)占比為0.6,測(cè)試數(shù)據(jù)占比為0.4

      X_train,X_test,Y_train,Y_test=train_test_split(x,y,test_size=0.4)

      Step2訓(xùn)練階段。

      CART建模過(guò)程2

      startTime=time.time()

      clf=tree.DecisionTreeClassifier(random_state=42)

      clf=clf.fit(X_train,Y_train)

      print(′Training Completed.Took %f s.′%(time.time()-startTime))

      Step3測(cè)試階段。

      CART建模過(guò)程3

      Y_predict=clf.predict(X_test)

      matchCount=0

      for i in range(len(Y_predict)):

      if Y_predict[i]==Y_test[i]:

      matchCount+=1

      accuracy=float(float(matchCount)/float(len(Y_predict)))

      模型建立好后,調(diào)用GraphViz實(shí)現(xiàn)決策樹(shù)可視化。

      決策可視化過(guò)程:

      #18個(gè)特征值對(duì)應(yīng)的節(jié)點(diǎn)名稱

      feature_name=[′JZLB′,′XB′,′SFYJSB′,′SFYCRB′,′WHCD′,′HYZK′,′PQZY′,′SFSWRY′,′SFYQK′,′SFLF′,′FZLX′,′FJX′,′SFWD′,′SFWS′,′SFYSS′,′SFBXGJZL′,′SFSYDZDWGL′,′SFTG′])

      #分類結(jié)果(2類)

      target_name=[′Class1′,′Class2′]

      dot_data=StringIO()

      tree.export_graphviz(clf,out_file=dot_data,feature_names=feature_name,class_names=target_name,filled=True,rounded=True,special_characters=True)

      graph=pydotplus.graph_from_dot_data(dot_data.getvalue())

      2.3 參數(shù)調(diào)整和結(jié)果分析

      圖1 實(shí)驗(yàn)準(zhǔn)確率(訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)占比分別為0.6和0.4)

      在訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)占比分別為0.6和0.4時(shí),實(shí)驗(yàn)的準(zhǔn)確率變化情況見(jiàn)圖1,模型的準(zhǔn)確率基本維持在85%~98%,訓(xùn)練時(shí)間在10 ms內(nèi)。

      不斷調(diào)整訓(xùn)練數(shù)據(jù)和和測(cè)試數(shù)據(jù)占比,每次調(diào)整進(jìn)行10次實(shí)驗(yàn),以平均值作為該占比下的準(zhǔn)確率,實(shí)驗(yàn)結(jié)果見(jiàn)圖2,訓(xùn)練時(shí)間在10 ms內(nèi)。

      圖2 不同參數(shù)平均準(zhǔn)確率

      由以上實(shí)驗(yàn)結(jié)果可知,當(dāng)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)占比分別為0.6和0.4時(shí),模型的準(zhǔn)確率最高,得到剪枝以后的決策樹(shù)可視化結(jié)果見(jiàn)圖3,決策樹(shù)中包含分支的特征以及對(duì)應(yīng)數(shù)據(jù)子集的基尼系數(shù)和分類結(jié)果,結(jié)果表明,剪枝后只需6個(gè)特征值(PQZY、XB、HYZK、FZLX、WHCD、SFYJSB)即可判斷屬于哪一種類別。

      3 社區(qū)矯正中數(shù)據(jù)缺失分析

      本文中使用的數(shù)據(jù)集均為非空數(shù)據(jù)項(xiàng),但是在社區(qū)矯正的實(shí)際工作中,由于各種原因,并不是所有數(shù)據(jù)項(xiàng)都為非空,此時(shí)若想利用某些算法來(lái)預(yù)估社區(qū)矯正人員的危險(xiǎn)性就需要對(duì)數(shù)據(jù)集進(jìn)行相關(guān)處理,目前對(duì)于數(shù)據(jù)缺失的處理辦法有很多[11],主要分為3大類:刪除、補(bǔ)全和忽略。

      3.1 造成數(shù)據(jù)缺失的原因

      在實(shí)際使用的數(shù)據(jù)庫(kù)中,數(shù)據(jù)缺失是不可避免且經(jīng)常發(fā)生的,造成這種現(xiàn)象的原因主要有以下幾種:

      1)有些信息暫時(shí)無(wú)法獲取。例如在記錄病人臨床檢驗(yàn)結(jié)果的數(shù)據(jù)庫(kù)中,由于所有檢查結(jié)果不是都能在給定時(shí)間內(nèi)給出,所以會(huì)導(dǎo)致一部分屬性值缺失。

      2)有些信息是被遺漏的。例如填寫(xiě)數(shù)據(jù)時(shí)由于人為原因造成的漏填或錯(cuò)填,或是設(shè)備故障導(dǎo)致的數(shù)據(jù)采集異常等。

      3)有些對(duì)象的某個(gè)或某些屬性不可用。例如未婚者配偶的姓名或一個(gè)兒童的固定收入情況等。

      4)獲取這些信息的代價(jià)太大。

      5)數(shù)據(jù)在獲取之前就需要快速?zèng)Q策,對(duì)性能有較高的實(shí)時(shí)要求。

      圖3 剪枝后的決策樹(shù)

      3.2 數(shù)據(jù)缺失處理的一般方法

      1)刪除元組。

      刪除含有遺漏信息的元組(對(duì)象),從而得到完備的信息表。該方法適用于元組中有多個(gè)缺失屬性或有缺失屬性的數(shù)據(jù)占所有數(shù)據(jù)比例很小的情況。此方法簡(jiǎn)單易行[12],但也有一定的局限性,由于該方法會(huì)丟失一些歷史信息,造成資源的浪費(fèi),從而失去隱藏在這些數(shù)據(jù)中的信息,所以如果缺失數(shù)據(jù)占比較大時(shí),使用這種方法可能會(huì)得到錯(cuò)誤的結(jié)論。

      2)數(shù)據(jù)補(bǔ)齊。

      使用某個(gè)值填充缺失值,從而得到完整信息表。通常情況下使用平均值、中值、通過(guò)某種算法計(jì)算出可能值填充。

      3)不處理。

      直接使用包含控制的數(shù)據(jù)集進(jìn)行學(xué)習(xí)或數(shù)據(jù)挖掘,通常包括貝葉斯方法和人工神經(jīng)網(wǎng)絡(luò)等。其中,貝葉斯方法[13]會(huì)建立貝葉斯網(wǎng)絡(luò),用來(lái)表示各個(gè)變量之間的連接關(guān)系,從而發(fā)現(xiàn)數(shù)據(jù)之間潛在的關(guān)系。在貝葉斯網(wǎng)絡(luò)中[14],變量用節(jié)點(diǎn)表示,變量之間的依賴關(guān)系用有向邊表示。貝葉斯方法適合對(duì)變量之間的依賴關(guān)系比較清楚的情況,這種方法的復(fù)雜度較高,相關(guān)參數(shù)也多,如果直接從數(shù)據(jù)中學(xué)習(xí)貝葉斯網(wǎng)結(jié)構(gòu),會(huì)影響預(yù)測(cè)的精度。

      3.3 評(píng)估模型中數(shù)據(jù)缺失的處理

      在建立評(píng)估模型時(shí)使用了18個(gè)社區(qū)矯正人員的特征,且都是非空數(shù)據(jù),現(xiàn)考慮增加表屬性值,見(jiàn)表9。

      表9 增加的屬性

      下面借助pandas中的info()觀察具體特征的情況,得到的特征信息見(jiàn)表10。

      查看數(shù)據(jù)集中的特征情況:

      import pandas as pd

      #讀取user_info_train.csv表

      fxry_info=pd.read_csv(′fxry_info_train.csv′)

      #info()查看每個(gè)特征的數(shù)據(jù)量情況

      print fxry_info.info()

      表10 特征信息

      1)缺失值較多的特征處理。

      一般如果某特征的缺失量過(guò)大,會(huì)直接將該特征舍棄掉,否則會(huì)帶入較大誤差,對(duì)結(jié)果造成不良影響。在表10中“GZQX”特征值由于缺失過(guò)多,為避免引入過(guò)多的錯(cuò)誤信息,可以直接舍棄該特征值。

      2)缺失值較少的特征處理。

      當(dāng)特征缺失值在15%以內(nèi),則認(rèn)為是是缺失值較少,例如表10中的“HXKYQX”特征。缺失值較少的特征處理方法:1)將NULL值直接作為一個(gè)特征;2)用均值填充,如果是訓(xùn)練集中有缺失值,而測(cè)試集中沒(méi)有缺失值,此時(shí)最合適的處理方法是對(duì)缺失值取條件均值或條件中值;3)用上下數(shù)據(jù)進(jìn)行填充;4)插值法填充,插值法就是通過(guò)兩點(diǎn)估計(jì)中間點(diǎn);5)用算法擬合進(jìn)行填充,例如可用隨機(jī)森林算法,利用數(shù)據(jù)表中某些沒(méi)有缺失的特征屬性來(lái)預(yù)測(cè)某特征屬性的缺失值。

      4 結(jié)束語(yǔ)

      針對(duì)如何利用機(jī)器學(xué)習(xí)算法對(duì)社區(qū)矯正人員危險(xiǎn)性進(jìn)行評(píng)估一直以來(lái)都停留在理論研究階段。由于社區(qū)矯正工作的特殊性,服刑人員的數(shù)據(jù)存在很多缺失情況,這對(duì)評(píng)估模型的建立起到很大的阻礙,現(xiàn)階段并沒(méi)有找到可實(shí)踐的方法。為了解決上述問(wèn)題,本文首先基于CART算法利用某市的3000多條數(shù)據(jù)建立了針對(duì)社區(qū)矯正人員數(shù)據(jù)集的危險(xiǎn)性評(píng)估模型,經(jīng)過(guò)多次實(shí)驗(yàn),準(zhǔn)確率在85%~90%之間。此外,針對(duì)社區(qū)矯正人員信息的數(shù)據(jù)缺失情況,本文結(jié)合目前可用的數(shù)據(jù)缺失處理方法進(jìn)行分析并提出可行的處理方法。

      猜你喜歡
      剪枝決策樹(shù)危險(xiǎn)性
      人到晚年宜“剪枝”
      O-3-氯-2-丙烯基羥胺熱危險(xiǎn)性及其淬滅研究
      危險(xiǎn)性感
      輸氣站場(chǎng)危險(xiǎn)性分析
      基于YOLOv4-Tiny模型剪枝算法
      基于AHP對(duì)電站鍋爐進(jìn)行危險(xiǎn)性分析
      一種針對(duì)不均衡數(shù)據(jù)集的SVM決策樹(shù)算法
      決策樹(shù)和隨機(jī)森林方法在管理決策中的應(yīng)用
      電子制作(2018年16期)2018-09-26 03:27:06
      剪枝
      基于決策樹(shù)的出租車乘客出行目的識(shí)別
      卓资县| 图木舒克市| 新余市| 卓资县| 民和| 崇礼县| 蒙城县| 昭通市| 建瓯市| 湖北省| 泉州市| 微山县| 莒南县| 河南省| 日照市| 无棣县| 科尔| 三原县| 博白县| 兴山县| 永定县| 桐庐县| 闻喜县| 连山| 丹寨县| 南丹县| 寿光市| 盘锦市| 汉阴县| 和硕县| 奉化市| 水富县| 县级市| 永德县| 关岭| 防城港市| 安庆市| 钟祥市| 胶南市| 紫阳县| 长沙市|