拓端tecdat|Python在線零售數(shù)據(jù)關(guān)聯(lián)規(guī)則挖掘Apriori算法數(shù)據(jù)可視化
原文鏈接:http://tecdat.cn/?p=23955
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
關(guān)聯(lián)規(guī)則學(xué)習(xí)?在機(jī)器學(xué)習(xí)中用于發(fā)現(xiàn)變量之間的有趣關(guān)系。Apriori算法是一種流行的關(guān)聯(lián)規(guī)則挖掘和頻繁項(xiàng)集提取算法,在關(guān)聯(lián)規(guī)則學(xué)習(xí)中有應(yīng)用。它旨在對(duì)包含交易的數(shù)據(jù)庫(kù)進(jìn)行操作,例如商店客戶的購(gòu)買(購(gòu)物籃分析)。除了購(gòu)物籃分析之外,該算法還可以應(yīng)用于其他問(wèn)題。例如,在網(wǎng)絡(luò)用戶導(dǎo)航領(lǐng)域,我們可以搜索諸如訪問(wèn)過(guò)網(wǎng)頁(yè)A和網(wǎng)頁(yè)B的客戶也訪問(wèn)過(guò)網(wǎng)頁(yè)C的規(guī)則。
Python sklearn 庫(kù)沒(méi)有 Apriori 算法,其中 Python 庫(kù)?MLxtend?用于市場(chǎng)籃子分析。在這篇文章中,我將分享如何使用Python 獲取關(guān)聯(lián)規(guī)則和繪制圖表,為數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則創(chuàng)建數(shù)據(jù)可視化?。首先我們需要得到關(guān)聯(lián)規(guī)則。
從數(shù)組數(shù)據(jù)中獲取關(guān)聯(lián)規(guī)則
要獲取關(guān)聯(lián)規(guī)則,您可以運(yùn)行以下代碼
import pandas as pd
oary = ott(daset).trafrm(dtset)
df = pd(oh_ry, column=oht.cns)
print (df)??????????

frequent = apror(df, mn_upprt=0.6, useclaes=True)
print (frequent )
?

數(shù)據(jù)挖掘中的置信度和支持度
為了選擇有趣的規(guī)則,我們可以使用最知名的約束,即置信度和支持度的最小閾值?。
支持度是指項(xiàng)目集在數(shù)據(jù)集中出現(xiàn)的頻率。
置信度表示規(guī)則被發(fā)現(xiàn)為真的頻率。
suprt=rules(['suport'])
cofidece=rules(['confience'])
關(guān)聯(lián)規(guī)則——散點(diǎn)圖
建立散點(diǎn)圖的python代碼。由于這里有幾個(gè)點(diǎn)有相同的值,我添加了小的隨機(jī)值來(lái)顯示所有的點(diǎn)。
for i in range (len(supprt)):
???suport[i] = suport[i] + 0.00 * (ranom.radint(,10)- 5)
???confidence[i] = confidence[i] + 0.0025 * (rao.rant(1,10) - 5)
plt.show()
以下是支持度和置信度的散點(diǎn)圖:

如何為數(shù)據(jù)挖掘中的關(guān)聯(lián)規(guī)則創(chuàng)建數(shù)據(jù)可視化
為了將關(guān)聯(lián)規(guī)則表示為圖。這是關(guān)聯(lián)規(guī)則示例:(豆,洋蔥)==>(雞蛋)

下面的有向圖是為此規(guī)則構(gòu)建的,如下所示。具有 R0 的節(jié)點(diǎn)標(biāo)識(shí)一個(gè)規(guī)則,并且它總是具有傳入和傳出邊。傳入邊將代表規(guī)則前項(xiàng),箭頭在節(jié)點(diǎn)旁邊。?
下面是一個(gè)從實(shí)例數(shù)據(jù)集中提取的所有規(guī)則的圖形例子。

這是構(gòu)建關(guān)聯(lián)規(guī)則的源代碼。
import networkx as nx?
??G1 = nx.iGaph()
??colr_ap=[]
??N = 50
??colors = np.randm.rndN)???
??for i in range (rue_o_w):?????
????G1.a_od_from(["R"+st(i)])
????for a in rsloc[i]['anedts']:
????????G1.dnoesrom([a])
????????G1.adedg(a, "R"+str(i))
????for c in ruleioc[i]['']:
????????????G1.addnodsom()
????????????G1.adddge"R"str(i), c, colo=[i], weht=2)
??for noe in G1:
???????fod_astring = alse
???????for iem in sts:
???????????if nde==itm:
????????????????found_a_ring = True
???????if fond_sting:
????????????cor_mp.apend('ellw')
???????else:
????????????cor_mapapped('green')??????
??plt.show()
在線零售數(shù)據(jù)集的數(shù)據(jù)可視化
為了對(duì)可視化進(jìn)行真實(shí)感受和測(cè)試,我們可以采用可用的在線零售商店數(shù)據(jù)集并應(yīng)用關(guān)聯(lián)規(guī)則圖的代碼。
以下是支持度和置信度的散點(diǎn)圖結(jié)果。這次使用seaborn庫(kù)來(lái)構(gòu)建散點(diǎn)圖。下面是零售數(shù)據(jù)集關(guān)聯(lián)規(guī)則(前 10 條規(guī)則)的可視化。



最受歡迎的見(jiàn)解
1.探析大數(shù)據(jù)期刊文章研究熱點(diǎn)
2.618網(wǎng)購(gòu)數(shù)據(jù)盤(pán)點(diǎn)-剁手族在關(guān)注什么
3.r語(yǔ)言文本挖掘tf-idf主題建模,情感分析n-gram建模研究
4.python主題建??梢暬痩da和t-sne交互式可視化
5.r語(yǔ)言文本挖掘nasa數(shù)據(jù)網(wǎng)絡(luò)分析,tf-idf和主題建模
6.python主題lda建模和t-sne可視化
7.Python中的Apriori關(guān)聯(lián)算法市場(chǎng)購(gòu)物籃分析
8.通過(guò)Python中的Apriori算法進(jìn)行關(guān)聯(lián)規(guī)則挖掘
9.python爬蟲(chóng)進(jìn)行web抓取lda主題語(yǔ)義數(shù)據(jù)分析