亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CART的社區(qū)矯正人員危險性評估

        2018-09-06 01:54:08郭紅鈺
        計算機與現(xiàn)代化 2018年8期
        關(guān)鍵詞:剪枝決策樹危險性

        王 茵,郭紅鈺

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

        0 引 言

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

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

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

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

        1 CART算法概述

        1.1 算法描述

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

        1.1.1 遞歸劃分樣本進行建樹

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

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

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

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

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

        表1 服刑人員部分信息表

        按照性別屬性劃分后的Gini指數(shù)計算見表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ù)的計算結(jié)果見表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ù)上述計算結(jié)果,由“盜竊或搶劫”和“販毒”分裂后得到的Gini指數(shù)最小。由于年齡取值是連續(xù)的,所以采用分裂點進行分裂,結(jié)果見表6。

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

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

        1.1.2 用驗證數(shù)據(jù)進行剪枝

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

        1.2 應用CART算法的步驟

        一般來說,將機器學習算法應用到具體的生產(chǎn)場景中,通常需要遵循以下步驟:

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

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

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

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

        5)測試算法。為了評估算法的效果,對算法工作效率進行測試。如果測試結(jié)果沒有達到預期的目標,則返回修改并重新測試。

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

        2 基于CART建立危險性評估模型

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

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

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

        2.1.1 特征集合

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

        表7 數(shù)據(jù)項

        2.1.2 分類標簽

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

        表8 類別項

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

        2.2 遞歸劃分建樹和剪枝

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

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

        CART建模過程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)

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

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

        Step2訓練階段。

        CART建模過程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測試階段。

        CART建模過程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實現(xiàn)決策樹可視化。

        決策可視化過程:

        #18個特征值對應的節(jié)點名稱

        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ù)據(jù)和測試數(shù)據(jù)占比分別為0.6和0.4)

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

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

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

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

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

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

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

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

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

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

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

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

        5)數(shù)據(jù)在獲取之前就需要快速決策,對性能有較高的實時要求。

        圖3 剪枝后的決策樹

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

        1)刪除元組。

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

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

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

        3)不處理。

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

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

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

        表9 增加的屬性

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

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

        import pandas as pd

        #讀取user_info_train.csv表

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

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

        print fxry_info.info()

        表10 特征信息

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

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

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

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

        4 結(jié)束語

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

        猜你喜歡
        剪枝決策樹危險性
        人到晚年宜“剪枝”
        O-3-氯-2-丙烯基羥胺熱危險性及其淬滅研究
        危險性感
        輸氣站場危險性分析
        基于YOLOv4-Tiny模型剪枝算法
        基于AHP對電站鍋爐進行危險性分析
        一種針對不均衡數(shù)據(jù)集的SVM決策樹算法
        決策樹和隨機森林方法在管理決策中的應用
        電子制作(2018年16期)2018-09-26 03:27:06
        剪枝
        天津詩人(2017年2期)2017-03-16 03:09:39
        基于決策樹的出租車乘客出行目的識別
        日本在线综合一区二区| 国产真人无遮挡作爱免费视频| 97色偷偷色噜噜狠狠爱网站97| 精品国产97av一区二区三区| 亚洲日本精品国产一区二区三区| 少妇被粗大的猛烈进出免费视频 | 青春草在线视频观看| 日本爽快片18禁免费看| 综合无码综合网站| 亚洲黄色大片在线观看| 欧美又大粗又爽又黄大片视频| 国产精品夜间视频香蕉| 国产成人户外露出视频在线| 国产喷白浆精品一区二区豆腐 | 国产亚洲精品在线视频| 亚洲av日韩综合一区二区三区| 国产欧美日韩视频一区二区三区| 日本丰满少妇高潮呻吟| 性色av色香蕉一区二区蜜桃| 亚洲图片日本视频免费| 成人欧美一区二区三区白人| 黑人免费一区二区三区| 日本中文字幕有码网站| 亚洲精品午夜无码电影网| 高清无码精品一区二区三区| 亚洲国产综合久久精品| 男人的天堂av高清在线| 欧美激情a∨在线视频播放| 色婷婷久久免费网站| 九九精品国产亚洲av日韩| 日韩av无码精品一二三区| 久久麻豆精品国产99国产精| 亚洲天堂免费成人av| 久久天天躁狠狠躁夜夜av浪潮| 亚洲乱码av中文一区二区| 一区二区三区免费视频网站| av在线高清观看亚洲| 真人做爰片免费观看播放| 亚洲精品一二区| 日本人妻高清免费v片| 久久精品国产亚洲av天美|