今天分享的這篇文章,是 IDMer博主在2009年編譯并發(fā)布的,雖然間隔6年之久,但這篇文章仍然影響著很多數(shù)據(jù)挖掘從業(yè)者、愛好者,奉為經(jīng)典。原文標(biāo)題為“Top 10 Data Mining Mistakes”,作者是John F. Elder IV, Ph.D。由IDMer(數(shù)據(jù)挖掘者)編譯。
按照Elder博士的總結(jié),這10大易犯錯誤包括:
0. 缺乏數(shù)據(jù)(Lack Data)
1. 太關(guān)注訓(xùn)練(Focus on Training)
2. 只依賴一項技術(shù)(Rely on One Technique)
3. 提錯了問題(Ask the Wrong Question)
4. 只靠數(shù)據(jù)來說話(Listen (only) to the Data)
5. 使用了未來的信息(Accept Leaks from the Future)
6. 拋棄了不該忽略的案例(Discount Pesky Cases)
7. 輕信預(yù)測(Extrapolate)
8. 試圖回答所有問題(Answer Every Inquiry)
9. 隨便地進(jìn)行抽樣(Sample Casually)
10. 太相信最佳模型(Believe the Best Model)
0. 缺乏數(shù)據(jù)(Lack Data)
對于分類問題或預(yù)估問題來說,常常缺乏準(zhǔn)確標(biāo)注的案例。
例如:
(1)、欺詐偵測(Fraud Detection):在上百萬的交易中,可能只有屈指可數(shù)的欺詐交易,還有很多的欺詐交易沒有被正確標(biāo)注出來,這就需要在建模前花費(fèi)大量人力來修正。
(2)、信用評分(Credit Scoring):需要對潛在的高風(fēng)險客戶進(jìn)行長期跟蹤(比如兩年),從而積累足夠的評分樣本。
1. 太關(guān)注訓(xùn)練(Focus on Training)
IDMer:就象體育訓(xùn)練中越來越注重實(shí)戰(zhàn)訓(xùn)練,因為單純的封閉式訓(xùn)練常常會訓(xùn)練時狀態(tài)神勇,比賽時一塌糊涂。實(shí)際上,只有樣本外數(shù)據(jù)上的模型評分結(jié)果才真正有用!(否則的話,直接用參照表好了!)
例如:
(1)、癌癥檢測(Cancer detection):MD Anderson的醫(yī)生和研究人員(1993)使用神經(jīng)網(wǎng)絡(luò)來進(jìn)行癌癥檢測,驚奇地發(fā)現(xiàn),訓(xùn)練時間越長(從幾天延長至數(shù)周),對訓(xùn)練集的性能改善非常輕微,但在測試集上的性能卻明顯下降。
(2)、機(jī)器學(xué)習(xí)或計算機(jī)科學(xué)研究者常常試圖讓模型在已知數(shù)據(jù)上表現(xiàn)最優(yōu),這樣做的結(jié)果通常會導(dǎo)致過度擬合(overfit)。
解決方法:
解決這個問題的典型方法是重抽樣(Re-Sampling)。重抽樣技術(shù)包括:bootstrap、cross-validation、jackknife、leave-one-out...等等。
2. 只依賴一項技術(shù)(Rely on One Technique)
IDMer:這個錯誤和第10種錯誤有相通之處,請同時參照其解決方法。沒有對比也就沒有所謂的好壞,辯證法的思想在此體現(xiàn)無遺。
“當(dāng)小孩子手拿一把錘子時,整個世界看起來就是一枚釘子。”要想讓工作盡善盡美,就需要一套完整的工具箱。
不要簡單地信賴你用單個方法分析的結(jié)果,至少要和傳統(tǒng)方法(比如線性回歸或線性判別分析)做個比較。
研究結(jié)果:按照《神經(jīng)網(wǎng)絡(luò)》期刊的統(tǒng)計,在過去3年來,只有1/6的文章中做到了上述兩點(diǎn)。也就是說,在獨(dú)立于訓(xùn)練樣本之外的測試集上進(jìn)行了開集測試,并與其它廣泛采用的方法進(jìn)行了對比。
解決方法:
使用一系列好的工具和方法。(每種工具或方法可能最多帶來5%~10%的改進(jìn))。
3. 提錯了問題(Ask the Wrong Question)
IDMer:一般在分類算法中都會給出分類精度作為衡量模型好壞的標(biāo)準(zhǔn),但在實(shí)際項目中我們卻幾乎不看這個指標(biāo)。為什么?因為那不是我們關(guān)注的目標(biāo)。
(1)項目的目標(biāo):一定要鎖定正確的目標(biāo)
例如:
欺詐偵測(關(guān)注的是正例!)(Shannon實(shí)驗室在國際長途電話上的分析):不要試圖在一般的通話中把欺詐和非欺詐行為分類出來,重點(diǎn)應(yīng)放在如何描述正常通話的特征,然后據(jù)此發(fā)現(xiàn)異常通話行為。
(2)模型的目標(biāo):讓計算機(jī)去做你希望它做的事
大多數(shù)研究人員會沉迷于模型的收斂性來盡量降低誤差,這樣讓他們可以獲得數(shù)學(xué)上的美感。但更應(yīng)該讓計算機(jī)做的事情應(yīng)該是如何改善業(yè)務(wù),而不是僅僅側(cè)重模型計算上的精度。
4. 只靠數(shù)據(jù)來說話(Listen (only) to the Data)
IDMer:“讓數(shù)據(jù)說話”沒有錯,關(guān)鍵是還要記得另一句話:兼聽則明,偏聽則暗!如果數(shù)據(jù)+工具就可以解決問題的話,還要人做什么呢?
(1)投機(jī)取巧的數(shù)據(jù):數(shù)據(jù)本身只能幫助分析人員找到什么是顯著的結(jié)果,但它并不能告訴你結(jié)果是對還是錯。
(2)經(jīng)過設(shè)計的實(shí)驗:某些實(shí)驗設(shè)計中摻雜了人為的成分,這樣的實(shí)驗結(jié)果也常常不可信。
5. 使用了未來的信息(Accept Leaks from the Future)
IDMer:看似不可能,卻是實(shí)際中很容易犯的錯誤,特別是你面對成千上萬個變量的時候。認(rèn)真、仔細(xì)、有條理是數(shù)據(jù)挖掘人員的基本要求。
預(yù)報(Forecast)示例:預(yù)報芝加哥銀行在某天的利率,使用神經(jīng)網(wǎng)絡(luò)建模,模型的準(zhǔn)確率達(dá)到95%。但在模型中卻使用了該天的利率作為輸入變量。
金融業(yè)中的預(yù)報示例:使用3日的移動平均來預(yù)報,但卻把移動平均的中點(diǎn)設(shè)在今天。
解決方法:
要仔細(xì)查看那些讓結(jié)果表現(xiàn)得異常好的變量,這些變量有可能是不應(yīng)該使用,或者不應(yīng)該直接使用的。給數(shù)據(jù)加上時間戳,避免被誤用。
6. 拋棄了不該忽略的案例(Discount Pesky Cases)
IDMer:到底是“寧為雞頭,不為鳳尾”,還是“大隱隱于市,小隱隱于野”?不同的人生態(tài)度可以有同樣精彩的人生,不同的數(shù)據(jù)也可能蘊(yùn)含同樣重要的價值。
異常值可能會導(dǎo)致錯誤的結(jié)果(比如價格中的小數(shù)點(diǎn)標(biāo)錯了),但也可能是問題的答案(比如臭氧洞)。所以需要仔細(xì)檢查這些異常。
研究中最讓激動的話語不是“啊哈!”,而是“這就有點(diǎn)奇怪了……”數(shù)據(jù)中的不一致性有可能會是解決問題的線索,深挖下去也許可以解決一個大的業(yè)務(wù)問題。
例如:
在直郵營銷中,在對家庭地址的合并和清洗過程中發(fā)現(xiàn)的數(shù)據(jù)不一致,反而可能是新的營銷機(jī)會。
解決方法:
可視化可以幫助你分析大量的假設(shè)是否成立。
7. 輕信預(yù)測(Extrapolate)
IDMer:依然是辯證法中的觀點(diǎn),事物都是不斷發(fā)展變化的。人們常常在經(jīng)驗不多的時候輕易得出一些結(jié)論。即便發(fā)現(xiàn)了一些反例,人們也不太愿意放棄原先的想法。
維度咒語:在低維度上的直覺,放在高維度空間中,常常是毫無意義的。
解決方法:
進(jìn)化論。沒有正確的結(jié)論,只有越來越準(zhǔn)確的結(jié)論。
8. 試圖回答所有問題(Answer Every Inquiry)
IDMer:有點(diǎn)像我爬山時鼓勵自己的一句話“我不知道什么時候能登上山峰,但我知道爬一步就離終點(diǎn)近一步。”
“不知道”是一種有意義的模型結(jié)果。
模型也許無法100%準(zhǔn)確回答問題,但至少可以幫我們估計出現(xiàn)某種結(jié)果的可能性。
9. 隨便地進(jìn)行抽樣(Sample Casually)
(1)、降低抽樣水平。
例如,MD直郵公司進(jìn)行響應(yīng)預(yù)測分析,但發(fā)現(xiàn)數(shù)據(jù)集中的不響應(yīng)客戶占比太高(總共一百萬直郵客戶,其中超過99%的人未對營銷做出響應(yīng))。于是建模人員做了如下抽樣:把所有響應(yīng)者放入樣本集,然后在所有不響應(yīng)者中進(jìn)行系統(tǒng)抽樣,即每隔10人抽一個放入樣本集,直到樣本集達(dá)到10萬人。但模型居然得出如下規(guī)則:凡是居住在Ketchikan、Wrangell和Ward Cove Alaska的人都會響應(yīng)營銷。這顯然是有問題的結(jié)論。(問題就出在這種抽樣方法上,因為原始數(shù)據(jù)集已經(jīng)按照郵政編碼排序,上面這三個地區(qū)中不響應(yīng)者未能被抽取到樣本集中,故此得出了這種結(jié)論)。
解決方法:“喝前搖一搖!”先打亂原始數(shù)據(jù)集中的順序,從而保證抽樣的隨機(jī)性。
(2)提高抽樣水平。
例如,在信用評分中,因為違約客戶的占比一般都非常低,所以在建模時常常會人為調(diào)高違約客戶的占比(比如把這些違約客戶的權(quán)重提高5倍)。建模中發(fā)現(xiàn),隨著模型越來越復(fù)雜,判別違約客戶的準(zhǔn)確率也越來越高,但對正常客戶的誤判率也隨之升高。(問題出在數(shù)據(jù)集的劃分上。在把原始數(shù)據(jù)集劃分為訓(xùn)練集和測試集時,原始數(shù)據(jù)集中違約客戶的權(quán)重已經(jīng)被提高過了)
解決方法:先進(jìn)行數(shù)據(jù)集劃分,然后再提高訓(xùn)練集中違約客戶的權(quán)重。
10. 太相信最佳模型(Believe the Best Model)
IDMer:還是那句老話-“沒有最好,只有更好!”
可解釋性并不一定總是必要的??雌饋聿⒉煌耆_或者可以解釋的模型,有時也會有用。“最佳”模型中使用的一些變量,會分散人們太多的注意力。(不可解釋性有時也是一個優(yōu)點(diǎn))
一般來說,很多變量看起來彼此都很相似,而最佳模型的結(jié)構(gòu)看上去也千差萬別,無跡可循。但需注意的是,結(jié)構(gòu)上相似并不意味著功能上也相似。
解決方法:
把多個模型集裝起來可能會帶來更好更穩(wěn)定的結(jié)果。