




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《Python金融數據挖掘》高等教育出版第八章關聯規則算法【知識框架圖】關聯規則算法應用場景與研究意義支持度與置信度概念項目集格空間定理算法流程與實現目錄Contents第一節Apriori算法原理第二節Python代碼實現第三節案例:信用卡推薦本章學習目標了解關聯規則算法的研究對象、意義和應用場景。掌握支持度與置信度的概念及計算方法。掌握關聯規則算法的項目空間集裁剪方法。掌握Apriori算法的原理和實現方法。需求背景關聯規則(AssociationRules,AR)分析用于挖掘大規模數據集中有價值、有意義的聯系,是數據挖掘領域的十大算法之一。關聯規則分析在購物籃數據分析、商品推薦營銷、電子商務推廣、生物信息學研究、醫療診斷咨詢和航空電信等行業中都得到了廣泛應用。01Apriori算法原理關聯規則(AssociationRules,AR)分析用于挖掘大規模數據集中有價值、有意義的聯系,是數據挖掘領域的十大算法之一。關聯規則分析在購物籃數據分析、商品推薦營銷、電子商務推廣、生物信息學研究、醫療診斷咨詢和航空電信等行業中都得到了廣泛應用。關聯規則分析概念最早是1993年由Agrawal,Imielinski和Swami提出的,其主要研究目的是通過分析超市顧客購買行為的規律,發現連帶購買商品,進而以此為依據來改善貨架擺放方案(該分析稱為購物籃分析)。Agrawal從數學及計算機算法角度出發,提出了商品關聯關系的計算方法——Apriori算法。沃爾瑪從上個世紀90年代嘗試將Apriori算法引入到POS機數據分析中,獲得了顯著的業績增長。啤酒與尿布關于關聯規則數據挖掘的應用,有一個流傳甚廣的案例:“啤酒與尿布”的故事。這個故事產生于20世紀90年代的美國沃爾瑪超市中,沃爾瑪的超市管理人員分析銷售數據時發現了一個令人難于理解的現象:“啤酒”與“尿布”兩件看上去毫無關系的商品會經常出現在同一個購物籃中。這種獨特的銷售現象引起了管理人員的注意,經過調查發現,這種現象出現在年輕的父親身上。在美國有嬰兒的家庭中,一般是母親在家中照看嬰兒,年輕的父親前去超市購買尿布。父親在購買尿布的同時,往往會順便為自己購買啤酒,這樣就會出現啤酒與尿布這兩件看上去不相干的商品經常會出現在同一個購物籃的現象。如果這個年輕的父親在賣場只能買到兩件商品之一,則他很有可能會放棄購物而到另一家商店,直到可以一次同時買到啤酒與尿布為止。沃爾瑪發現了這一獨特的現象,開始在賣場嘗試將啤酒與尿布擺放在相同的區域,讓年輕的父親可以同時找到這兩件商品,并很快地完成購物;而沃爾瑪超市也可以讓這些客戶一次購買兩件商品,而不是一件,從而獲得了更好的商品銷售收入,這就是“啤酒與尿布”故事的由來。Apriori算法基本原理中的幾個重要概念:事務與項集關聯規則支持度和置信度最小支持度和最小置信度Apriori算法原理事務與項集關聯規則分析研究的對象是事務,事務可以理解為一種商業行為。例如,超市顧客的購買行為是一種包含很多個商品購買的事務;網民的頁面瀏覽行為是一種包含很多個頁面訪問的事務;一份保險公司的汽車保單是一種涵蓋了若干個不同險種的事務。事務由序號和項集組成。序號是確定一個事務的唯一標識。項目可以是一種商品、一個網頁鏈接和一個險種。若干個項目的集合簡稱項集(itemset),若項集包含k個項目,則稱該項集為k-項集。例子:某個用于銷售理財產品的APP當前有5項保險產品在售,為了分析顧客是否對這5項產品存在著關聯購買的行為,網站數據分析師抽取了9位顧客的購買記錄(這里為了簡化算法分析,選取的記錄數遠遠低于真實場景),對他們的購買項目進行了統計。為了便于處理,使用數字代替{1:開X存、2:飛X寶、3:新X利、4:友X盈、5:安X盈}。得到理財產品購買記錄清單如表8-1所示。顧客序號購買理財產品清單A1,2,5B2,4C2,3D1,2,4E1,3F2,3G1,3H1,2,3,5I1,2,3表8?1理財產品購買事務列表上表匯集了9個顧客的購買行為,每次購買行為稱之為事務,分別用A,B,C,D,E,F,G,H,I表示。第一個事務A顧客一次性購買了3個產品,其項集為:{1:開X存、2:飛X寶、5:安X盈},是個3-項集。本例中包含:5個2-項集3個3-項集1個4-項集2.關聯規則關聯規則研究的是事務集合內部的項集與項集之間的關系,這種關系有要有兩種表現形式。頻繁項集(FrequencyItemSets):經常同時出現的一些項目的集合。關聯規則(AssociationRules):項目集合A與項目集合B之間相互依存性和關聯性。如果存在A→B的蘊涵式,意味著兩種項目之間存在很強的某種聯系。例子:對于頻繁項集的研究來說,就是要找出在上述商品集合{開X存、飛X寶、新X利、友X盈、安X盈}中,找出那些“頻繁”出現的子集組合。在表81中,我們經過觀察可以發現:產品組合{1、3}在顧客E、G、H和I的購買清單中都出現了。也就意味著,買了產品“開X存”的消費者,很有可能會購買產品“新X利”,反之亦然(就相當于出門買尿布的爸爸,會順手給自己買啤酒)。作為APP運營者,有理由相信,如果把{1、3}作為一個優惠套裝,應該可以刺激兩者的銷量。“頻繁項集”組合的項與項之間,存在著購買意向的“關聯”。3.支持度和置信度在進行算法分析之前,我們先了解兩個重要的概念:支持度(Support)和置信度(Confidence)。支持度衡量規則在數據庫中出現的頻率,置信度衡量規則的強弱程度。4.最小支持度和最小置信度最小支持度是用戶定義的衡量支持度的一個閾值,表示項目集在統計意義上的最低重要性。最小置信度是用戶定義的衡量置信度的一個閾值,表示關聯規則的最低可靠性。同時滿足最小支持度閾值和最小置信度閾值的規則稱作強規則。通俗地講,就是要達到一定的門檻,我們才將這種現象納入考慮范圍。5.Apriori算法原理關聯規則算法的基本流程如下:找出所有出現過的產品項(候選單項集);將這些產品項的所有可能組合列出來(候選單項集,若干候選單項集組合形成的候選2-項集、3-項集……);在顧客的購買清單中,逐一對這些組合進行匹配(候選項集是否是某位顧客購買清單項中的子集,如果是,該候選項集的支持度加1;將大于事先設置好的支持度閾值的候選項集列出,計算其置信度。項目集格空間理論的內容主要包括兩條定理:定理1:頻繁項目集的所有子集仍是頻繁項目集。定理2:非頻繁項目集的所有超集是非頻繁項目集。具體到表8-1例子的問題,可以理解為:如果候選項集{1、3}滿足最小支持度要求,那么它的兩個子集{1}、{3}一定滿足最小支持度要求。另一方面,如果候選項集{1、3}不滿足最小支持度要求,那么把{1、3}作為子集的候選項集肯定也不滿足最小支持度要求,這些候選項集就不用再做進一步搜索匹配了。借助項目集格空間理論,可以顯著減少待搜索匹配的候選項集。關聯規則挖掘算法流程圖:02Python代碼實現【例8-1】逐步采用Python實現理財產品購買的關聯規則挖掘算法。根據以上分析,針對表8-1的理財產品購買例子,為了方便程序實現,我們將商品用數字來代替:{1:開X存、2:飛X寶、3:新X利、4:友X盈、5:安X盈}。例8-1續設計了createC1函數。該函數接收事務集數據,從中提取出所有的單項,返回的結果是這些單項構成的集合。對于Python來說,list列表是一個可變集合,為了對這些單項列表進行進一步的組合和查詢操作,需要將它轉變為一個凍結(不可變)集合,因此,在函數的末尾進行了映射和轉換:list(map(frozenset,C))。第14-15行加入輸出語句,輸出的是從事務集中取出的單項集列表,其中每一個元素都是凍結的set集合。例8-1續這里設計了aprioriGen函數,它用于從k-1項集中生成候選k項集。20-21行調用該函數,以In[2]:中生成的單項集C1為基礎,生成并輸出候選2-項集。通過該表傳入的參數Ck和k,可以依次在1-項集基礎上生成候選2-項集,在2-項集基礎上生成候選3-項集,……輸出Out: [frozenset({1,2}),frozenset({1,3}),frozenset({1,4}),frozenset({1,5}),frozenset({2,3}),frozenset({2,4}),frozenset({2,5}),frozenset({3,4}),frozenset({3,5}),frozenset({4,5})]例8-1續輸出Out: [[frozenset({3}),frozenset({4}),frozenset({5}),frozenset({2}),frozenset({1})],[frozenset({1,3}),frozenset({2,3}),frozenset({2,4}),frozenset({1,2}),frozenset({1,5}),frozenset({2,5})],[frozenset({1,2,3}),frozenset({1,2,5})],[]]{frozenset({1}):0.6666666666666666,frozenset({2}):0.7777777777777778,frozenset({5}):0.2222222222222222,frozenset({4}):0.2222222222222222,frozenset({3}):0.6666666666666666,frozenset({2,5}):0.2222222222222222,frozenset({1,5}):0.2222222222222222,frozenset({1,2}):0.4444444444444444,frozenset({2,4}):0.2222222222222222,frozenset({2,3}):0.4444444444444444,frozenset({1,4}):0.1111111111111111,frozenset({1,3}):0.4444444444444444,frozenset({3,5}):0.1111111111111111,frozenset({1,2,5}):0.2222222222222222,frozenset({1,2,3}):0.2222222222222222,frozenset({1,3,5}):0.1111111111111111,frozenset({2,3,5}):0.1111111111111111,frozenset({1,2,3,5}):0.1111111111111111}第13行檢查當前頻繁k-1項集非空時,循環執行以下語句。第14行通過k-1項集生成候選k-項集;第15行檢查生成的候選k-項集是否滿足最小支持度要求;第17行記錄滿足最小支持度的k-項集(候選k-項集由第15行篩選而來)的支持度數據;第19行將k項集添加到頻繁項集中;第21行k自增1。25-27行輸出了所有滿足最小支持度0.22要求的頻繁項集列表L1和所有項集的支持度數據字典suD2。03案例:信用卡推薦【例8-2】某機構對50個客戶持有信用卡的情況進行了調查,得到的結果如表8-2所示:IDgsnyzgjsjtyczs100011011001100021110110100030010011100040000101100050000110100060101100100071001110100081011110100090001001……100501010111其中ID列為客戶識別號,表頭的gs、ny等代表了不同的發卡行,單元格中的1代表該ID客戶持有該行發行的信用卡,0則代表未持有。請根據以上數據找出頻繁項集與關聯規則,從而協助制訂合適的信用卡促銷方案。首先對數據文件進行預處理,使之能夠滿足apriori函數和generateRules函數的輸入參數要求。首先定義val2colindex函數,用于將原來excel文件中的1轉換為發卡行名縮寫;0值保留,以便在后續處理中從列表中刪除。loadExcel函數將excel文件中的數據讀入Pandas的DataFrame數據對象pd1,使用lambda函數完成值1的轉換,隨后將pd1的每一行轉化為列表,將其中的ID和0刪去,并將這些列表依次追加到二維列表data2Dlist中,將其作為結果返回。程序如下:輸出結果:繼續:繼續:將apriori函數返回的兩個值作為參數進一步傳遞給generateRules(如In[9]:所示),便能得到關聯規則及其置信度。本章小結本章主要介紹了Apriori算法的基本概念,通過頻繁項集、最小支持度和最小置信度等要素進行關聯規則分析,并結合理財購買例子詳細闡述了Python程序的實現。除了Apriori,關聯規則還有其他的算法,有興趣的讀者可以閱讀參考文獻。重要概念1.關聯規則2.k-項集3.頻繁項集4.支持度與最小支持度5.置信度與最小置信度復習思考題1.醫院禮品店已完成5項交易,購買記錄清單如表8-3所示,請使用Apriori算法進行關聯規則分析。交易序號購買禮品清單使用數字代替1鮮花、慰問卡、蘇打水
2毛線玩具熊、鮮花、氣球、糖果
3慰問卡、糖果、鮮花
4毛線玩具熊、氣球、蘇打水
5鮮花、慰問卡、蘇打水
表8-3某醫院禮品店購買清單復習思考題問題:(1)使用數字代替商品完成第
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業自動化控制技術及其應用
- 工業自動化技術及其實踐
- 工作中的團隊協作能力提升
- 工業設計與產品外觀美學
- 工作壓力管理與員工滿意度提升
- 工業風格的商業地產裝修設計風格探索
- 工程招投標與合同管理解析
- 工作流程優化與時間利用率的提升
- 工程教育中的數據可視化教學
- 工廠安全風險評估與管理體系建設
- 會展應急預案展示
- 2024年共居生活洞察報告
- 行政案例分析-終結性考核-國開(SC)-參考資料
- 《配電自動化系統》課件
- 反恐防暴器械與戰術應用講解
- 創業基礎理論與實務(寧波財經學院)知到智慧樹章節答案
- 《燃氣分布式能源站調試及驗收規程》
- 土地租賃協議書樣本
- 《某飛機場物業管理服務方案》
- 移動OA系統建設方案
- 2024年重慶高考化學試題卷(含答案解析)
評論
0/150
提交評論