在此借助 5w1h 的思想,從整體上了解下資料探勘,比如什麼是資料探勘、為什麼要做資料探勘、在哪些場景下用資料探勘,以及怎麼做資料探勘。
隨著網際網路技術的發展,資料的生產、收集和儲存也越來越方便。面對海量的資料,通常其維度眾多,涉及的問題又複雜,我們需要一種規範的解決方案,能夠利用並且充分利用這些資料裡的每乙個部分,通過一些自動化的機器學習演算法,從資料中自動提取價值。而資料探勘就提供了這樣一系列的框架、工具和方法,可以處理不同型別的大量資料,並且使用複雜的演算法部署,去探索資料中的模式。
既然資料探勘是一種方法,那就要用它去解決一些問題。下面具體講一下最實際的四類問題,資料探勘到底有什麼用處。
1.分類問題
分類問題是最常見的問題。比如新聞**,判斷一條新聞是社會新聞還是時政新聞,是體育新聞還是娛樂新聞?這就是乙個分類問題,也就是對已知類別的資料進行學習,為新的內容標註乙個類別。
2.聚類問題
聚類與分類不同,聚類的類別預先是不清楚的,我們的目標就是要去發現這些類別。聚類的演算法比較適合一些不確定的類別場景。
比如出去玩,撿了一大堆不同的樹葉回來,你不知道這些樹葉是從什麼樹上掉落的,但是你可以根據它們的大小、形狀、紋路、邊緣等特徵給樹葉進行劃分,最後得到了三個較小的樹葉堆,每一堆樹葉都屬於同乙個種類。
3.回歸問題
簡單來說,回歸問題可以看作高中學過的解線性方程組。它的最大特點是,生成的結果是連續的,可以擬合成直線或曲線,而不像分類和聚類生成的是一種離散的結果。
比如,使用回歸的方法**北京某個房子的總價(y),假設總價只跟房子的面積(x)有關,那麼我們構建的方程式就是 ax+b=y。如何根據已知 x 和 y 的值解出 a 和 b 就是回歸問題要解決的。回歸方法是通過構建乙個模型去擬合已知的資料(自變數),然後**因變數結果。
4.關聯問題
關聯問題最常見的乙個場景就是推薦,比如,你在京東或者**購物的時候,在選中乙個商品之後,往往會給你推薦幾種其他商品組合,這種功能就可以使用關聯挖掘來實現。
資料探勘,也是有方**的。應用最多的 crisp-dm(cross-industry standard process for data mining,跨行業資料探勘標準流程)方**,這裡先簡單地了解資料探勘的操作步驟有哪些,後面也會逐一詳細講解。
下面我們就來看一下,如何依照這 6 個步驟進行資料探勘。
1.業務理解(business understanding)
想象有一天,老闆突然給你說:「小高啊,你能不能訓練乙個模型來**一下明年公司的利潤呢?」這就是乙個業務需求了,若要解決這個問題,首先要弄明白需求是什麼,這就是業務理解,或者也可以叫作商業理解。比如,你要搞清楚什麼是利潤、利潤的構成是什麼樣的、利潤受什麼影響,同時老闆說的利潤是淨利潤還是毛利潤等問題。
業務理解,主旨是理解你的資料探勘要解決什麼業務問題。任何公司啟動資料探勘,都是想為業務賦能,因此 我們必須從商業或者從業務的角度去了解專案的要求和最終的目的,去分析整個問題涉及的資源、侷限、設想,甚至是風險、意外等情況。從業務出發,到業務中去。
2.資料理解(data understanding)
明白了問題,還要明白解決問題需要什麼資料。比如這個時候,老闆又說了:「我想改改需求,能不能多做幾個模型,把競品公司明年的利潤也都算算,我想對比一下。」然而「巧婦難為無公尺之炊」,你根本就沒有這個資料,這個需求也就無從完成了。
資料理解階段始於資料的收集工作,但重點是在業務理解的基礎上,對我們所掌握的資料要有乙個清晰、明確的認識,了解有哪些資料、哪些資料可能對目標有影響、哪些可能是冗餘資料、哪些資料存在不足或缺失,等等。
需要注意的是,資料理解和業務理解是相輔相成的,因此在制定資料探勘計畫的時候,不能只是單純地談需求。資料理解得不好,很可能會導致你對業務需求的錯誤評估,從而影響後續進度甚至是結果。
3.資料準備(data preparation)
完成上面兩個步驟後,就可以準備資料了。你需要找銷售要銷售資料,找採購要採購資料,找財務要各種收入、支出資料,然後整理所有需要用到的資料,想辦法補全那些缺失的資料,計算各種統計值,等等。資料準備就是基於原始資料,去構建資料探勘模型所需的資料集的所有工作,包括資料收集、資料清洗、資料補全、資料整合、資料轉換、特徵提取等一系列動作。
事實上,在大多數的資料探勘專案中,資料準備是最困難、最艱鉅的一步。如果你的資料足夠乾淨和完整,那麼在建模和評估階段所付出的精力就越少,甚至都不必去使用什麼複雜的模型就可以得到足夠好的效果,所以這個階段也是十分重要的。
4.構建模型(modeling)
也可以叫作訓練模型,在這一階段,我們會把準備好的資料餵給演算法,所以這個階段重點解決的是技術方面的問題,會選用各種各樣的演算法模型來處理資料,讓模型學習資料的規律 ,並產出模型用於後續的工作。
對於同乙個資料探勘的問題型別,可以有多種方法選擇使用。如果有多重技術要使用,那麼在這一任務中,對於每乙個要使用的技術要分別對待。一些建模方法對資料的形式有具體的要求,比如 svm 演算法只能輸入數值型的資料 。 因此,在這一階段,重新回到資料準備階段執行某些任務有時是非常必要的。
5.評估模型(evaluation)
在模型評估階段,我們已經建立了乙個或多個高質量的模型。但是模型的效果如何,能否滿足我們的業務需求,就需要使用各種評估手段、評估指標甚至是讓業務人員一起參與進來,徹底地評估模型,回顧在構建模型過程中所執行的每乙個步驟,以確保這些模型達到了目標。在評估之後會有兩種情況,一種是評估通過,進入到上線部署階段;另一種是評估不通過,那麼就要反過來再進行迭代更新了。
6.模型部署(deployment)
整理了資料,研究了演算法模型,並通過了多方評估,終於到了部署階段。此時可能還要解決一些實際的問題,比如長期執行的模型是否有足夠的機器來支撐,資料量以及併發程度會不會造成我們部署的服務出現問題,等等。但是,關於資料探勘的生命週期可能還遠未結束,關於一些特殊情況的出現可能仍然無法處理,以及在後續的程序中,隨著新資料的生產以及變化,我們的模型仍然會發生一些變化。所以部署是乙個挖掘專案的結束,也是乙個資料探勘專案的開始。
總結
本文主要來認識一下「資料探勘」,從「它解決什麼問題」和「怎麼做」的角度建立了全面而具體的認識。後面的篇幅,也將圍繞這些內容進行展開和擴充講解。
大資料和雲計算到底是何關係?
關於大資料和雲計算的關係人們通常會有誤解。而且也會把它們混起來說,分別做一句話直白解釋就是 雲計算就是硬體資源的虛擬化 大資料就是海量資料的高效處理。雖然上面的一句話解釋不是非常的貼切,但是可以幫助你簡單的理解二者的區別。另外,如果做乙個更形象的解釋,雲計算相當於我們的計算機和作業系統,將大量的硬體...
一 資料探勘基礎
資料探勘的任務 分類與 聚類分析,關聯規則,時序模式,偏差檢測,智慧型排序 資料探勘的建模過程 1.定義挖掘目標 2.資料採集,取樣 隨機抽樣,分層抽樣,等距抽樣,分類抽樣,起始順序抽樣 3.資料探索 異常值分析 缺失值分析 相關性分析 週期性分析,有無明顯規律和趨勢 4.資料預處理 降維處理,缺失...
資料探勘 (一)資料獲取
1 資料倉儲 全部事實的記錄 必須是全面的 完備的 盡可能詳細的 可以方便的以不同維度抽取和整理資料 資料是拿來用的,一般乙個特定的場景不會使用全部的資料,資料倉儲非常豐富,必須根據不同的應用調取相應的資料,這些被抽取和整理的資料稱為資料集市 dw 1 資料庫 vs 倉庫 資料庫面向業務儲存,需要保...