數據挖掘中最容易犯的幾個錯誤,你知道嗎?

按照Elder博士的總結,這10大易犯錯誤包括:程序員

0. 缺少數據(Lack Data)面試

1. 太關注訓練(Focus on Training)算法

2. 只依賴一項技術(Rely on One Technique)bootstrap

3. 提錯了問題(Ask the Wrong Question)網絡

4. 只靠數據來講話(Listen (only) to the Data)機器學習

5. 使用了將來的信息(Accept Leaks from the Future)分佈式

6. 拋棄了不應忽略的案例(Discount Pesky Cases)工具

7. 輕信預測(Extrapolate)性能

8. 試圖回答全部問題(Answer Every Inquiry)學習

9. 隨便地進行抽樣(Sample Casually)

10. 太相信最佳模型(Believe the Best Model)

數據挖掘中易犯的十大錯誤

詳情以下:

0. 缺少數據(Lack Data)

對於分類問題或預估問題來講,經常缺少準確標註的案例。

例如:欺詐偵測(Fraud Detection)——在上百萬的交易中,可能只有屈指可數的欺詐交易,還有不少的欺詐交易沒有被正確標註出來,這就須要在建模前花費大量人力來修正;信用評分(Credit Scoring)——須要對潛在的高風險客戶進行長期跟蹤(好比兩年),從而積累足夠的評分樣本。

1. 太關注訓練(Focus on Training)

IDMer:就象體育訓練中愈來愈注重實戰訓練,由於單純的封閉式訓練經常會訓練時狀態神勇,比賽時一塌糊塗。實際上,只有樣本外數據上的模型評分結果才真正有用!(不然的話,直接用參照表好了!)

例如:癌症檢測(Cancer detection)——MD Anderson的醫生和研究人員(1993)使用神經網絡來進行癌症檢測,驚奇地發現,訓練時間越長(從幾天延長至數週),對訓練集的性能改善很是輕微,但在測試集上的性能卻明顯降低;機器學習或計算機科學研究者經常試圖讓模型在已知數據上表現最優,這樣作的結果一般會致使過分擬合(overfit)。歡迎加入大數據學習交流分享羣: 658558542   一塊兒吹水交流學習(☛點擊便可加入羣聊

解決方法:

解決這個問題的典型方法是重抽樣(Re-Sampling)。重抽樣技術包括:bootstrap、cross-validation、jackknife、leave-one-out...等等。

2. 只依賴一項技術(Rely on One Technique)

IDMer:這個錯誤和第10種錯誤有相通之處,請同時參照其解決方法。沒有對比也就沒有所謂的好壞,辯證法的思想在此體現無遺。「當小孩子手拿一把錘子時,整個世界看起來就是一枚釘子。」要想讓工做盡善盡美,就須要一套完整的工具箱。不要簡單地信賴你用單個方法分析的結果,至少要和傳統方法(好比線性迴歸或線性判別分析)作個比較。

研究結果:按照《神經網絡》期刊的統計,在過去3年來,只有1/6的文章中作到了上述兩點。也就是說,在獨立於訓練樣本以外的測試集上進行了開集測試,並與其它普遍採用的方法進行了對比。

解決方法:

使用一系列好的工具和方法。(每種工具或方法可能最多帶來5%~10%的改進)。

3. 提錯了問題(Ask the Wrong Question)

IDMer:通常在分類算法中都會給出分類精度做爲衡量模型好壞的標準,但在實際項目中咱們卻幾乎不看這個指標。爲何?由於那不是咱們關注的目標。

a)項目的目標:必定要鎖定正確的目標

例如:欺詐偵測(關注的是正例!)(Shannon實驗室在國際長途電話上的分析):不要試圖在通常的通話中把欺詐和非欺詐行爲分類出來,重點應放在如何描述正常通話的特徵,而後據此發現異常通話行爲。

b)模型的目標:讓計算機去作你但願它作的事

