数据挖掘方法案例介绍
http://www.itongji.cn/article/111329232013.html
分類
?????????分類是用于識別什么樣的事務屬于哪一類的方法,可用于分類的算法有決策樹、bayes分類、神經網絡、支持向量機等等。
決策樹
例1
?????????一個自行車廠商想要通過廣告宣傳來吸引顧客。他們從各地的超市獲得超市會員的信息,計劃將廣告冊和禮品投遞給這些會員。
?????????但是投遞廣告冊是需要成本的,不可能投遞給所有的超市會員。而這些會員中有的人會響應廣告宣傳,有的人就算得到廣告冊不會購買。
所以最好是將廣告投遞給那些對廣告冊感興趣從而購買自行車的會員。分類模型的作用就是識別出什么樣的會員可能購買自行車。
?????????自行車廠商首先從所有會員中抽取了1000個會員,向這些會員投遞廣告冊,然后記錄這些收到廣告冊的會員是否購買了自行車。
數據如下:
| 事例列 | 會員編號 | 12496 | 14177 | 24381 | 25597 | ………… |
| 輸入列 | 婚姻狀況 | Married | Married | Single | Single | |
| 性別 | Female | Male | Male | Male | ||
| 收入 | 40000 | 80000 | 70000 | 30000 | ||
| 孩子數 | 1 | 5 | 0 | 0 | ||
| 教育背景 | Bachelors | Partial College | Bachelors | Bachelors | ||
| 職業 | Skilled Manual | Professional | Professional | Clerical | ||
| 是否有房 | Yes | No | Yes | No | ||
| 汽車數 | 0 | 2 | 1 | 0 | ||
| 上班距離 | 0-1 Miles | 2-5 Miles | 5-10 Miles | 0-1 Miles | ||
| 區域 | Europe | Europe | Pacific | Europe | ||
| 年齡 | 42 | 60 | 41 | 36 | ||
| 預測列 | 是否購買自行車 | No | No | Yes | Yes |
?
在分類模型中,每個會員作為一個事例,居民的婚姻狀況、性別、年齡等特征作為輸入列,所需預測的分類是客戶是否購買了自行車。
使用1000個會員事例訓練模型后得到的決策樹分類如下:
?
※圖中矩形表示一個拆分節點,矩形中文字是拆分條件。
※矩形顏色深淺代表此節點包含事例的數量,顏色越深包含的事例越多,如全部節點包含所有的1000個事例,顏色最深。經過第一次基于年齡的拆分后,年齡大于67歲的包含36個事例,年齡小于32歲的133個事例,年齡在39和67歲之間的602個事例,年齡32和39歲之間的229個事例。所以第一次拆分后,年齡在39和67歲的節點顏色最深,年齡大于67歲的節點顏色最淺。
※節點中的條包含兩種顏色,紅色和藍色,分別表示此節點中的事例購買和不購買自行車的比例。如節點“年齡>=67”節點中,包含36個事例,其中28個沒有購買自行車,8個購買了自行車,所以藍色的條比紅色的要長。表示年齡大于67的會員有74.62%的概率不購買自行車,有23.01%的概率購買自行車。
?????????在圖中,可以找出幾個有用的節點:
1. 年齡小于32歲,居住在太平洋地區的會員有72.75%的概率購買自行車;
2. 年齡在32和39歲之間的會員有68.42%的概率購買自行車;
3. 年齡在39和67歲之間,上班距離不大于10公里,只有1輛汽車的會員有66.08%的概率購買自行車;
4. 年齡小于32歲,不住在太平洋地區,上班距離在1公里范圍內的會員有51.92%的概率購買自行車;
?????????在得到了分類模型后,將其他的會員在分類模型中查找就可預測會員購買自行車的概率有多大。隨后自行車廠商就可以有選擇性的投遞廣告冊。
| 數據挖掘的一般流程 第一步,建立模型,確定數據表中哪些列是要用于輸入,哪些是用于預測,選擇用何種算法。這時建立的模型內容是空的,在模型沒有經過訓練之前,計算機是無法知道如何分類數據的。 第二步,準備模型數據集,例子中的模型數據集就是1000個會員數據。通常的做法是將模型集分成訓練集和檢驗集,比如從1000個會員數據中隨機抽取700個作為訓練集,剩下300個作為檢驗集。 第三步,用訓練數據集填充模型,這個過程是對模型進行訓練,模型訓練后就有分類的內容了,像例子圖中的樹狀結構那樣,然后模型就可以對新加入的會員事例進行分類了。由于時效性,模型內容要經常更新,比如十年前會員的消費模式與現在有很大的差異,如果用十年前數據訓練出來的模型來預測現在的會員是否會購買自行車是不合適的,所以要按時使用新的訓練數據集來訓練模型。 第四步,模型訓練后,還無法確定模型的分類方法是否準確。可以用模型對300個會員的檢驗集進行查詢,查詢后,模型會預測出哪些會員會購買自行車,將預測的情況與真實的情況對比,評估模型預測是否準確。如果模型準確度能滿足要求,就可以用于對新會員進行預測。 第五步,超市每天都會有新的會員加入,這些新加入的會員數據叫做預測集或得分集。使用模型對預測集進行預測,識別出哪些會員可能會購買自行車,然后向這些會員投遞廣告。 ? |
Na?ve Bayes
?????????Na?ve Bayes是一種由統計學中Bayes法發展而來的分類方法。
?
例1
?????????有A、B兩個政黨對四個議題進行投票,A政黨有211個國會議員,B政黨有223個國會議員。下表統計了政黨對四個議題贊成或反對的票數。
|
| 國家安全法 | 個人財產保護法 | 遺產稅 | 反分裂法 | 總計 | ||||
| ?????????????????????? | 贊成 | 反對 | 贊成 | 反對 | 贊成 | 反對 | 贊成 | 反對 |
|
| A政黨 | 41 | 166 | 87 | 114 | 184 | 11 | 178 | 23 | 211 |
| B政黨 | 214 | 4 | 211 | 6 | 172 | 36 | 210 | 1 | 223 |
|
|
|
|
|
|
|
|
|
|
|
| A政黨 | 20% | 80% | 43% | 57% | 94% | 6% | 89% | 11% | 49% |
| B政黨 | 98% | 2% | 97% | 3% | 83% | 17% | 99.50% | 0.50% | 51% |
?????????A政黨的議員有20%概率贊成國家安全法,43%概率贊成個人財產保護法,94%概率贊成遺產稅,89%概率贊成反分裂法。
????B政黨的議員有98%概率贊成國家安全法,97%概率贊成個人財產保護法,83%概率贊成遺產稅,99.5%概率贊成反分裂法。
????基于這樣的數據,Na?ve Bayes能預測的是如果一個議員對國家安全法投了贊成票,對個人財產保護法投了反對票,對遺產稅投了贊成票,對反分裂法投了贊成票。哪么,這個議員有多大的概率屬于A政黨,又有多少的概率屬于B政黨。
?
例2
????一個產品在生產后經檢驗分成一等品、二等品、次品。生產這種產品有三種可用的配方,兩種機器,兩個班組的工人。下面是1000個產品的統計信息。
|
| 配方 | 機器 | 工人 | 總計 | ||||
|
| 配方1 | 配方2 | 配方3 | 機器1 | 機器2 | 班組1 | 班組2 |
|
| 一等品 | 47 | 110 | 121 | 23 | 255 | 130 | 148 | 278 |
| 二等品 | 299 | 103 | 165 | 392 | 175 | 327 | 240 | 567 |
| 次品 | 74 | 25 | 56 | 69 | 86 | 38 | 117 | 155 |
|
|
|
|
|
|
|
|
|
|
| 一等品 | 16.91% | 39.57% | 43.53% | 8.27% | 91.73% | 46.76% | 53.24% | 27.80% |
| 二等品 | 52.73% | 18.17% | 29.10% | 69.14% | 30.86% | 57.67% | 42.33% | 56.70% |
| 次品 | 47.74% | 16.13% | 36.13% | 44.52% | 55.48% | 24.52% | 75.48% | 15.50% |
?????????使用Na?ve Bayes模型,每次在制定生產計劃,確定生產產品所用的配方、機器及工人,便能預測生產中有多少的一等品、二等品和次品。
?
神經網絡
?????????神經網絡是一種模擬生物上神經元的工作的機器學習方法。
下面是銀行用來識別給申請信用卡的客戶發放何種信用卡的神經網絡。
?????????圖中每個橢圓型節點接受輸入數據,將數據處理后輸出。輸入層節點接受客戶信息的輸入,然后將數據傳遞給隱藏層,隱藏層將數據傳遞給輸出層,輸出層輸出客戶屬于哪類信用卡。這類似于人腦神經元受到刺激時,神經脈沖從一個神經元傳遞到另一個神經元。
?
每個神經元節點內部包含有一個組合函數∑和激活函數f。X1, X2是其他神經元的輸出值,對此神經元來說是輸入值,組合函數將輸入值組合后傳遞給激活函數。激活函數經過特定的計算后得到輸出值y,y有被傳遞給其他神經元。
輸入邊上的w1和w2是輸入權值,用于在組合函數中對每個輸入值進行加權。訓練模型時,客戶事例輸入,神經網絡計算出客戶的類別,計算值與真實值比較后,模型會修正每個輸入邊上的權值。在大量客戶事例輸入后,模型會不斷調整,使之更吻合真實情況,就像是人腦通過在同一脈沖反復刺激下改變神經鍵連接強度來進行學習。
?
回歸
?????????分類算法是建立事例特征對應到分類的方法。分類必須是離散的,像信用卡的種類只有三種,如果是要通過客戶收入、婚姻狀況、職業等特征預測客戶會使用信用卡消費多少金額時,分類算法就無能為力了,因為消費金額可能是大于0的任意值。這時只能使用回歸算法。
例如,下表是工廠生產情況。
| 機器數量 | 工人數量 | 生產數量 |
| 12 | 60 | 400 |
| 7 | 78 | 389 |
| 11 | 81 | 674 |
| …… | ||
?????????使用線性回歸后,得到了一個回歸方程:生產數量=α+β·機器數量+γ·工人數量。代表每多一臺機器就可以多生產β單位的產品,每多一個工人就可以多生產γ單位的產品。
?
?????????除了簡單的線性回歸和邏輯回歸兩種,決策樹可以建立自動回歸樹模型,神經網絡也可以進行回歸,實際上,邏輯回歸就是去掉隱藏層的神經網絡。
?????????例如,服裝銷售公司要根據各地分銷店面提交的計劃預計實際銷售量。
?
?????????使用自動回歸樹得到上圖的模型,假如山東銷售店提交的計劃童裝數量是500套,預計銷售量是-100+0.6×500=200套,按6Sigma原則,有99.97%的概率實際銷售量可能是200±90套。廣州提交計劃童裝300套,預計銷售量是20+0.98×300=314±30套。廣州的銷售店制定的童裝計劃比山東的準確。
聚類
?????????分類算法的目的是建立事例特征到類別的對應法則。但前提是類別是已存在的,如已知道動物可以分成哺乳類和非哺乳類,銀行發行的信用卡有銀卡、金卡、白金卡三種。
?????????有時在分類不存在前,要將現有的事例分成幾類。比如有同種材料要分類裝入到各個倉庫中,這種材料有尺寸、色澤、密度等上百個指標,如果不熟悉材料的特性很難找到一種方法將材料分裝。
?????????又例如,銀行剛開始信用卡業務時,沒有將客戶分類,所有的客戶都使用同一種信用卡。在客戶積累到一定的數量后,為了方便管理和制定市場策略,需要將客戶分類,讓不同類別的客戶使用不同的信用卡。但問題是,銀行該把客戶分成幾個類別,誰該屬于哪一類。
?????????假定銀行僅僅要參照客戶的收入和使用信用卡銷售金額兩個指標對客戶分類。通常情況下,僅僅是衡量這些指標的高低來分類,如規定收入小于4000,且消費小于2000的客戶分成第一類;收入在4000至8000,消費在2000至4000的客戶分成第二類;收入在8000至12000,消費在4000至6000的客戶分成第三類;收入在12000以上,消費在6000以上分成第四類。下面的圖展示了這種分類。
?????????圖中三角形的點代表客戶,圖中的紅色線條是對客戶的分類。可以看到這種不合理,第一類別沒有包含任何事例,而第四類也只有少量事例,而第二和第三類分界處聚集著大量事例。
?????????觀測圖像,發現大部分客戶事例聚集在一起形成了三個簇,下圖中用三個橢圓標出了這些簇。
?????????同在一個簇中的客戶有著類似的消費行為,黑色簇中的客戶消費額與收入成正比;藍色簇中的客戶不習慣使用信用卡消費,可以對這類客戶發放一種低手續費的信用卡,鼓勵他們使用信用卡消費;綠色簇中的客戶消費額相對收入來說比較高,應該為這類客戶設計一種低透支額度的信用卡。
聚類模型就是這種可以識別有著相似特征事例,把這些事例聚集在一起形成一個類別的算法。
聚類模型除了能將相似特征的事例歸為一類外,還常用來發現異常點。
?
像上圖中用紅圈標出的點,這兩個客戶偏離了已有的簇,他們的消費行為異于一般人,消費遠超出收入。意味他們有其他不公開的收入來源,這些客戶是有問題的。
科學試驗中,研究人員對異常點很感興趣,通過研究不尋常的現象提出新的理論。
?
?????????聚類的另一個用途是發現屬性間隱含的關系。例如有30名學生考試成績:
| 學號 | 美術 | 語文 | 物理 | 歷史 | 英語 | 音樂 | 數學 | 化學 |
| 31001 | 74 | 50 | 89 | 61 | 53 | 65 | 96 | 87 |
| 31002 | 70 | 65 | 88 | 55 | 50 | 65 | 92 | 87 |
| 31003 | 65 | 50 | 86 | 54 | 63 | 73 | 91 | 96 |
| …… | ||||||||
教師想知道學科之間是否有關聯,如果學生某門學科成績優秀,是否會在另一門學科上也有優勢。
?
通過聚類后將30名學生分成了3個類:
| 變量 | 狀態 | 總體(全部) | 分類 3 | 分類 2 | 分類 1 |
| 大小 |
| 30 | 10 | 10 | 10 |
| 語文 | 平均值 | 74 | 71.6 | 89.6 | 59.4 |
| 語文 | 偏差 | 13.39 | 4.38 | 3.95 | 5.46 |
| 英語 | 平均值 | 72 | 72.7 | 88.1 | 56.1 |
| 英語 | 偏差 | 14.27 | 4.4 | 6.9 | 4.46 |
| 音樂 | 平均值 | 78 | 89.1 | 74.4 | 71 |
| 音樂 | 偏差 | 9.71 | 7.31 | 4.12 | 5.27 |
| 物理 | 平均值 | 75 | 74 | 56.6 | 93.4 |
| 物理 | 偏差 | 15.96 | 4.42 | 4.84 | 4.95 |
| 數學 | 平均值 | 75 | 74.3 | 57.3 | 92.3 |
| 數學 | 偏差 | 15.16 | 4.4 | 3.97 | 4.95 |
| 美術 | 平均值 | 78 | 90.6 | 71.8 | 71.4 |
| 美術 | 偏差 | 10.43 | 5.38 | 4.71 | 5.66 |
| 歷史 | 平均值 | 73 | 73.2 | 87.6 | 58.1 |
| 歷史 | 偏差 | 13.23 | 5.85 | 4.43 | 5.13 |
| 化學 | 平均值 | 74 | 74.7 | 56.2 | 90.6 |
| 化學 | 偏差 | 15.09 | 3.06 | 5.39 | 6.02 |
分類1學生的共同特點是他們的物理、數學、化學平均分都比較高,但語文、歷史、英語的分數很低;分類2則恰恰相反。從中,可以得到規則:物理、數學和化學這三門學科是有相關性的,這三門學科相互促進,而與語文、歷史、英語三門學科相排斥。
?????????分類1中的學生
序列聚類
?????????新聞網站需要根據訪問者在網頁上的點擊行為來設計網站的導航方式。通過聚類算法可以發現網頁瀏覽者的行為模式,比如識別出了一類瀏覽者的行為:喜歡察看體育新聞和政治新聞。但瀏覽者訪問網頁是有順序的,先瀏覽體育新聞再瀏覽政治新聞,與先瀏覽政治新聞再瀏覽體育新聞是兩種不同的行為模式,當一個瀏覽者在瀏覽體育新聞時,需要預測他下一步會訪問哪個網頁。
?????????超市里也需要識別顧客購物的順序,比如發現一類購物順序是:尿布——奶瓶——嬰兒手推車——幼兒玩具,當一個顧客購買了尿布的時候,就可以陸續向顧客寄發奶瓶、嬰兒手推車、幼兒玩具的傳單。
?????????序列聚類通過對一系列事件發生的順序聚類,來預測當一個事件發生時,下一步會發生什么事件。?
關聯
?????????在客戶的一個訂單中,包含了多種產品,這些產品是有關聯的。比如購買了輪胎的外胎就會購買內胎;購買了羽毛球拍,就會購買羽毛球。
?????????關聯分析能夠識別出相互關聯的事件,預測一個事件發生時有多大的概率發生另一個事件。
http://blog.sina.com.cn/s/blog_5e6e277e0100dv24.html
總結
以上是生活随笔為你收集整理的数据挖掘方法案例介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据挖掘工具weka使用
- 下一篇: WebService 之 WSDL文件