數據挖掘,讓複雜的數據變得更得心應手

在如今的大數據時代,信息的來源日益繁多,包括網站、企業應用程序、社交媒體、移動設備以及日益增加的物聯網產生的信息(loT)。對企業來說,如何從這些信息中獲得真正的商業價值變得越發重要,而數據挖掘就是數據分析過程中有針對性的一環,優秀的數據分析師會用聰明的挖掘動作,讓複雜的數據變得更得心應手。


數據挖掘,讓複雜的數據變得更得心應手

“數據挖掘”這個術語常常被應用於各種大規模的數據處理活動中,如收集、提取、倉儲和分析數據。它還可以應用於幫助應用程序和技術的改進決策,如人工智能、機器學習和商業智能。

今天DataHunter數獵哥就來說說,什麼是數據挖掘?數據挖掘的過程是怎樣的?以及它的具體算法又有哪些?

一、在大千世界中,發現有價值的知識

1.數據挖掘的定義

數據挖掘(Data Mining)是指通過大量數據集進行分類的自動化過程,以通過數據分析來識別趨勢和模式,建立關係來解決業務問題。換句話說,數據挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機的數據中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。

2.與數據分析的區別

數據分析和數據挖掘都是從數據庫中發現知識、所以我們稱數據分析和數據挖掘叫做數據庫中的知識發現。但嚴格意義上來講,數據挖掘才是真正意義上的數據庫中的知識發現(Knowledge Discovery in Database,KDD)。

數據分析是從數據庫中通過統計、計算、抽樣等相關的方法,獲取基於數據庫的數據表象的知識,也就是指數據分析是從數據庫裡面得到一些表象性的信息。數據挖掘是從數據庫中,通過機器學習或者是通過數學算法等相關的方法獲取深層次的知識(比如屬性之間的規律性,或者是預測)的技術。

3.數據挖掘,有利有弊

原則上講,數據挖掘可以應用於任何類型的信息存儲庫及瞬態數據(如數據流),如數據庫、數據倉庫、數據集市、事務數據庫、空間數據庫(如地圖等)、工程設計數據(如建築設計等)、多媒體數據(文本、圖像、視頻、音頻)、網絡、數據流、時間序列數據庫等。也正因如此,數據挖掘存在以下特點:

數據挖掘,讓複雜的數據變得更得心應手

(1)數據集大且不完整

數據挖掘所需要的數據集是很大的,只有數據集越大,得到的規律才能越貼近於正確的實際的規律,結果也才越準確。除此以外,數據往往都是不完整的。

(2)不準確性

數據挖掘存在不準確性,主要是由噪聲數據造成的。比如在商業中用戶可能會提供假數據;在工廠環境中,正常的數據往往會收到電磁或者是輻射干擾,而出現超出正常值的情況。這些不正常的絕對不可能出現的數據,就叫做噪聲,它們會導致數據挖掘存在不準確性。

(3)模糊的和隨機的

數據挖掘是模糊的和隨機的。這裡的模糊可以和不準確性相關聯。由於數據不準確導致只能在大體上對數據進行一個整體的觀察,或者由於涉及到隱私信息無法獲知到具體的一些內容,這個時候如果想要做相關的分析操作,就只能在大體上做一些分析,無法精確進行判斷。

而數據的隨機性有兩個解釋,一個是獲取的數據隨機;我們無法得知用戶填寫的到底是什麼內容。第二個是分析結果隨機。數據交給機器進行判斷和學習,那麼一切的操作都屬於是灰箱操作。

由此,我們可以看出,數據挖掘這個強大的工具是利弊共存的,在合適的時機使用,方能事倍功半。

二、持續發展業務,數據挖掘技術不可忽視

數據挖掘,讓複雜的數據變得更得心應手

1.更便捷的開發模型

在過去很多年, 首要原則模型 (first-principle models)是科學工程領域最為經典的模型。比如你要想知道某輛車從啟動到速度穩定行駛的距離,那麼你會先統計從啟動到穩定耗費的時間、穩定後的速度、加速度等參數;然後運用牛頓第二定律(或者其他物理學公式)建立模型;最後根據該車多次實驗的結果列出方程組從而計算出模型的各個參數。

通過該過程,你就相當於學習到了一個知識 --- 某輛車從啟動到速度穩定行駛的具體模型。此後往該模型輸入車的啟動參數便可自動計算出該車達到穩定速度前行駛的距離。

然而,在數據挖掘的思想中,知識的學習是不需要通過具體問題的專業知識建模。如果之前已經記錄下了100輛型號性能相似的車,從啟動到速度穩定行駛的距離,那麼我就能夠對這100個數據求均值,從而得到結果。顯然,這一過程是是直接面向數據的,或者說我們是直接從數據開發模型的。

