国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

(原創)大數據時代:基于微軟案例數據庫數據挖掘知識點總結(Microsoft 關聯規則分析算法)

2024-07-21 02:48:53
字體:
來源:轉載
供稿:網友
(原創)大數據時代:基于微軟案例數據庫數據挖掘知識點總結(Microsoft 關聯規則分析算法)

前言

本篇繼續我們的微軟挖掘算法系列總結,前幾篇我們分別介紹了:Microsoft決策樹分析算法、Microsoft聚類分析算法、Microsoft Naive Bayes 算法、Microsoft 時序算法,后續還補充了二篇結果預測篇、Microsoft 時序算法——結果預算+下期彩票預測篇,看樣子有必要整理一篇目錄了,不同的算法應用的場景也是不同的,每篇文章都有它自己的應用場景介紹,有興趣的同學可以參閱。本篇我們總結微軟挖掘算法系列中一款比較重要的算法:Microsoft關聯規則分析算法,根據馬克思哲學理論,所謂世間萬物皆有聯系,而且聯系是普遍的,此篇的Microsoft關聯規則算法就是用來挖掘關聯關系的典型算法,閑言少敘,我們直接進入正題。

應用場景介紹

關聯規則算法是在大量數據事例中挖掘項集之間的關聯或相關聯系,它典型的應用就是購物籃分析,通過關聯規則分析幫助我們發現交易數據庫中不同的商品(項)之間的聯系,找到顧客購買行為模式,如購買某一個商品對其它商品的影響。進而通過挖掘結果應用于我們的超市貨品擺放、庫存安排、電子商務網站的導航安排、產品分類、根據購買模式對用戶進行分類,相關產品推薦等等。

比較典型的為大家所熟知的就是:啤酒和尿布的故事

其實很多電子商務網站中在我們瀏覽相關產品的時候,它的旁邊都會有相關產品推薦,當然這些它們可能僅僅是利用了分類的原理,將相同類型的的產品根據瀏覽量進而推薦給你,這也是關聯規則應用的一種較簡單的方式,而關聯規則算法是基于大量的數據事實,通過數據層面的挖掘來告訴你某些產品項存在關聯,有可能這種關聯關系有可能是自身的,比如:牙刷和牙膏、筷子和碗...有些本身就沒有關聯是通過外界因素所形成的關系,經典的就是:啤酒和尿布,前一種關系通過常識我們有時候可以獲取,但后一種關系通過經驗就不易獲得,而我們的關聯規則算法解決的就是這部分問題。

技術準備

(1)微軟案例數據倉庫(AdventureWorksDW208R2),這里我們應用到兩張表:vAssocSeqLineItems 表和 vAssocSeqOrders 表,這兩張表典型的“一對多”的關聯關系,vAssocSeqOrders為訂單表,vAssocSeqLineItems 表為訂單明細表,兩者通過OrderNumber關聯,稍后的步驟我們會詳細的分析這兩張表內容

(2)VS2008、SQL Server、 Analysis Services

操作步驟

(1)我們這里還是利用上一期的解決方案,然后數據源,然后數據源視圖,很簡單的步驟,不明白的可以看我們前面幾篇文章,然后將這兩張表的主外鍵關聯上,我們來看圖:

很基礎的東西,這里不做過多的解釋,Orders為主表,Items為明細表,通過CustomerKey主鍵進行關聯,下面我們瀏覽下這兩張表里面的數據:

vAssocSeqOrders表內容很簡單:訂單號(邏輯主鍵)、客戶號(客戶表的外鍵)、地區、收入類型,別的沒啥可預覽的,這種表是太基礎的內容,來看另外一張表:

vAssocSeqLineItems表,訂單號(外鍵)、購買數量、購買產品,很簡單的一張表

(2)新建挖掘結構

這里我們新建這個數據的挖掘模型,很簡單的下一步、下一步就行,有不明白的可以參照我以前的內容或者私信我,我們來看幾個關鍵的步驟:

這里我們選擇Microsoft關聯規則算法,然后下一步:

這里我們標示好事例表和嵌套表,下一步我們指定定型數據

這這里面我們配置好鍵、和輸入、輸出預測列,然后起個名字:relevance

至此,我們的Microsoft關聯規則分析算法已經初步建立好了,下面一步我們來配置該算法幾個關鍵屬性值。

(3)參數配置

此種算法有兩個參數比較重要,我們來看:

