掃盲!全方位解析資料探勘

2021-09-13 21:18:55 字數 4417 閱讀 2315

資料探勘是乙個利用各種分析工具在海量資料中發現模型和資料間關係的過程,這些模型和關係可以用來做出**。

什麼是資料探勘

當今資料庫的容量已經達到上萬億的水平(t)--- 1,000,000,000,000個位元組。在這些大量資料的背後隱藏了很多具有決策意義的資訊,那麼怎麼得到這些「知識」呢?也就是怎樣通過一顆顆的樹木了解到整個森林的情況?

電腦科學對這個問題給出的最新回答就是:資料探勘,在「資料礦山」中找到蘊藏的「知識金塊」,幫助企業減少不必要投資的同時提高資金回報。資料探勘給企業帶來的潛在的投資回報幾乎是無止境的。世界範圍內具有創新性的公司都開始採用資料探勘技術來判斷哪些是他們的最有價值客戶、重新制定他們的產品推廣策略(把產品推廣給最需要他們的人),以用最小的花費得到最好的銷售。

資料探勘是乙個利用各種分析工具在海量資料中發現模型和資料間關係的過程,這些模型和關係可以用來做出**。

資料探勘的第一步是描述資料---計算統計變數(比如平均值、均方差等),再用圖表或直觀的表示出來,進而可以看出一些變數之間的相關性(比如有一些值經常同時出現)。選擇正確的資料來源對整個資料探勘專案的成敗至關重要,在後面資料探勘的步驟中我們會著重強調這一點。

單單是資料描述並不能為人們制訂行動計畫提供足夠的依據,你必須用你的這些歷史資料建立乙個預言模型,然後再用另外一些資料對這個模型進行測試。乙個好的模型沒必要與資料庫中的資料100%的相符(城市交通圖也不是完全的實際交通線路的等比縮小),但他在你做決策時是乙個很好的指南和依據。

最後一步是驗證你的模型。比如你用所有對你的產品推廣計畫做出回應的人的資料庫做了乙個模型,來**什麼樣的人會對你的產品感興趣。你能在得到這個模型後就直接利用這個模型做出決策或採取行動嗎?還是更穩妥一點先對一小部分客戶做乙個實際的測試,然後再決定?

資料探勘:不能幹什麼

資料探勘它無法告訴你某個模型對你的企業的實際價值。而且資料探勘中得到的模型必須要在現實生活中進行驗證。

注意資料探勘中得到的預言模型並不會告訴你乙個人為什麼會做一件事、採取某個行動,他只會告訴你他會這樣做,為什麼要人去考慮。比如,資料探勘可能會告訴你,如果這個人是男的、年收入在5萬到6萬之間,那麼他可能會買你的商品/服務。你可能會利用這條規則,集中向這類人推銷你的商品而從中獲益,但是資料探勘工具不會告訴你他們為什麼會買你的東西,也不能保證所有符合這條規則的人都會買。

為了保證資料探勘結果的價值,你自己必須了解你的資料,這一點至關重要。輸入資料庫中的異常資料、不相關的字段或互相衝突的字段(比如年齡和生日不一致)、資料的編碼方式等都會對資料探勘輸出結果的質量產生影響。雖然一些演算法自身會對上面提到的這些問題做一些考慮,但讓演算法自己做所有這些決定是不明智的。

資料探勘不會在缺乏指導的情況下自動的發現模型。你不能這樣對資料探勘工具說,「幫我提高直接郵件推銷的響應率」,你應該讓資料探勘工具找(1)對你的推銷回應的人,或(2)即回應又做了大量訂單的人的特徵。在資料探勘中尋找這兩種模型是很不相同的。

雖然資料探勘工具使你不必再掌握艱深的統計分析技術,但你仍然需要知道你所選用的資料探勘工具是如何工作的,他所採用的演算法的原理是什麼。你所選用的技術和優化方法會對你的模型的準確度和生成速度產生很大影響。