這其實是模擬了人的原始學習過程。比如你要預測一個人跑100米要多久時間,你肯定是根據之前瞭解的他(研究對象)這樣體型的人跑100米用的多少時間做一個估計,而不會使用牛頓定律來算。


2.計算機技術的成熟

數據挖掘理論涉及到的面很廣,它實際上起源於多個學科。如建模部分主要起源於統計學和機器學習。統計學方法以模型為驅動 ,常常建立一個能夠產生數據的模型;而機器學習則以算法為驅動 ,讓計算機通過執行算法來發現知識。

隨著互聯網工具的發展,分享和協作的成本大大降低。我們每天用手機聊天、購物、刷短視頻、看新聞等日常的不經意動作給互聯網行業提供了體量龐大的數據。這些數據通常被收集、存放在大型數據存儲庫中,沒有強有力的工具,理解它們已經遠遠超出了我們的能力。而數據挖掘技術的出現解決了這一問題。它可以從海量的數據中提取出有價值的信息,從而作為決策的重要依據。

3.為企業生產銷售做預測

數據挖掘的真正價值在於能夠以數據中的模式和關係的形式挖掘隱藏的寶石,這可以用來做出對企業有重大影響的預測。例如,如果一家公司確定特定的營銷活動導致在該國某些地區的某種產品的特定型號的銷售額非常高,而在其它地區則不然,那麼它可以在將來重新調整該廣告活動以獲得最大的回報。

該技術的好處可能會因業務類型和目標而異。例如,零售業的銷售和營銷經理可能用不同的方式挖掘客戶信息以提高轉化率,這種提高轉化率的方式迥異於航空公司或金融服務業。

不管是什麼行業,過去應用於銷售模式和客戶行為的數據挖掘都可用於創建預測未來銷售和行為的模型。數據挖掘也有助於取消可能損害企業的活動。例如,你可以使用數據挖掘來提高產品的安全性,或檢測保險和金融服務交易中的欺詐活動。

三、數據挖掘的目標是什麼?

數據挖掘的兩大基本目標是預測和描述數據,其中前者的計算機建模及實現過程通常被稱為監督學習(supervised learning) ,後者的則通常被稱為無監督學習(supervised learning) 。往更細分,數據挖掘的目標可以劃分為以下這些:

數據挖掘,讓複雜的數據變得更得心應手

1.預測數據

預測性挖掘任務對當前數據進行推斷,以做出預測。預測主要包括分類——將樣本劃分到幾個預定義類之一;迴歸——將樣本映射到一個真實值預測變量上。也就是說給了一定的目標屬性,讓去預測目標的另外一特定屬性。如果該屬性是離散的,通常稱之為“分類”,而如果目標屬性是一個連續的值,則稱之為“迴歸”。

2.描述數據

描述性挖掘任務是描述數據庫中數據的一般性質。描述主要包括聚類——將樣本劃分為不同類(無預定義類),關聯規則發現——發現數據集中不同特徵的相關性。這是指找出數據間潛在的聯繫模式。比方說兩個數據存在強關聯的關係,像大數據分析發現的一個特點:買尿布的男性通常也會買點啤酒,那麼商家根據這個可以將這兩種商品打包出售來提高業績。

另外一個非常重要的就是聚類分析,這也是在日常數據挖掘中應用非常非常頻繁的一種分析,旨在發現緊密相關的觀測值組群,可以在沒有標籤的情況下將所有的數據分為合適的幾類來進行分析或者降維。

其他的描述任務還有異常檢測,其過程類似於聚類的反過程,聚類將相似的數據聚合在一起,而異常檢測將離群太遠的點給剔除出來。

四、數據挖掘的常見分析方法

1.神經網絡方法

神經網絡由於本身良好的魯棒性、自組織自適應性、並行處理、分佈存儲和高度容錯等特性非常適合解決數據挖掘的問題,因此近年來越來越受到人們的關注。

2.遺傳算法

遺傳算法是一種基於生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優化方法。遺傳算法具有的隱含並行性、易於和其它模型結合等性質使得它在數據挖掘中被加以應用。

3.決策樹方法

決策樹是一種常用於預測模型的算法,它通過將大量數據有目的分類,從中找到一些有價值的,潛在的信息。它的主要優點是描述簡單,分類速度快,特別適合大規模的數據處理。

4.粗集方法

粗集理論是一種研究不精確、不確定知識的數學工具。粗集方法有幾個優點:不需要給出額外信息;簡化輸入信息的表達空間;算法簡單,易於操作。粗集處理的對象是類似二維關係表的信息表。

5.覆蓋正例排斥反例方法

它是利用覆蓋所有正例、排斥所有反例的思想來尋找規則。首先在正例集合中任選一個種子,到反例集合中逐個比較。與字段取值構成的選擇子相容則捨去,相反則保留。按此思想循環所有正例種子,將得到正例的規則(選擇子的合取式)。

6.統計分析方法

