
談到BI,就會談到數(shù)據(jù)挖掘(Data mining)。數(shù)據(jù)挖掘是指用某些方法和工具,對數(shù)據(jù)進(jìn)行分析,發(fā)現(xiàn)隱藏規(guī)律并利的一種方法。下面我們將通過具體的例子來學(xué)習(xí)什么是數(shù)據(jù)挖掘。
案例“上大學(xué)分析”-體驗什么是數(shù)據(jù)挖掘
某社會機(jī)構(gòu),收集了大量的學(xué)生考大學(xué)的數(shù)據(jù)。該機(jī)構(gòu)希望找出一些規(guī)律,以推動更多的學(xué)生考大學(xué)。該機(jī)構(gòu)委托你來做這個分析工作,給出具體的可以推動更多學(xué)生考大學(xué)的建議。
收集到的數(shù)據(jù)如下:
你可能會考慮用SQL語句進(jìn)行查詢分析。但問題是:
1.用什么語句查呢?要組合什么條件呢?
2.你想查到怎樣的結(jié)果呢?這個結(jié)果對決策有幫助嗎?
那數(shù)據(jù)挖掘一下吧!但如何挖掘呢?
不了解數(shù)據(jù)挖掘的人,往往會認(rèn)為只需要讓計算機(jī)去挖掘一下,計算機(jī)就能幫我們找出想要的東西。計算機(jī)哪會這樣神奇,在數(shù)據(jù)挖掘之前,我們必須要自己好好分析一下。
1.明確挖掘的目標(biāo)。
我們看看原始需求是這樣的:該機(jī)構(gòu)希望找出一些規(guī)律,以推動更多的學(xué)生考大學(xué)。
你可能會說:該目標(biāo)也太大了一點吧!現(xiàn)在該機(jī)構(gòu)委托你做這個事情,人家不是專業(yè)人士,你還指望人家什么都幫你做好嗎?那要你干嘛!
我們仔細(xì)分析一下,原始數(shù)據(jù)有姓名、性別、IQ、家庭年收入、兄弟姐妹數(shù)量、是否想上大學(xué)字段,要推動更多學(xué)生考大學(xué),我們無非就是要分析出:
1)有上大學(xué)計劃的人主要原因是什么呢?
2)無上大學(xué)計劃的人主要原因是什么呢?
分析出這些原因,就可以提出針對性的建議了。
2.明確因果關(guān)系
看下面這個圖:
對原始數(shù)據(jù)表進(jìn)行分析,我們可以推論出:家庭收入、性別、兄弟姐妹數(shù)量、IQ這些因素,很可能會影響有否上大學(xué)計劃。至于姓名會不會影響,我們可以用常識判斷應(yīng)該不會,故可以排除。
這樣我們就可以確定輸入列有:家庭收入、性別、兄弟姐妹數(shù)量、IQ,可預(yù)測列為:有上大學(xué)計劃否。
數(shù)據(jù)挖掘的目標(biāo)就是找出輸入列與可預(yù)測列的關(guān)系,只要找到這個規(guī)律,就可以提出針對性的建議,也可以利用這個規(guī)律做預(yù)測。
以上工作準(zhǔn)備就緒后,我們就需要選擇合適的分析方法來數(shù)據(jù)挖掘了。我們選擇“決策樹”的方法,下面是決策樹的部分分析結(jié)果:
說明:
1.最上面的一個節(jié)點表示有55%的人有計劃上大學(xué),45%的人沒有計劃。
2.第二層節(jié)點,以IQ為條件進(jìn)行劃分,IQ大于100的人中,有上大學(xué)計劃的人有79%之多,而IQ小于等于100的人,有上大學(xué)計劃的人只有35%,這說明IQ是很重要的影響因素。
3.第三層節(jié)點是年收入,第四層是兄弟姐妹數(shù)量。
4.決策樹算法會分析原始數(shù)據(jù),將影響程度最大的因素排在上面,次之的因素排在后面。
由上面的分析,我們可以得到這樣的一些信息:
1.越是IQ高的越有上大學(xué)的計劃。
2.家庭收入越高,越有上大學(xué)計劃。
3.兄弟姐妹越多,上大學(xué)計劃就越微。
4.性別沒有在這棵樹出現(xiàn),說明性別對有否上大學(xué)計劃沒有明顯影響。
接下來我們就可以提出針對性的建議,以推動更多人考大學(xué):
1.大學(xué)學(xué)位有限,目前重點應(yīng)該是鼓勵更多的聰明的學(xué)生考大學(xué)。
2.聰明的學(xué)生不計劃上大學(xué),主要原因是家庭收入低、兄弟姐妹多,針對這樣的情況,政府可考慮降低大學(xué)學(xué)費,或?qū)Φ褪杖?、多子女的家庭進(jìn)行資助。
總結(jié)一下數(shù)據(jù)挖掘的過程:
1.明確你的目標(biāo),收集相關(guān)數(shù)據(jù)。
2.根據(jù)目標(biāo)分析這些數(shù)據(jù),找出輸入列、可預(yù)測列。
3.選擇合適的數(shù)據(jù)挖掘方法。
4.分析數(shù)據(jù)挖掘結(jié)果,給出建議。
第2、3步可能需要不斷地嘗試和調(diào)試,才能找到合適的分析結(jié)果。
怎么樣?這個過程不簡單吧?以上這個例子已經(jīng)經(jīng)過我的簡化和提煉,其目標(biāo)就是讓大家能容易理解什么是數(shù)據(jù)挖掘,實際工作中的數(shù)據(jù)挖掘難度是很高的,需要具備這些能力:
1.能深徹體會業(yè)務(wù)的要求,能將客戶籠統(tǒng)的需求轉(zhuǎn)化為實在的工作指導(dǎo)。
2.能分析出輸入列、可預(yù)測列。
3.熟悉各種數(shù)據(jù)挖掘方法,會選擇合適的方法進(jìn)行分析。
4.能深入分析數(shù)據(jù)挖掘的結(jié)果,綜合運(yùn)用你的各種知識,為客戶提出針對性的決策建議。
常見的數(shù)據(jù)挖掘方法
常見的數(shù)據(jù)挖掘方法有分類、聚類、關(guān)聯(lián)、回歸、時間序列分析、離散序列分成、偏差分析、貝葉斯、神經(jīng)網(wǎng)絡(luò)等等。這些內(nèi)容都涉及到深厚的數(shù)學(xué)知識,下面只是一些膚淺的介紹,讓大家有個大概的認(rèn)識,為大家進(jìn)一步學(xué)習(xí)打好基礎(chǔ)。
數(shù)據(jù)挖掘算法之分類
例:某銀行每天收到很多信用卡辦理的申請,為提高效率和準(zhǔn)確性,想應(yīng)用數(shù)據(jù)挖掘技術(shù)來改善工作,你會怎樣考慮呢?
該銀行有大量的歷史數(shù)據(jù),將申請者分為高、中、低三種風(fēng)險類型,這樣輸入列就是申請者的學(xué)歷、收入、職業(yè)等信息,而可預(yù)測列就是風(fēng)險類型。這樣對歷史數(shù)據(jù)進(jìn)行數(shù)據(jù)挖掘后,當(dāng)有新的申請者提交資料,系統(tǒng)就可以判斷該申請者風(fēng)險類型為高、中還是低了。
以上的算法就是“分類”,該挖掘方法需人工指定類別,然后找出一組屬性與該類別的關(guān)系,利用這些關(guān)系來預(yù)測新的情況。
數(shù)據(jù)挖掘算法之聚類
“聚類”與“分類”很相似,同樣是找出一組屬性與類別的關(guān)系,不同的是這類別不是事先指定的,而是由數(shù)據(jù)挖掘自己找出分類。
例:某公司收集了很多客戶的資料,記錄了客戶的年齡和收入。該公司相對這些數(shù)據(jù)進(jìn)行分析,找出可以重點營銷的客戶對象。我們可指定輸入列為年齡和收入,經(jīng)過聚類數(shù)據(jù)挖掘后,發(fā)現(xiàn)客戶群可以劃分為三個群體:低收入年輕客戶、高收入中年客戶、收入相對低的年老客戶。根據(jù)這樣的分析結(jié)果,公司可采取決策,重點針對高收入中年客戶進(jìn)行營銷活動。
數(shù)據(jù)挖掘算法之關(guān)聯(lián)
例:在一家超市里,有一個有趣的現(xiàn)象:尿布和啤酒赫然擺在一起出售。但是這個奇怪的舉措?yún)s使尿布和啤酒的銷量雙雙增加了。這不是一個笑話,而是發(fā)生在美國沃爾瑪連鎖店超市的真實案例,并一直為商家所津津樂道。原來,美國的婦女們經(jīng)常會囑咐她們的丈夫下班以后要為孩子買尿布。而丈夫在買完尿布之后又要順手買回自己愛喝的啤酒,因此啤酒和尿布在一起購買的機(jī)會還是很多的。
上述這個例子經(jīng)常會被人拿來說,但很少人會舉一反三地應(yīng)用這個例子。我們有很多超市記錄了大量的交易數(shù)據(jù),只要對這些交易數(shù)據(jù)做一下關(guān)聯(lián)分析,就很可能會得到不少價值巨大的商業(yè)機(jī)會。上述這個“尿布+啤酒”的例子,就是應(yīng)用了關(guān)聯(lián)分析,發(fā)現(xiàn)尿布和啤酒兩個東西經(jīng)常被一起賣掉。關(guān)聯(lián)分析主要用來找出某些東西“擺在一起“的機(jī)會。我們上網(wǎng)上商城購買東西,你每選擇一個商品,就可能會向你推銷一堆別的商品,這很可能就是關(guān)聯(lián)分析在“作怪”。
數(shù)據(jù)挖掘算法之回歸
變量X、Y可能存在關(guān)系,我們可以將大量的(X、Y)繪制到一張圖上,形成一張散點圖。如果這些散點更好都在一條直線附近,那么這條直線的方程就可以近似代表X與Y的關(guān)系。
所謂的回歸,就是要找到一個函數(shù)代表變量X1,X2,X3,...與Y的關(guān)系,該函數(shù)所繪制出來的曲線,能盡量擬合這些“散點”。
下圖是某軟件公司某項目測試時間與發(fā)現(xiàn)缺陷數(shù)量的關(guān)系圖:
回歸可分為線性回歸和非線性回歸,線性回歸比較容易操作,但一般情況下數(shù)據(jù)很難是線性的,而非線性回歸就超復(fù)雜了。
上圖的線性模型采用的是多階段的線性回歸,指數(shù)模型采用的是多階段的指數(shù)回歸,而黑色曲線代表的是真實數(shù)據(jù),從圖中看,似乎指數(shù)模型的吻合度更高一點。
數(shù)據(jù)挖掘算法之時間序列分析
例1:炒股的人都想預(yù)測明天是漲還是跌,實際上我們已經(jīng)積累了大量的歷史數(shù)據(jù),說不定還是可以預(yù)測的!某股票已經(jīng)連續(xù)漲了3天,明天會不會再漲呢?某股票連續(xù)跌了7天了,明天應(yīng)該不會再跌了吧?
例2:很多商家會在某些節(jié)假日時,重點銷售某些產(chǎn)品,以求可以賣出更多,圣誕節(jié)快到了,應(yīng)該主推什么產(chǎn)品好呢?實際上各商家的收款系統(tǒng)中,記錄了大量的與時間相關(guān)的銷售數(shù)據(jù),如果對這些數(shù)據(jù)做一下時間序列分析,說不定能找到重大商機(jī)。
時間序列分析,輸入列都是與時間相關(guān)的數(shù)據(jù),同時需要考慮季節(jié)、歷史等因素,這樣就可以預(yù)測某個時間會怎樣了。
數(shù)據(jù)挖掘算法之離散序列分析
某網(wǎng)站對訪問者的操作進(jìn)行了統(tǒng)計,如下:
說明:
1.訪問者進(jìn)入首頁后,有20%會進(jìn)入天氣頁面,40%進(jìn)入新聞頁面,20%進(jìn)入商業(yè)頁面。
2.從首頁進(jìn)入新聞頁面的機(jī)會是40%,而從天氣進(jìn)入新聞的機(jī)會是10%。
以上的分析對于優(yōu)化網(wǎng)站是很有幫助的,上述的分析用到了離散序列分析技術(shù)。
離散序列分析,輸入列是一系列有“次序”的數(shù)據(jù),通過這一系列有次序的數(shù)據(jù)預(yù)測另外一個數(shù)據(jù)情況。
數(shù)據(jù)挖掘算法之偏差分析
例:某銀行有信用卡異常使用情況的監(jiān)控系統(tǒng),如果發(fā)現(xiàn)某些用卡行為與客戶往常習(xí)慣不一樣時,會發(fā)出警告。
信用卡每次使用情況,包括時間、地點、金額、商戶等信息都會記錄下來。利用正常的歷史數(shù)據(jù)對系統(tǒng)進(jìn)行訓(xùn)練,告訴系統(tǒng)這些是“正?!钡氖褂们闆r,當(dāng)出現(xiàn)新的用卡記錄與這些正常使用的特征不符時,則可以發(fā)出警告。偏差分析的原理就是用正常的數(shù)據(jù)去訓(xùn)練系統(tǒng),由系統(tǒng)去判斷新數(shù)據(jù)是否在正常范圍?有沒有偏差?
軟件項目管理如果達(dá)到CMMI4級或以上的層次,就會使用基線來管理項目,基線上下限范圍內(nèi)可認(rèn)為是“正?!钡模绻錾舷孪?,則認(rèn)為是“偏差”,需要分析原因并采取措施。這種用基線來管理項目,其實也是一種數(shù)據(jù)挖掘算法-偏差分析。
數(shù)據(jù)挖掘算法之貝葉斯
貝葉斯算法是一種根據(jù)歷史事件發(fā)生的概率來推測將來的算法,由偉大的數(shù)學(xué)家Thomas Bayes所創(chuàng)建的。Thomas Bayes,1702年出生于英國倫敦。
該算法的原理是這樣的:如果事情A、事情B、事情C、...、這些事情發(fā)生了,那么事情X發(fā)生的幾率是多少。前面這些事情叫做前提事情,可以是一個到多個,前提事情越多分析起來就越復(fù)雜但會更加準(zhǔn)確。
舉個例子:據(jù)說麥當(dāng)勞當(dāng)年發(fā)現(xiàn),如果顧客購買了漢堡包和薯條,那么顧客再購買可樂的機(jī)會是70%,于是麥當(dāng)勞就將這三個產(chǎn)品捆綁在一起作為套餐,于是銷量大增。對于這個案例,前提事件就是購買漢堡包和購買薯條,要預(yù)測的是顧客會不會買可樂,預(yù)測結(jié)果就是有70%機(jī)會會買。我們可以利用貝葉斯原理來進(jìn)行數(shù)據(jù)挖掘。
數(shù)據(jù)挖掘算法之神經(jīng)網(wǎng)絡(luò)
人腦其實是由數(shù)量龐大的神經(jīng)細(xì)胞組成的,神經(jīng)細(xì)胞龐大的數(shù)量及復(fù)雜的結(jié)構(gòu),讓人類充滿了智慧。人一出世,腦袋是一片空白的,當(dāng)我們學(xué)會了某樣?xùn)|西的時候,我們會對起進(jìn)行推演和歸納。比方說我們認(rèn)識了這是一條狗,當(dāng)我們見到另外一條不同品種狗的時候,我們會判斷這也是一條狗。而計算機(jī)的判斷一般來說就比較死板了,如果有細(xì)微的偏差就會認(rèn)不出來。
神經(jīng)網(wǎng)絡(luò)算法其實就是通過計算機(jī)來構(gòu)造類似于人腦的神經(jīng)細(xì)胞網(wǎng)絡(luò)(當(dāng)然該網(wǎng)絡(luò)無論如何不能跟人腦相比),通過一些訓(xùn)練,能讓該網(wǎng)絡(luò)能識別某一類事物。文字識別、指紋識別等都是應(yīng)用了神經(jīng)網(wǎng)絡(luò)技術(shù)的。
通過數(shù)據(jù)訓(xùn)練,我們可以在輸入列與可預(yù)測列之間找到合適的神經(jīng)網(wǎng)絡(luò),然后通過這個網(wǎng)絡(luò)對新情況進(jìn)行判斷。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉(zhuǎn)換:從基礎(chǔ)用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉(zhuǎn)換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關(guān)聯(lián)查詢效率:打破 “拆分必慢” 的認(rèn)知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結(jié)構(gòu)數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結(jié)構(gòu)數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預(yù)期算子的內(nèi)涵、作用與應(yīng)用解析 動態(tài)隨機(jī)一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結(jié)構(gòu)數(shù)據(jù)特征價值的專業(yè)核心 表結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結(jié)構(gòu)化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導(dǎo)入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應(yīng)用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應(yīng)用 在數(shù)據(jù)分析與統(tǒng)計學(xué)領(lǐng)域,假設(shè)檢驗是驗證研究假設(shè)、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結(jié)構(gòu)數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結(jié)構(gòu)數(shù)據(jù)(以 “行 - 列” 存儲的結(jié)構(gòu)化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準(zhǔn)確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進(jìn)行 HTTP 網(wǎng)絡(luò)請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結(jié)構(gòu)數(shù)據(jù)價值的核心操盤手 表格結(jié)構(gòu)數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎(chǔ)、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學(xué)計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學(xué)計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務(wù)數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務(wù)數(shù)據(jù)分析是企業(yè)解決日常運(yùn)營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務(wù)邏輯:從規(guī)則拆解到數(shù)據(jù)把關(guān)的實戰(zhàn)指南 在業(yè)務(wù)系統(tǒng)落地過程中,“業(yè)務(wù)邏輯” 是連接 “需求設(shè)計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅(qū)動下的精準(zhǔn)零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當(dāng)下,精準(zhǔn)營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務(wù)數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅(qū)動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務(wù)數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務(wù)價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導(dǎo)向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10