項(xiàng)目目標(biāo)是通過(guò)數(shù)據(jù)找出盜用公司資金的嫌疑人;通過(guò)機(jī)器學(xué)習(xí)來(lái)預(yù)測(cè)未標(biāo)記的人是否是嫌疑人其兴;
2000年美國(guó)最大十家公司之一的安然公司在2002年突然破產(chǎn)莺戒,其中公司內(nèi)存在嚴(yán)重的欺詐行為,數(shù)據(jù)集就是安然公司高管的郵件和詳細(xì)財(cái)務(wù)的數(shù)據(jù)婉支,可以根據(jù)未標(biāo)記人跟嫌疑人的郵件往來(lái)信息和財(cái)務(wù)數(shù)據(jù)來(lái)預(yù)測(cè)一個(gè)人是否是嫌疑人秉颗,其中得到財(cái)務(wù)最大的人就很有可能是嫌疑人痢毒,跟嫌疑人交流相對(duì)密集的人也可能是嫌疑人。
數(shù)據(jù)集共有146個(gè)人的郵件和財(cái)務(wù)信息蚕甥,其7個(gè)郵件信息哪替,13個(gè)財(cái)務(wù)信息,其中18個(gè)已知的嫌疑人和128個(gè)非嫌疑人菇怀,數(shù)據(jù)不均衡凭舶;
異常值:’LOCKHART EUGENE E’信息全為nan沒(méi)有價(jià)值刪除掉,TOTAL和TRAVEL AGENCY IN THE PARK可能是拼寫(xiě)錯(cuò)誤刪除掉爱沟,其余的nan值設(shè)置成0库快;email_address,loan_advances這兩個(gè)特征不是數(shù)值或布爾型的數(shù)量太多了钥顽,沒(méi)有價(jià)值刪除掉。
這里因?yàn)閿?shù)據(jù)不均衡所以使用Precision(精確率)和Recall(召回率)來(lái)衡量效果靠汁;
Precision(精確率)是計(jì)算對(duì)是"正確被檢索的item"占所有“實(shí)際被檢索到的item”的比列
在這里就是(poi的人被檢索為poi的人數(shù))/(檢索到的poi的總數(shù))
Recall(召回率)"正確被檢索的item"占所有"應(yīng)該被檢索到的item"的比例
這里就是(正確被檢索為poi的人數(shù))/(實(shí)際的poi人數(shù)=18)
最終使用[other','from_this_person_to_poi''expenses','exercised_stock_options']這組特征蜂大,通過(guò)交叉驗(yàn)證StratifiedShuffleSplit和feature_importances_從兩個(gè)特征數(shù)量試到十個(gè)特征數(shù)量發(fā)現(xiàn)4個(gè)特征數(shù)量表現(xiàn)最好,
新增加bns和poi_messages蝶怔,bns特征即salary和bonus之和通過(guò)這個(gè)特征可以避免遺漏salary與bonus之和很大而其中一個(gè)值很小的情況奶浦,poi_messages及(from_poi_to_this_person/from_messages)通過(guò)這個(gè)特征可以知道那些人跟poi 郵件交往更多;
貝葉斯和決策樹(shù)對(duì)特征縮放不敏感但是用到的SVM算法踢星,統(tǒng)一縮放特征澳叉;
用feature_importances_查看特征的重要性'other'得分0.057,from_this_person_to_poi得分0.036沐悦,expenses得分0.071成洗,exercised_stock_options得分0.0633;用交叉驗(yàn)證和feature_importances_方法跑了10次分別選出了在3藏否、4瓶殃、5個(gè)特征數(shù)中得分最高的一組特征:
3個(gè)特征['exercised_stock_options', 'deferred_income', 'poi_messages']得分Precision=0.45, Recall=0.42,
4個(gè)特征[other', 'from_this_person_to_poi'; 'expenses', 'exercised_stock_options']得分Precision=0.52副签,Recall=0.48遥椿;
5個(gè)特征['expenses', 'total_stock_value', 'bns', 'other', 'exercised_stock_options']得分Precision=0.41基矮,Recall=0.42;
還有一個(gè)重復(fù)出現(xiàn)在這里個(gè)高得分特征集中的特征集['exercised_stock_options', 'other', 'expenses']得分Precision=0.43冠场,Recall=0.42家浇;
綜合以上最終選用四個(gè)特征的特征集得到
- Precision=0.52,Recall=0.48
因?yàn)镚ridSearchCV默認(rèn)使用的StratifedKFold的交叉驗(yàn)證方式碴裙,但是測(cè)試時(shí)使用的是StratifiedShuffleSplit方式钢悲,所以放棄使用GridSearchCV改為手動(dòng)調(diào)整參數(shù)。調(diào)整max_depth-初始的樹(shù)的深度青团,更好擬合數(shù)據(jù)譬巫。
最終使用了決策樹(shù)算法,還嘗試貝葉斯算法督笆,貝葉斯算法Precision和Recall值差距較大芦昔,決策樹(shù)算法Precision和Recall差距較小
用同一特征[other', 'from_this_person_to_poi'; 'expenses', 'exercised_stock_options']決策樹(shù)得分Precision=0.52娃肿,Recall=0.48咕缎;貝葉斯得分Precision=0.48,Recall=0.19料扰,這一組特征貝葉斯的精確率和召回率明顯低于決策樹(shù)特別是召回率還不到0.2說(shuō)明這一組特征用貝葉斯正確分類到的poi很低凭豪。
貝葉斯算法:選出3-7個(gè)特征集的最佳特征和一個(gè)特征多次出現(xiàn)在這幾個(gè)特征集里面的額特征集,最后得出6個(gè)特征集效果最好Precision=0.48晒杈,Recall=0.41嫂伞,特征為['poi', 'exercised_stock_options', 'bns', 'long_term_incentive', 'poi_messages', 'salary', 'bonus', 'deferred_income']
最終選擇了決策樹(shù)算法4個(gè)特征集為 ['poi', 'other', 'from_this_person_to_poi', 'expenses', 'exercised_stock_options']
Precision=0.52,Recall=0.48
在決策樹(shù)上最佳特征集中加入新特征bns,看看Precision和Recall是不是比原來(lái)高拯钻,加入新特征后Precision=0.40帖努,Recall=0.38,所以這個(gè)特征沒(méi)有選好粪般,不用在最終特征中拼余,
優(yōu)化分類器的性能,使分類器能夠更好地?cái)M合數(shù)據(jù)亩歹,不調(diào)整參數(shù)分類起不能更好的擬合數(shù)據(jù)匙监;調(diào)整的方式在一個(gè)參數(shù)的范圍內(nèi)循環(huán)遍歷選擇最佳參數(shù)。
最終選擇的是決策樹(shù)分類器調(diào)整了criterion參數(shù)小作,選擇用‘gini’代表基尼系數(shù)
max_depth表示決策樹(shù)最大的深度設(shè)置成9 亭姥,如果不調(diào)試max_depth數(shù)據(jù)擬合不太好。
項(xiàng)目用驗(yàn)證方法評(píng)估分類器的性能避免過(guò)擬合躲惰,數(shù)據(jù)分為訓(xùn)練集和測(cè)試集端三,用交叉驗(yàn)證驗(yàn)證我的分析
參考資料:
Udacity數(shù)據(jù)分析進(jìn)階P5項(xiàng)目
Air DU分享gitHhub項(xiàng)目
安然事件的概括