特征工程在實際業(yè)務(wù)中的應(yīng)用!
知乎|https://www.zhihu.com/people/xu-xiu-jian-33
導(dǎo)讀:大概知道特征工程,但是不清楚特征工程在實際業(yè)務(wù)中怎樣應(yīng)用,怎么和業(yè)務(wù)知識結(jié)合?本文將結(jié)合作者實際經(jīng)歷嘗試回答。
首先明確一下問題,“特征工程在實際業(yè)務(wù)中的應(yīng)用”,也就是領(lǐng)域業(yè)務(wù)知識和機(jī)器學(xué)習(xí)建模的相互結(jié)合。下面會對特征工程簡單介紹,并且用自己工作中實際參與的項目給大家分享在銀行貸款申請反欺詐場景&零售線上APP推薦場景的機(jī)器學(xué)習(xí)建模里,業(yè)務(wù)知識是如何幫助特征工程的。
01 簡單介紹特征工程是什么?
特征工程是工業(yè)界建模中最最最重要的一個模塊。模型效果的好壞,一部分是由數(shù)據(jù)質(zhì)量決定的,另一部分是由特征工程決定的,大家使用的算法有時候都是一樣的。
什么是特征工程?比如金融信貸申請反欺詐場景下,當(dāng)一個新的用戶來申請貸款,我們?nèi)绾卧u估一個用戶是欺詐用戶還是正常用戶,那么就需要找到這二者在哪些特征上表現(xiàn)存在差異,通過這些特征來進(jìn)行區(qū)分。尋找基本特征、構(gòu)建組合特征來有效地區(qū)分不同label的樣本,這個就是特征工程。
02 業(yè)務(wù)知識如何幫助特征工程?
幾乎所有工業(yè)界的建模,數(shù)據(jù)科學(xué)家都會去請教一下業(yè)務(wù)專家。除非是特別資深的數(shù)據(jù)科學(xué)家,在該場景下建模經(jīng)驗十分豐富,對業(yè)務(wù)很了解。不然,數(shù)學(xué)科學(xué)家一般都會去請教對于該場景熟悉的業(yè)務(wù)專家,有他們的輸入對建模會有很大的幫助。
比如我們給銀行做貸款申請反欺詐項目,我們會對對方的風(fēng)控人員進(jìn)行訪談。了解他們在沒有反欺詐模型,人工審核時是通過哪些特征來區(qū)分欺詐用戶和正常用戶的。我們給商超做線上推薦項目,我們會訪談對方的運營人員,在沒有推薦模型時他們?yōu)槊總€門店不同時間段設(shè)置推薦商品時是依據(jù)什么樣的原則。專家懂的東西,業(yè)內(nèi)我們一般叫做 “專家規(guī)則” 。
為什么要去了解業(yè)務(wù)知識?
業(yè)務(wù)專家的輸入,可以幫數(shù)學(xué)科學(xué)家快速做一層特征篩選和特征組合工作。比如銀行貸款申請反欺詐場景下,用戶的基礎(chǔ)特征、征信報告特征加上資產(chǎn)等特征,加起來好幾百個特征。很多數(shù)學(xué)科學(xué)家第一次接觸征信報告,征信報告都看不懂,無法理解特征字段意義。這時候業(yè)務(wù)專家就會做輸入,哪些特征上欺詐客戶和正常客戶表現(xiàn)差異很大,哪些特征組合在一起看比較有效。
業(yè)務(wù)專家的輸入,降低了建模試錯成本。也一定程度上保證了模型效果的下限。
當(dāng)沒有業(yè)務(wù)輸入的時候,很多時候數(shù)據(jù)科學(xué)家只能通過訓(xùn)練集上效果的表現(xiàn)來判斷特征有效性,有時候為了模型效果會加入很多特征進(jìn)去,導(dǎo)致訓(xùn)練集上效果還不錯,測試集上可能效果就一般,實際上線后模型效果可能會更差,這就是模型出現(xiàn)了過擬合。這兩條原因中,第一條是最主要原因。
03 實例介紹
下面給大家分享一些實際工作中專家規(guī)則如何映射到特征工程上。
3.1 銀行貸款申請反欺詐場景
場景說明: 用戶來銀行申請貸款,數(shù)據(jù)科學(xué)家根據(jù)用戶申請信息、征信數(shù)據(jù)等等,構(gòu)建一個反欺詐信用評分模型。分?jǐn)?shù)取值在【0,100】之間,100分代表用戶欺詐程度極高,0分代表用戶欺詐程度極低,為每一個客戶進(jìn)行信用評分。
使用模型: LR模型;
專家規(guī)則:專家規(guī)則有很多,我列舉幾個常見且易懂的規(guī)則。
信息是否一致: 銀行風(fēng)控人員在審核貸款申請時,特別關(guān)注用戶的申請信息和央行征信報告上的數(shù)據(jù)是否一致,比如申請表上寫的離異,但是征信報告上卻是已婚。申請表上寫的是A公司,征信報告上卻是B公司。如果出現(xiàn)此類情況,說明用戶存在隱瞞真實信息的可能; (不了解征信報告的讀者可以看看這篇,講的還算清楚 https://zhuanlan.zhihu.com/p/91911632;想了解央行的征信報告和芝麻信用等區(qū)別的可以看這篇文章:https://zhuanlan.zhihu.com/p/22280599) 不同時間段內(nèi)的還款行為: 做過金融行業(yè)信貸風(fēng)控審批的肯定都知道一條專家規(guī)則 “半年內(nèi)不能連三累六” ,這句話的意思是說用戶在半年內(nèi)不能有六次的貸款逾期,且不能有連續(xù)三個月貸款逾期不還。稍微解釋一下這條規(guī)則,可能部分讀者覺得半年內(nèi)貸款逾期六次也太夸張了,實際上滿多用戶不注意還款時間,加上很多小企業(yè)主有很多貸款信用卡等,還款晚了一兩天很正常,所以半年內(nèi)有個2,3次逾期還蠻正常的,但是6次就超過銀行風(fēng)控的底線了。
基本信息: 用戶的年齡、學(xué)歷、籍貫等等都會綜合考慮;
專家規(guī)則轉(zhuǎn)化為特征工程
關(guān)鍵的一步來了,如何將專家規(guī)則轉(zhuǎn)化為特征工程?
信息是否一致: 轉(zhuǎn)化為沖突類特征,模型中會將申請信息的很多關(guān)鍵信息與征信報告中的信息進(jìn)行比對;
基本信息:轉(zhuǎn)化為基本特征,同時在此之上我們會衍生很多復(fù)合類特征;
不同時間段內(nèi)的還款行為: 轉(zhuǎn)化為聚合特征,按照時間來分桶。將用戶的還款行為和時間組合在一起,模型中我們可能會按照近1個月、3個月、6個月、12個月、24個月來分桶。其實不僅是將用戶的還款行為來按照時間分桶,我們還會將用戶的歷史負(fù)債行為、申請貸款記錄等等,按照時間來分桶,只是有的可能是6個桶,有的可能是12個桶等等。
3.2 零售線上移動端購物車推薦
場景說明: 用戶在生鮮電商APP上如叮咚買菜、盒馬生鮮,購買相關(guān)生鮮商品。購物車的下方,會有“經(jīng)常一起買“欄位,根據(jù)用戶已經(jīng)加購的商品為用戶推薦其他商品。數(shù)據(jù)科學(xué)家構(gòu)建一個推薦模型,為用戶千人千面地推薦相應(yīng)的商品。傳統(tǒng)的零售運營,都是后臺運營系統(tǒng)根據(jù)門店手動配置的,定位在這個門店的用戶,不管購物車加購什么商品,最后“經(jīng)常一起買”欄位展示的商品都是完全一樣的。
使用模型: 協(xié)同過濾算法+LR模型
專家規(guī)則
不同季節(jié)不同門店推薦不同的商品: 電商運營會根據(jù)不同季節(jié)以及門店所處地域來配置商品。比如春節(jié)快到了,就會配置“春聯(lián)”、“餃子皮”、“酵母粉”等。川渝地域就會配置“火鍋底料”等;
推薦熱銷的商品:有時候會配置一些這個門店熱銷的商品,比如該門店最近”特侖蘇“賣的特別好,就會統(tǒng)一為用戶推薦“特侖蘇“。
專家規(guī)則轉(zhuǎn)化為特征工程
在零售推薦場景下,專家規(guī)則起到的作用就遠(yuǎn)遠(yuǎn)沒有貸款申請反欺詐領(lǐng)域大了。不是說規(guī)則不重要,而是說該場景比較容易理解,那些專家規(guī)則數(shù)據(jù)科學(xué)家也比較容易想到。
不同季節(jié)不同門店推薦不同的商品: 轉(zhuǎn)化為“門店畫像的時窗統(tǒng)計特征”,數(shù)據(jù)科學(xué)家按照門店維度統(tǒng)計不同歷史時窗內(nèi)(如近3、7、30天)商品的銷售量、銷售額;門店維度不同歷史時窗內(nèi)(如近3、7、30天)售出商品品類、價格的聚合類衍生特征等等
推薦熱銷的商品: 熱銷商品其實在推薦場景下更多是用在召回策略里面,千人千面的排序策略中,我們會構(gòu)造一個“用戶商品畫像的時窗統(tǒng)計特征”,如統(tǒng)計用戶商品組合維度不同歷史時窗內(nèi)(如近3、7、30天)的購買頻次、價格等。
04 特征重要性
我們一般在做最終項目總結(jié)匯報時,有一頁PPT會專門介紹該模型中Top N重要的特征;

因為很多時候業(yè)務(wù)方都需要我們的模型可解釋,你使用了哪些特征需要和業(yè)務(wù)方解釋,業(yè)務(wù)方會從業(yè)務(wù)層面來判斷你這個模型背后的業(yè)務(wù)邏輯是否合理。尤其是金融領(lǐng)域,模型可解釋是必備的。金融都是和錢、風(fēng)險掛鉤的,如果模型使用的特征在業(yè)務(wù)層面解釋不過去,業(yè)務(wù)方就會質(zhì)疑模型的有效。
05 如果數(shù)據(jù)科學(xué)家對領(lǐng)域內(nèi)業(yè)務(wù)知識完全不懂怎么辦?
不同領(lǐng)域不同場景對領(lǐng)域內(nèi)業(yè)務(wù)知識的了解和最終建模的效果影響程度是不一樣的。
在金融領(lǐng)域,對領(lǐng)域內(nèi)業(yè)務(wù)知識了解就十分重要。之前給銀行做反洗錢領(lǐng)域建模時,反洗錢這個場景普通人接觸的就夠少了,所以沒有業(yè)務(wù)輸入,數(shù)據(jù)科學(xué)家建模就很痛苦,只能不停嘗試各種特征組合。而像零售領(lǐng)域,普通人都可以接觸到,已經(jīng)具備了一定的業(yè)務(wù)知識,所以建模起來就相對簡單一些,但也是領(lǐng)域內(nèi)業(yè)務(wù)知識懂的越多越好。
現(xiàn)在已經(jīng)有AutoML技術(shù)了,完全無任何人工干預(yù),機(jī)器直接自己構(gòu)造特征計算等等。但在工業(yè)界目前AutoML落地還存在很大問題,最大的問題就是模型效果不可保證,很多時候只能做到一個及格分,想進(jìn)一步提升,模型自身無從下手,只能人工干預(yù)。
所以如果你既是業(yè)務(wù)專家,又是建模大師,那你在目前的AI市場將會相當(dāng)?shù)爻韵恪?/p>
整理不易,點贊三連↓