Support:定義規則被視為有效前必須存在的事例百分比。也就是說作為關聯規則篩選的事例可能性,比如設置成10%,也就是說在只要在所有事例中所占比為10%的時候才能進行挖掘。

PRobability:定義關聯被視為有效前必須存在的可能性。該參數是作為結果篩選的一個預定參數,比如設置成10%,也就是說在預測結果中概率產生為10%以上的結果值才被展示。

我們將該模型的兩個參數設置為:

MINIMUM_PROBABILITY = 0.2

MINIMUM_SUPPORT = 0.01

我們部署該模型,然后運行,我們來查看結果。

結果分析

部署完程序之后,我們通過“挖掘模型查看器”進行查看分析,不廢話,我們直接看圖:

從上面的截圖中我們可以看到,Microsoft關聯規則算法有三個面板來展示結果:規則、項集、依賴關系網絡

下面我們分別來介紹這三個面板,第一個,規則:

上面有幾個條件篩選項,第一個就是設置最小概率值,也就是上面我們新建模型設置的參數,第二個是是篩選規則,通過它我們找到相應的產品方便我們查看,還有一個重要性的參數,同樣的對于下面結果中的第二列可能性列,最大行數設置顯示的行數。

下面結果的表格中,第一列概率的值就是產品之前會產生關聯的概率,按照概率從大到小排序,第二列為可能性,該度量規則的有用性。該值越大則意味著規則越有用,設置該規則的目的是避免只使用概率可能發生誤導,比如有時候超市里舉行促銷活動會每個人都免費給一間物品,如果僅僅根據概率去推測,這件物品的概率將是1,但是這個規則是不準確的,因為它沒有和其它商品發生任何關聯,也就是說該值是無意義的,所以才出現了“重要性”列。

第三列即為我們的挖掘出來的結果項,前面為已有的產品項,‘—>’后面的即為推測的產品項,我們舉個例子,比如:

經過排序可以看到,上圖中的該條規則項為關聯規則最強的一種組合:前面的為:山地自行車(Mountain-200)、山地自行車內胎(Mountain Tire Tube)然后關聯關系最強的為:自行車輪胎(HL Mountain Tire)

嗯,有道理的很呀,有了山地自行車了,然后同樣也具備山地自行車內胎,剩下的就是需要自行車輪胎了。

其它的也是同樣的分析方法,這里我們就不分析了,有興趣的可以自己分析,嘿..我看到上面的第三條:

自行車(Road-750)、水壺(Water Bottle)->自行車水壺框(Road Bottle Cage)

....自行車、水壺,肯定得買個自行車水壺框了......

這個水壺好有個性,下面我們來具體看看跟這個利器有關的商品有哪些....嘿嘿...我們來看圖:

我那個去....瞅瞅...第一個結果:水壺框(Road Bottle Cage、Mountain Bottle Cage)...下面我目測了下...我可以明確的告訴你,丫的..這個名字叫Water Bottle(水壺...嘿嘿原諒我的E文能力)的利器最相關的就是水壺框(Bottle Cage)了...

超市里東西怎么擺放? 網站上該產品的相關推薦該推薦神馬? 有一個顧客已經買了這個東西你推薦它啥懂了吧?......

下面我們來看第二個面板能告訴我們什么,我們打開“項集”面板:

這個面板也簡單的很,上面有幾個篩選框設置我們的最低支持數,最小的項集大小,最大行數,這個沒啥說的,很簡單,下面的結果集顯示的為我們的數據集合中“支持”的事例集合個數、然后“大小”就是該規則下里面的項集的個數,第三列就是項集的詳細了。

我去...上面我們分析的水壺(Water Bottle)竟然排在了第一行,該行中的項集明細為:山地自行車(Mountain-200)、水壺(Water Bottle)、自行車水壺框(Road Bottle Cage),第二行也有,看來這廝看來很有分析價值,我們后續接著分析,嘿嘿

我們進入第三個面板“依賴關系網絡”,我們來看:

這幅圖已經很熟悉了吧,前幾篇文章中均有介紹,分析各種產品之間的關聯關系的強弱,拖動右側的滑動條然后進行分析

嘿嘿...我小心翼翼的拖動了這個滑動條...試圖找找上面我們分析的哪款利器(Water Bottle):

嘿嘿...找到了,上圖中就標示了這玩意相關的商品,我們來看Mountain Bottle Cage、Road Bottle Cage這兩個都是雙向關聯,然后Road-750、Cycling Cap、Hydration Pack...

其它的商品也利用這種規則進行分析,有興趣的可以自己分析。

推測結果導出

我們到此步驟直接將該模型的分析結果進行預測,暫且不驗證其準確性,直接將結果導出,來看看該算法的應用項,我們進入“挖掘模型預測”:

在下面的網格中設置我們的挖掘篩選規則,點擊“源”,選擇“預測函數”,選擇PredictAssociation,將vAssocSeqLineItems,將其拖到網格中 PredictAssociation 函數的“條件/參數”框。然后設置該參數為[Association].[v Assoc Seq Line Items],3

我們點擊運行,直接來查看結果:

看,上面的Microsoft關聯規則算法給我們推薦出來關聯性最強的三種產品,分別為:Sport-100、Water Bottle、Patch kit...

當然有時候我需要只查看某一種商品,不關系其它的產品有什么關聯關系,我們來做單獨查詢,我們在菜單中的“挖掘模型”,然后選擇“單獨查詢”:

點擊開單獨篩選的條件框:

在“嵌套表輸入”對話框中,選擇“鍵列”窗格中的 Touring Tire

我們點擊運行,來查看結果:

可以看到這里我們只是篩選出了該商品的關聯關系結果集,當然這里我們可以顯示出該產品之間的關聯的關系值,這里我們直接寫語句:

點擊運行,我們來看結果:

這里我們能看到,商品、支持的事例數,可能行、概率等明細值。

對于Microsoft關聯規則算法還有一種更有趣的應用就是,根據現有的顧客已經買的的產品,然后利用它自己的挖掘模型進行推測,推測出這個顧客將下一個買什么產品,比如上面的例子中,如果某個顧客已經買了山地自行車、自行車內胎,那么利用該模型它會自動推測出該顧客下一步將會買自行車輪胎,這個用法其實很關鍵,通過該方法預測已經能推測出顧客下一步的購買意向!...

如果將該挖掘模型利用到電子商務網站...那么他們推薦的商品將更準確,同樣所得到的精準銷售也更到位...結果你懂的!

我們來看步驟:

我們來選擇應用的事例表:

我們來選擇兩者的關聯關系,可以右鍵直接編輯:

然后編輯篩選函數,直接看圖:

點擊查看結果:

可以看到,這個顧客編號為:18239的他將買優先買三個產品:Water Bottle、Road-750、Touring-1000,后面還列出他的概率和可能性...

嘿嘿..我們打開數據庫來看看這個顧客的情況:

.....嘿嘿...這個顧客已經買了兩個商品了,Road-250、Road Bottle Cage,根據上面的推算法則...這個顧客應該馬上急需要買一個叫做Water Bottle的神器...用來喝水

然后,我們將這個結果保存到數據庫..一段簡單的代碼就能搞出那些顧客急需要什么商品...

他們最可能買的商品有哪些....,剩下的工作你懂得!

結語

本篇文章到此結束了...結語就是我們后面還會繼續分析其它的算法,有興趣的童鞋可以提前關注。上面其實還有幾部分需要補充,就是準確性驗證和篩選條件挖掘,比如我想知道某些特定客戶群體他們的購買的產品關聯規則等等吧,后續文章繼續分析這些問題。

文章的最后我們給出前幾篇算法的文章連接:

Microsoft決策樹分析算法總結

Microsoft聚類分析算法總結

Microsoft Naive Bayes 分析算法

Microsoft算法結果預測篇

Microsoft時序算法總結

Microsoft 時序算法——結果預算+下期彩票預測篇

如果您看了本篇博客,覺得對您有所收獲,請不要吝嗇您的“推薦”。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 句容市| 巢湖市| 基隆市| 金溪县| 布尔津县| 离岛区| 于田县| 万全县| 班戈县| 郧西县| 巴塘县| 鄂伦春自治旗| 静安区| 福泉市| 靖边县| 金秀| 定兴县| 抚远县| 安新县| 绥阳县| 巴青县| 永修县| 武安市| 聂拉木县| 富民县| 香港 | 江油市| 庆阳市| 错那县| 潮州市| 台安县| 嘉禾县| 水富县| 扎囊县| 富平县| 仁化县| 大宁县| 宣恩县| 高邑县| 凤凰县| 东城区|