在數據庫字段項之間存在兩種關係:函數關係和相關關係,對它們的分析可採用統計學方法,即利用統計學原理對數據庫中的信息進行分析。可進行常用統計、迴歸分析、相關分析、差異分析等。

7.模糊集方法

即利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。系統的複雜性越高,模糊性越強,一般模糊集合理論是用隸屬度來刻畫模糊事物的亦此亦彼性的。其他相關算法參考文末分享的參考文章。

五、數據挖掘的基本步驟

從形式上來說,數據挖掘的開發流程是迭代式的。開發人員通過如下幾個階段對數據進行迭代式處理:

1.解讀需求

絕大多數的數據挖掘工程都是針對具體領域的,因此數據挖掘工作人員不應該沉浸在自己的算法模型世界裡,而應該多和具體領域的專家交流合作以正確的解讀出項目需求,且這種合作應當貫穿整個項目生命週期。

2.蒐集數據

在大型公司,數據蒐集大都是從其他業務系統數據庫提取。很多時候我們是對數據進行抽樣,在這種情況下必須理解數據的抽樣過程是如何影響取樣分佈,以確保評估模型環節中用於訓練(train)和檢驗(test)模型的數據來自同一個分佈。


3.預處理數據

預處理數據可主要分為數據準備和數據歸約兩部分。其中前者包含了缺失值處理、異常值處理、歸一化、平整化、時間序列加權等;而後者主要包含維度歸約、值歸約、以及案例歸約。

4.評估模型

確切來說,這一步就是在不同的模型之間做出選擇,找到最優模型。很多人認為這一步是數據挖掘的全部,但顯然這是以偏概全的,甚至絕大多數情況下這一步耗費的時間和精力在整個流程裡是最少的。

5.解釋模型

數據挖掘模型在大多數情況下是用來輔助決策的,人們顯然不會根據“黑箱模型”來制定決策。如何針對具體環境對模型做出合理解釋也是一項非常重要的任務

六、數據挖掘在各行業的應用

零售商可以部署數據挖掘,以更好地識別人們根據過去的購買習慣可能購買哪個產品,或者哪些商品在一年的某些時間可能熱賣。這可以幫助商家規劃庫存和存儲佈局,同時也可以利用數據挖掘來做線下零售店鋪的智能選址。

數據挖掘,讓複雜的數據變得更得心應手

銀行和其他它金融服務提供商可以挖掘與其客戶帳戶、交易和渠道偏好相關的數據,以更好地滿足他們的需求。它們還可以從他們的網站和社交媒體互動中分析數據,以增加現有客戶的忠誠度並吸引新客戶。

製造企業可以使用數據挖掘在生產過程中發現模式,從而可以精確地識別出瓶頸和有缺陷的方法,並設法提高效率。它們還可以將知識從數據挖掘應用於產品設計,並根據客戶體驗的反饋進行調整。

教育機構可以從數據挖掘中受益,例如分析數據集,以預測學生的未來學習行為和表現,然後利用這些知識來改進教學方法或課程。

醫療保健提供者可以挖掘和分析數據,以確定向患者提供護理和降低成本的更好的方法。在數據挖掘的幫助下,他們可以預測需要照顧的病人數量以及患者需要什麼類型的服務。在生命科學領域,數據挖掘可用於從大量生物數據中獲取洞察,幫助開發新藥和其他治療方法。

在包括醫療保健和零售在內的多個行業,你可以使用數據挖掘來檢測詐騙和其它濫用行為——比傳統的識別此類活動的方法要快得多。

七、小結

在數據挖掘中,準備本身的初始行為(例如聚集然後使數據合理化)可以揭示可能危及數據機密性的信息或模式。因此,不經意地違反道德問題或法律要求是有可能的。因此數據挖掘的每一步還需要數據保護,以確保數據不被偷竊、改變或秘密訪問。安全工具包括加密、訪問控制和網絡安全機制。

儘管存在這些挑戰,但數據挖掘已成為很多組織IT戰略的重要組成部分,這些組織力圖通過收集或訪問的所有信息獲得價值。隨著預測分析、人工智能、機器學習和其它相關技術的不斷進步,這一驅動力無疑將加速。

關於 DataHunter

DataHunter 是一家專業的數據分析和商業智能服務提供商,註冊於2014年。團隊核心成員來自 IBM、Oracle、SAP 等知名公司,深耕大數據分析領域,具有十餘年豐富的企業服務經驗。

DataHunter 旗下核心產品智能數據分析平臺 Data Analytics、數據大屏設計配置工具 Data MAX 已在業內形成自己的獨特優勢,並在各行業積累了眾多標杆客戶和成功案例。

數據挖掘,讓複雜的數據變得更得心應手

成立以來,DataHunter就致力於為客戶提供實時、高效、智能的數據分析展示解決方案,幫助企業查看分析數據並改進業務,成為最值得信賴的數據業務公司。


分享到:


相關文章: