數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言- 課件 第9、10章 k均值聚類、關(guān)聯(lián)規(guī)則分析_第1頁
數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言- 課件 第9、10章 k均值聚類、關(guān)聯(lián)規(guī)則分析_第2頁
數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言- 課件 第9、10章 k均值聚類、關(guān)聯(lián)規(guī)則分析_第3頁
數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言- 課件 第9、10章 k均值聚類、關(guān)聯(lián)規(guī)則分析_第4頁
數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言- 課件 第9、10章 k均值聚類、關(guān)聯(lián)規(guī)則分析_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

DataMiningandDataAnalysiswithR數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言合作QQ:243001978第九章K均值聚類合作QQ:243001978算法原理01算法示例02模型理解03R語言編程04章節(jié)內(nèi)容9.1

算法原理K均值聚類是經(jīng)典的劃分聚類算法,是一種迭代的聚類分析算法,在迭代過程中不斷移動(dòng)聚類中心,直到聚類準(zhǔn)則函數(shù)收斂為止,迭代步驟如下:①隨機(jī)選擇K個(gè)點(diǎn)作為質(zhì)心;②將每個(gè)數(shù)據(jù)對象劃分到距離最近的質(zhì)心所在的類中;③計(jì)算每個(gè)類中數(shù)據(jù)對象的均值作為新的質(zhì)心;④重復(fù)步驟②和③,直到質(zhì)心不再發(fā)生變化或達(dá)到最大迭代次數(shù)。最優(yōu)K值選取

最優(yōu)K值選取手肘法SSE和K值關(guān)系示例圖:

從上圖目測,肘部對應(yīng)的K值為4,即為最佳聚類數(shù)。當(dāng)目測法難以識(shí)別肘部位置時(shí),可以通過觀測斜率、斜率變化量等指標(biāo)進(jìn)行定量判斷。最優(yōu)K值選取

最優(yōu)K值選取

距離度量

K均值算法延伸K-Means++:對K均值算法隨機(jī)初始化質(zhì)心的過程進(jìn)行優(yōu)化,使初始質(zhì)心的選擇更合理,從而提升算法收斂速度。elkanK-Means:利用兩邊之和大于第三邊,以及兩邊之差小于第三邊的三角形性質(zhì),來減少距離的計(jì)算,相較于傳統(tǒng)的K-Means迭代速度有很大的提高。MiniBatchK-Means:使用樣本集中的部分樣本來做傳統(tǒng)的K-Means,這樣可以避免樣本量太大時(shí)的計(jì)算難題,算法收斂速度大大加快,但聚類的精確度也會(huì)有所降低。為了增加算法的準(zhǔn)確性,一般會(huì)運(yùn)行多次MiniBatchK-Mean算法,并選擇其中最優(yōu)的聚類簇。9.2

算法示例例9-1:對如下年齡數(shù)據(jù)進(jìn)行聚類:[14,15,16,18,18,20,21,21,23,28,34,40,43,49,60,61]。K值設(shè)定為2,隨機(jī)選擇16和23作為兩個(gè)質(zhì)心,使用歐式距離。步驟如下:(1)計(jì)算距離,并進(jìn)行第一次迭代將各樣本點(diǎn)劃分到距離最近的質(zhì)心所在的類(Group)中,并更新各個(gè)聚類的質(zhì)心(Mean),得到以下分類結(jié)果:141516181820212123283440434960611621022455712182427334445239875532205111720263738表9-1各樣本點(diǎn)與質(zhì)心的距離矩陣Group1(16)Group2(23)Mean1(16)Mean2(23)[14,15,16,18,18][20,21,21,23,28,34,40,43,49,60,61]16.236.36表9-2第一次迭代結(jié)果9.2

算法示例(2)將兩個(gè)分組中樣本數(shù)據(jù)的均值作為新的質(zhì)心,并重復(fù)之前步驟Group1(16.2)Group2(36.36)Mean1(16.2)Mean2(36.36)[14,15,16,18,18,20,21,21,23][28,34,40,43,49,60,61]18.445表9-3第二次迭代結(jié)果Group1(18.4)Group2(45)Mean1(18.4)Mean2(45)[14,15,16,18,18,20,21,21,23,28][34,40,43,49,60,61]19.447.83表9-4第三次迭代結(jié)果Group1(19.4)Group2(47.83)Mean1(19.4)Mean2(47.83)[14,15,16,18,18,20,21,21,23,28][34,40,43,49,60,61]19.447.83表9-5第四次迭代結(jié)果9.2

算法示例(3)算法終止條件:新求得的質(zhì)心和原質(zhì)心相同,如表9-5所示。最終,得到以下兩類:Group1(19.4)=[14,15,16,18,18,20,21,21,23,28]Group2(47.83)=[34,40,43,49,60,61]Group1(19.4)Group2(47.83)Mean1(19.4)Mean2(47.83)[14,15,16,18,18,20,21,21,23,28][34,40,43,49,60,61]19.447.83表9-5第四次迭代結(jié)果9.3

模型理解K均值聚類優(yōu)點(diǎn):聚類效果較優(yōu)。原理比較簡單,比較容易實(shí)現(xiàn),收斂速度快。算法可解釋性比較強(qiáng)。K均值聚類缺點(diǎn):K值選取不當(dāng)可能會(huì)導(dǎo)致較差的聚類結(jié)構(gòu)。采用迭代方法,得到的結(jié)果只是局部最優(yōu),在大規(guī)模數(shù)據(jù)上收斂較慢。如果各隱含類別的數(shù)據(jù)不均衡,會(huì)導(dǎo)致聚類效果不佳。不適合發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇。對噪聲點(diǎn)和異常點(diǎn)比較敏感。初始聚類中心的選擇很大程度上會(huì)影響聚類效果。9.4R語言編程案例使用R語言內(nèi)置的iris數(shù)據(jù)集,忽略種類變量Species,對150種鳶尾花植物樣本進(jìn)行K均值聚類分析,數(shù)據(jù)集情況如下:#R編程示例-iris數(shù)據(jù)集head(iris)輸出:

屬性名稱屬性解釋屬性示例Sepal.Length花瓣長度5.1Sepal.Width花瓣寬度3.5Petal.Length花萼長度1.4Petal.Width花萼寬度0.2Species所屬物種setosa表9-6iris數(shù)據(jù)屬性解釋數(shù)據(jù)預(yù)處理對花瓣長度、花瓣寬度、花萼長度和花萼寬度四種屬性進(jìn)行z-score標(biāo)準(zhǔn)化處理df<-scale(iris[1:4])head(df)輸出:

確定最佳K值R語言factoextra包中的fviz_nbclust()函數(shù)可對最佳K值進(jìn)行選擇

fviz_nbclust(x,FUNcluster=NULL,method=c(“silhouette”,“wss”,),diss=NULL,k.max=10,...),參數(shù)含義如下:

FUNcluster:用于聚類的函數(shù),可用的參數(shù)值為:kmeans,cluster::pam,cluster::clara,cluster::fanny,hcut等;method:用于評估最佳簇?cái)?shù)的指標(biāo);diss:相異性矩陣,由dist()函數(shù)產(chǎn)生的對象,如果設(shè)置為NULL,那么表示使用dist(data,method="euclidean")計(jì)算data參數(shù),得到相異性矩陣;k.max:最大的簇?cái)?shù)量,至少是2。確定最佳K值使用手肘法確定最佳K值,代碼及結(jié)果如下

從圖9-4可見,最佳K值應(yīng)為2library(factoextra)library(ggplot2)#method設(shè)置為手肘法”wss”fviz_nbclust(df,kmeans,method="wss")輸出:

圖9-5手肘法結(jié)果圖確定最佳K值使用輪廓系數(shù)法確定最佳K值,代碼及結(jié)果如下

從圖9-5可見,K=2時(shí)輪廓系數(shù)最大,因此最佳K值為2library(factoextra)library(ggplot2)#method設(shè)置為輪廓系數(shù)法”silhouette”fviz_nbclust(df,kmeans,method="silhouette")輸出:

圖9-6輪廓系數(shù)法結(jié)果圖聚類及可視化R語言中的kmeans(x,centers,iter.max,nstart)方法用于聚類x:數(shù)據(jù)集(矩陣或數(shù)據(jù)框);centers:要提取的聚類數(shù)目;iter.max:最大迭代次數(shù);nstart:初始聚類中心的選擇次數(shù)。K均值聚類對初始中心值的選擇較為敏感,通過設(shè)置nstart值嘗試多種初始值配置,以得到最好結(jié)果。除較大數(shù)據(jù)集外,通常將nstart設(shè)置為20或25。由于初始中心是隨機(jī)選擇的,聚類前使用set.seed()函數(shù)指定隨機(jī)種子保證結(jié)果可復(fù)現(xiàn)聚類及可視化聚類并可視化的代碼和結(jié)果如下set.seed(1234)km.res<-kmeans(df,2,nstart=25)#可視化結(jié)果fviz_nbclust(km.res,data=df)輸出:

圖9-7iris數(shù)據(jù)集聚類結(jié)果本章小結(jié)首先詳細(xì)介紹了K均值算法原理,包括算法步驟、最優(yōu)K值選擇以及距離度量,并展示了一些延伸的K均值算法;隨后通過示例講解K均值聚類算法的運(yùn)行過程;接著,為了加深讀者對K均值聚類的理解,本章接著介紹了K均值聚類的優(yōu)缺點(diǎn);最后利用R語言對K均值聚類過程進(jìn)行實(shí)踐。DataMiningandDataAnalysiswithR數(shù)據(jù)挖掘與數(shù)據(jù)分析:基于R語言合作QQ:243001978第十章關(guān)聯(lián)規(guī)則分析合作QQ:243001978關(guān)聯(lián)分析與概率統(tǒng)計(jì)01關(guān)聯(lián)規(guī)則的挖掘02Apriori算法原理03R編程04章節(jié)內(nèi)容引導(dǎo)案例:“啤酒與尿布”關(guān)聯(lián)規(guī)則分析又被稱作購物籃分析,最早是用于挖掘超市銷售數(shù)據(jù)庫中不同商品間的某種關(guān)聯(lián),比如兩個(gè)商品是否會(huì)被同時(shí)購買或者購買一種商品是否會(huì)提升購買另一種商品的可能性等等?!捌【婆c尿布”是關(guān)聯(lián)規(guī)則中最經(jīng)典的一個(gè)案例,零售商通過分析發(fā)現(xiàn),把啤酒放在尿布旁,有助于提升啤酒的銷售量。TID項(xiàng)集1{面包、牛奶}2{面包,尿布,啤酒,雞蛋}3{牛奶,尿布,啤酒,可樂}4{面包,牛奶,尿布,啤酒}5{面包,牛奶,尿布,可樂}表10-1購物籃數(shù)據(jù)10.1關(guān)聯(lián)分析與概率統(tǒng)計(jì)初等概率演算令

P(A)

表示事件

A(買薯片)發(fā)生的概率。事件

A

發(fā)生的次數(shù)比例也稱為

A

的支持度,它是關(guān)聯(lián)矩陣

A

列中

1

的相對頻率。事件

B(買啤酒)發(fā)生的概率

P(B),事件

A

B

同時(shí)發(fā)生的概率

P(AandB)

同理。P(B|A)

是給定

A

時(shí)

B

的條件概率。它表示在已知事件A(購買薯片)發(fā)生的情況下事件B(購買啤酒)發(fā)生的概率,其中

P(B|A)=P(AandB)/P(A)。A=LHS(買薯片)→B=RHS(買啤酒)是一條簡單的關(guān)聯(lián)規(guī)則,其中規(guī)則左側(cè)稱為“前件”,規(guī)則右側(cè)稱為“后件”,而箭頭表示“相關(guān)”。在給定事件

A(LHS)

的情況下,事件

B(RHS)

的條件概率稱為事件

B

的置信度。它表示如果

A

已經(jīng)購買,我們對產(chǎn)品B

會(huì)被購買的相信程度。B

的置信度通常由二者的支持度(supp)計(jì)算得到,supp(A=LHSandB=RHS)/supp(A=LHS)。10.1關(guān)聯(lián)分析與概率統(tǒng)計(jì)

10.2關(guān)聯(lián)規(guī)則的挖掘

關(guān)聯(lián)規(guī)則的基本概念

關(guān)聯(lián)規(guī)則的挖掘

關(guān)聯(lián)規(guī)則的挖掘

關(guān)聯(lián)規(guī)則的挖掘圖10-1含有5項(xiàng)的交易數(shù)據(jù)存在的項(xiàng)集情況關(guān)聯(lián)規(guī)則的挖掘

關(guān)聯(lián)規(guī)則的挖掘圖10-2先驗(yàn)原理示例10.3Apriori算法原理令

Fk

代表頻繁

k

項(xiàng)集,Lk

代表候選

k

項(xiàng)集。Apriori算法的基本框架:步驟1:令

k=1步驟2:生成F1={頻繁

1

項(xiàng)集}步驟3:重復(fù)以下操作直至

Fk

為空集①候選集的生成:從

Fk

中生成

Lk+1②候選集的剪枝:剪去候選集

Lk+1中包含長度為

k

的非頻繁子集的項(xiàng)集③支持度計(jì)算:通過掃描數(shù)據(jù)庫計(jì)算

Lk+1中每個(gè)候選集的支持度④候選集消除:舍棄

Lk+1中非頻繁的候選集,留下的候選集即成為

Fk+1注意事項(xiàng):生成候選集時(shí)避免不必要的候選,比如候選集的子集是非頻繁的,則該候選集一定為非頻繁項(xiàng)集。生成候選集的過程中即不重復(fù),也不遺漏。Apriori算法的基本框架

Apriori算法的基本框架

F3={ABC,ABD,ABE,ACD,BCD,BDE,CDE}

為頻繁

3

項(xiàng)集,并以此生成頻繁

4

項(xiàng)集。合并(ABC,ABD)=ABCD,合并(ABC,ABE)=ABCE,合并(ABD,ABE)=

ABDE,得到候選4項(xiàng)集L4={ABCD,ABCE,ABDE}。剪枝。由于ACE,BCE并非頻繁3項(xiàng)集,而其為候選4項(xiàng)集ABCE的子集,根據(jù)先驗(yàn)原理,ABCE一定為非頻繁項(xiàng)集,故剪去。同理,ABDE被減去。剪枝后,L4={ABCD}。

F3={ABC,ABD,ABE,ACD,BCD,BDE,CDE}

為頻繁

3

項(xiàng)集,并以此生成頻繁

4

項(xiàng)集。合并(ABC,BCD)=ABCD,合并(ABD,BDE)=ABDE,合并(ACD,CDE)=

ACDE,合并(BCD,CDE)=BCDE,得到候選

4

項(xiàng)集

L4={ABCD,ABDE,ACDE,

BCDE}。剪枝。由于ADE并非頻繁3項(xiàng)集,而其為候選4項(xiàng)集ABDE的子集,根據(jù)先驗(yàn)原理,ABDE一定為非頻繁項(xiàng)集,故剪去。同理,ACDE、BCDE被減去。剪枝后,L4={ABCD}。規(guī)則生成

規(guī)則生成假定

{A,B,C,D}

是一組頻繁

4

項(xiàng)集,則有

c(ABC→D)=σ(ABCD)/σ(ABC),c(AB→CD)=σ(ABCD)/σ(AB),c(A→BCD)=σ(ABCD)/σ(A),由于

σ(A)>σ(AB)>σ(ABC),因此

c(ABC→D)≥c(AB→CD)≥c(A→BCD)圖10-5規(guī)則的剪枝10.4R編程#安裝相關(guān)包install.packages("arules")#相關(guān)庫導(dǎo)入library(arules)read.transactions(file,format=c("basket","single"),header=FALSE,sep="",cols=NULL,rm.duplicates=false,quote="\",skip=0,encoding="unknown")#讀取數(shù)據(jù)集simpleData<-read.transactions("E:/model_data/Data_AssociationRule/instance1.txt",format="basket",sep=",")關(guān)聯(lián)規(guī)則分析的相關(guān)算法在

“arules”

包中,該包提供了一個(gè)表達(dá)、處理、分析事務(wù)數(shù)據(jù)和模式的基本框架?!癮rules”

包加載后,調(diào)用其中的

read.transactions()

函數(shù)讀取事務(wù)數(shù)據(jù)集并創(chuàng)建稀疏矩陣。其中

file

表示要讀取的文件名及其路徑,format

表示數(shù)據(jù)格式,分為

“basket”

“single”

兩種。如果事務(wù)數(shù)據(jù)集的每行內(nèi)容只包含商品項(xiàng),則選用

“basket”。如果每行內(nèi)容包含交易單號(hào)

+

商品項(xiàng),則選用

“single”。數(shù)據(jù)預(yù)處理#查看事務(wù)數(shù)據(jù)集simpleData輸出:#查看稀疏矩陣的內(nèi)容inspect(simpleData)輸出:由結(jié)果可知,數(shù)據(jù)集共有十行交易數(shù)據(jù),每行交易數(shù)據(jù)最多只有

5

項(xiàng),即

a,b,c,d,e。其中

b

出現(xiàn)了

8

次,為最頻繁

1

項(xiàng)集。數(shù)據(jù)導(dǎo)入后,執(zhí)行

simpleData

查看事務(wù)數(shù)據(jù)集,后調(diào)用

summary()

函數(shù)獲取統(tǒng)計(jì)匯總信息,并通過

inspect()

函數(shù)查看稀疏矩陣的內(nèi)容。#查看數(shù)據(jù)集相關(guān)的統(tǒng)計(jì)匯總信息summary(simpleData)輸出:Apriori算法建模apriori(data,parameter=NULL,appearance=NULL,control=NULL)rule1=apriori(simpleData,parameter=list(support=0.3,confidence=0.6))輸出:調(diào)用

apriori()

函數(shù)建模。data

為事務(wù)類的對象或能夠強(qiáng)制轉(zhuǎn)換成事務(wù)類的任何數(shù)據(jù)結(jié)構(gòu)。parameter

中包含一系列參數(shù),用戶可以根據(jù)需求自由設(shè)置。如:support

表示規(guī)則的最小支持度,其默認(rèn)值為

0.1;confidence

表示關(guān)聯(lián)規(guī)則的最小置信度,其默認(rèn)值為

0.8。例:設(shè)定關(guān)聯(lián)規(guī)則的支持度為

0.3,置信度為

0.6,并以此挖掘關(guān)聯(lián)規(guī)則。結(jié)果分析#輸出模型結(jié)果inspect(rule1)輸出:關(guān)聯(lián)規(guī)則挖掘完成后,調(diào)用

inspect()

函數(shù)輸出模型結(jié)果。結(jié)果表明,通過

Apriori

算法總共可以挖掘得到17

條符合條件的關(guān)聯(lián)規(guī)則。以第

15

條規(guī)則為例,其支持度為

0.3,置信度為

0.6,說明

a,c,b

同時(shí)發(fā)生的概率為

0.3,a,c

發(fā)生則

b

發(fā)生的概率為

0.6。此外,該規(guī)則的提升度(lift)為

0.75,支持度計(jì)數(shù)為

3。例:疾病數(shù)據(jù)分析#讀取疾病數(shù)據(jù)集illnessData<-read.csv("./illnessData.csv",encoding="UTF-8")#查看前10行數(shù)據(jù)illnessData[1:10,1:5]illnessData[1:10,6:10]#獲取數(shù)據(jù)集長度length(illnessData$病程階段)輸出:首先調(diào)用

read.csv()

函數(shù)導(dǎo)入疾病數(shù)據(jù)集,查看其前

10

行數(shù)據(jù),并通過

length()

函數(shù)獲取該數(shù)據(jù)集的數(shù)據(jù)長度。數(shù)據(jù)集的每個(gè)事務(wù)都包含

10

個(gè)項(xiàng),其中第1

至第

6

列為連續(xù)型數(shù)據(jù),第

7

至第

10

列為離散型數(shù)據(jù)。例:疾病數(shù)據(jù)分析合作QQ:243001978#只保留第7-10列用于分析illnessPartData<-illnessData[,7:10]illnessPartData[1:20,]輸出:由于應(yīng)用

Apriori

算法進(jìn)行數(shù)據(jù)挖掘,因此只保留數(shù)據(jù)集中第

7

至第

10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論