資料探勘永遠不會替代有經驗的商業分析師或管理人員所起的作用,他只是提供乙個強大的工具。每個成熟的、了解市場的公司都已經具有一些重要的、能產生高回報的模型,這些模型可能是管理人員花了很長時間,作了很多調查,甚至是經過很多失誤之後得來的。資料探勘工具要做的就是使這些模型得到的更容易,更方便,而且有根據。

資料探勘和資料倉儲

大部分情況下,資料探勘都要先把資料從資料倉儲中拿到資料探勘庫或資料集市中。從資料倉儲中直接得到進行資料探勘的資料有許多好處。就如我們後面會講到的,資料倉儲的資料清理和資料探勘的資料清理差不多,如果資料在匯入資料倉儲時已經清理過,那很可能在做資料探勘時就沒必要在清理一次了,而且所有的資料不一致的問題都已經被你解決了。

資料探勘庫可能是你的資料倉儲的乙個邏輯上的子集,而不一定非得是物理上單獨的資料庫。但如果你的資料倉儲的計算資源已經很緊張,那你最好還是建立乙個單獨的資料探勘庫。

當然為了資料探勘你也不必非得建立乙個資料倉儲,資料倉儲不是必需的。建立乙個巨大的資料倉儲,把各個不同源的資料統一在一起,解決所有的資料衝突問題,然後把所有的資料導到乙個資料倉儲內,是一項巨大的工程,可能要用幾年的時間花上百萬的錢才能完成。只是為了資料探勘,你可以把乙個或幾個事務資料庫導到乙個唯讀的資料庫中,就把它當作資料集市,然後在他上面進行資料探勘。

乙個經常問的問題是,資料探勘和olap到底有何不同。下面將會解釋,他們是完全不同的工具,基於的技術也大相徑庭。

也就是說,olap分析師是建立一系列的假設,然後通過olap來證實或推翻這些假設來最終得到自己的結論。olap分析過程在本質上是乙個演繹推理的過程。但是如果分析的變數達到幾十或上百個,那麼再用olap手動分析驗證這些假設將是一件非常困難和痛苦的事情。

資料探勘與olap不同的地方是,資料探勘不是用於驗證某個假定的模式(模型)的正確性,而是在資料庫中自己尋找模型。他在本質上是乙個歸納的過程。比如,乙個用資料探勘工具的分析師想找到引起貸款拖欠的風險因素。資料探勘工具可能幫他找到高負債和低收入是引起這個問題的因素,甚至還可能發現一些分析師從來沒有想過或試過的其他因素,比如年齡。

資料探勘和olap具有一定的互補性。在利用資料探勘出來的結論採取行動之前,你也許要驗證一下如果採取這樣的行動會給公司帶來什麼樣的影響,那麼olap工具能回答你的這些問題。

而且在知識發現的早期階段,olap工具還有其他一些用途。可以幫你探索資料,找到哪些是對乙個問題比較重要的變數,發現異常資料和互相影響的變數。這都能幫你更好的理解你的資料,加快知識發現的過程。

資料探勘,機器學習和統計

資料探勘利用了人工智慧(ai)和統計分析的進步所帶來的好處。這兩門學科都致力於模式發現和**。

資料探勘不是為了替代傳統的統計分析技術。相反,他是統計分析方法學的延伸和擴充套件。大多數的統計分析技術都基於完善的數學理論和高超的技巧,**的準確度還是令人滿意的,但對使用者的要求很高。而隨著計算機計算能力的不斷增強,我們有可能利用計算機強大的計算能力只通過相對簡單和固定的方法完成同樣的功能。

一些新興的技術同樣在知識發現領域取得了很好的效果,如神經元網路和決策樹,在足夠多的資料和計算能力下,他們幾乎不用人的關照自動就能完成許多有價值的功能。

資料探勘就是利用了統計和人工智慧技術的應用程式,他把這些高深複雜的技術封裝起來,使人們不用自己掌握這些技術也能完成同樣的功能,並且更專注於自己所要解決的問題。

軟硬體發展對資料探勘的影響