大多數研究人員會沉迷於模型的收斂性來儘可能下降偏差,這樣讓他們能夠得到數學上的美感。但更應該讓計算機作的事情應該是如何改善業務,而不是僅僅側重模型計算上的精度。歡迎加入大數據學習交流分享羣: 658558542   一塊兒吹水交流學習(☛點擊便可加入羣聊

4. 只靠數據來講話(Listen (only) to the Data)

IDMer:「讓數聽說話」沒有錯,關鍵是還要記得另外一句話:兼聽則明,偏聽則暗!若是數據+工具就能夠解決問題的話,還要人作什麼呢?

4a.投機取巧的數據:數據自己只能幫助分析人員找到什麼是顯著的結果,但它並不能告訴你結果是對仍是錯。

4b.通過設計的實驗:某些實驗設計中摻雜了人爲的成分,這樣的實驗結果也經常不可信。

5. 使用了將來的信息(Accept Leaks from the Future)

IDMer:看似不可能,倒是實際中很容易犯的錯誤,特別是你面對成千上萬個變量的時候。認真、仔細、有條理是數據挖掘人員的基本要求。預報(Forecast)示例:預報芝加哥銀行在某天的利率,使用神經網絡建模,模型的準確率達到95%。但在模型中卻使用了該天的利率做爲輸入變量。金融業中的預報示例:使用3日的移動平均來預報,但卻把移動平均的中點設在今天。

解決方法:

要仔細查看那些讓結果表現得異常好的變量,這些變量有多是不該該使用,或者不該該直接使用的。給數據加上時間戳,避免被誤用。

6. 拋棄了不應忽略的案例(Discount Pesky Cases)

IDMer:究竟是「寧爲雞頭,不爲鳳尾」,仍是「大隱隱於市,小隱隱於野」?不一樣的人生態度能夠有一樣精彩的人生,不一樣的數據也可能蘊含一樣重要的價值。異常值可能會致使錯誤的結果(好比價格中的小數點標錯了),但也多是問題的答案(好比臭氧洞)。因此須要仔細檢查這些異常。研究中最讓激動的話語不是「啊哈!」,而是「這就有點奇怪了……」數據中的不一致性有可能會是解決問題的線索,深挖下去也許能夠解決一個大的業務問題。

例如:在直郵營銷中,在對家庭地址的合併和清洗過程當中發現的數據不一致,反而多是新的營銷機會。

解決方法:

可視化能夠幫助你分析大量的假設是否成立。

7. 輕信預測(Extrapolate)

IDMer:依然是辯證法中的觀點,事物都是不斷髮展變化的。人們經常在經驗很少的時候輕易得出一些結論。即使發現了一些反例,人們也不太願意放棄原先的想法。維度咒語:在低維度上的直覺,放在高維度空間中,經常是毫無心義的。

解決方法:進化論。沒有正確的結論,只有愈來愈準確的結論。

8. 試圖回答全部問題(Answer Every Inquiry)

IDMer:有點像我登山時鼓勵本身的一句話「我不知道何時能登上山峯,但我知道爬一步就離終點近一步。」「不知道」是一種有意義的模型結果。模型也許沒法100%準確回答問題,但至少能夠幫咱們估計出現某種結果的可能性。

9. 隨便地進行抽樣(Sample Casually)

9a下降抽樣水平。例如,MD直郵公司進行響應預測分析,但發現數據集中的不響應客戶佔比過高(總共一百萬直郵客戶,其中超過99%的人未對營銷作出響應)。因而建模人員作了以下抽樣:把全部響應者放入樣本集,而後在全部不響應者中進行系統抽樣,即每隔10人抽一個放入樣本集,直到樣本集達到10萬人。但模型竟然得出以下規則:凡是居住在Ketchikan、Wrangell和Ward Cove Alaska的人都會響應營銷。這顯然是有問題的結論。(問題就出在這種抽樣方法上,由於原始數據集已經按照郵政編碼排序,上面這三個地區中不響應者未能被抽取到樣本集中,故此得出了這種結論)。

解決方法:「喝前搖一搖!」先打亂原始數據集中的順序,從而保證抽樣的隨機性。9b提升抽樣水平。例如,在信用評分中,由於違約客戶的佔比通常都很是低,因此在建模時經常會人爲調高違約客戶的佔比(好比把這些違約客戶的權重提升5倍)。建模中發現,隨着模型愈來愈複雜,判別違約客戶的準確率也愈來愈高,但對正常客戶的誤判率也隨之升高。(問題出在數據集的劃分上。在把原始數據集劃分爲訓練集和測試集時,原始數據集中違約客戶的權重已經被提升過了)

解決方法:先進行數據集劃分,而後再提升訓練集中違約客戶的權重。

10. 太相信最佳模型(Believe the Best Model)

IDMer:仍是那句老話-「沒有最好,只有更好!」可解釋性並不必定老是必要的。看起來並不徹底正確或者能夠解釋的模型,有時也會有用。「最佳」模型中使用的一些變量,會分散人們太多的注意力。(不可解釋性有時也是一個優勢)通常來講,不少變量看起來彼此都很類似,而最佳模型的結構看上去也千差萬別,無跡可循。但需注意的是,結構上類似並不意味着功能上也類似。

解決方法:把多個模型集裝起來可能會帶來更好更穩定的結果。

結語

感謝您的觀看,若有不足之處,歡迎批評指正。

若是有對大數據感興趣的小夥伴或者是從事大數據的老司機能夠加羣:

658558542    (☛點擊便可加入羣聊

裏面整理了一大份學習資料,全都是些乾貨,包括大數據技術入門,海量數據高級分析語言,海量數據存儲分佈式存儲,以及海量數據分析分佈式計算等部分,送給每一位大數據小夥伴,這裏不止是小白彙集地,還有大牛在線解答!歡迎初學和進階中的小夥伴一塊兒進羣學習交流,共同進步!

最後祝福全部遇到瓶頸的大數據程序員們突破本身,祝福你們在日後的工做與面試中一切順利。

相關文章
相關標籤/搜索