使資料探勘這件事情成為可能的關鍵一點是計算機效能**比的巨大進步。在過去的幾年裡磁碟儲存器的**幾乎降低了99%,這在很大程度上改變了企業界對資料收集和儲存的態度。如果每兆的**是¥10,那存放1tb的**是¥10,000,000,但當每兆的**降為1毛錢時,儲存同樣的資料只有¥100,000!

計算機計算能力**的降低同樣非常顯著。每一代晶元的誕生都會把cpu的計算能力提高一大步。記憶體ram也同樣降價迅速,幾年之內每兆記憶體的**由幾百塊錢降到現在只要幾塊錢。通常pc都有64m記憶體,工作站達到了256m,擁有上g記憶體的伺服器已經不是什麼新鮮事了。

在單個cpu計算能力大幅提公升的同時,基於多個cpu的並行系統也取得了很大的進步。目前幾乎所有的伺服器都支援多個cpu,這些smp伺服器簇甚至能讓成百上千個cpu同時工作。

所有這些都為資料探勘的實施掃清了道路,隨著時間的延續,我們相信這條道路會越來越平坦。

資料探勘應用

由於資料探勘帶來的顯著的經濟效益,使資料探勘越來越普及。他不僅能用於控制成本,也能給企業帶來效益。

很多企業都在利用資料探勘技術幫助管理客戶生命週期的各個階段,包括爭取新的客戶、在已有客戶的身上賺更多的錢、和保持住好的客戶。如果能夠確定好的客戶的特點,那麼就能提供為客戶提供針對性的服務。比如,已經發現了購買某一商品的客戶的特徵,那麼就可以向那些具有這些特徵但還沒有購買此商品的客戶推銷這個商品;找到流失的客戶的特徵就可以,在那些具有相似特徵的客戶還未流失之前進行針對性的彌補,因為保留乙個客戶要比爭取乙個客戶便宜的多。

資料探勘可以應用在各個不同的領域。電訊公司和信用卡公司是用資料探勘檢測欺詐行為的先行者。保險公司和**公司也開始採用資料探勘來減少欺詐。醫療應用是另乙個前景廣闊的產業:資料探勘可以用來**外科手術、醫療試驗和藥物**的效果。零銷商更多的使用資料探勘來決定每種商品在不同地點的庫存,通過資料探勘更靈活的使用**和優惠卷手段。製藥公司通過挖掘巨大的化學物質和基因對疾病的影響的資料庫來判斷哪些物質可能對**某種疾病產生效果。

成功的資料探勘

***資料探勘成功的兩個關鍵要素。一是準確的定義你所要解決的問題,定位準確的問題通常會帶來最好的回報。二是使用正確的資料,選定了你所能得到的資料,也許還要從外部購買資料,你需要對這些資料做有效的資料整合和轉換。

最後祝福所有遇到瓶頸的大資料程式設計師們突破自己,祝福大家在往後的工作與面試中一切順利。

微軟WSFC全方位解析

windows server failover clustering是微軟重要的windows server功能,它為微軟眾多企業級平台提供底層高可用機制,掌握wsfc的概念原理,功能使用,故障排錯將對管理員運維有很大幫助,本系列文章將從wsfc的概念介紹,功能使用,故障排錯,效能優化,wsfc 2...

Python 「偏函式」 用法全方位解析

python的functools模組中有一種函式叫 偏函式 自從接觸它以來,發現確實是乙個很有用且簡單的函式,相信你看完這篇文章,你也有相見恨晚的感覺。我們都知道,函式入參可以設定預設值來簡化函式呼叫,而偏函式的作用就是將入參進行預設填充,降低函式使用的難度。如int 函式,可以將字元型轉換為整型,...

字符集編碼全方位解析

ascii 最早計算機剛出世時,只有一ascii編碼方式,american strand code for information interchange ascii 使用7位 標識乙個字元,對於只認識 0 1 的計算機來說,ascii 可以記錄 2 7個字元,針對歐美國家來說,abc.再加上一些運...