




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第十一章:降維與關(guān)聯(lián)規(guī)則學(xué)習(xí)目標通過本章的學(xué)習(xí):掌握降維的基本思想掌握主成分分析(PCA)的步驟。掌握關(guān)聯(lián)規(guī)則算法的基本原理和挖掘過程。
1.降維技術(shù)2.
PCA降維技術(shù)的原理與實現(xiàn)3.LDA降維技術(shù)的原理與實現(xiàn)4.關(guān)聯(lián)規(guī)則挖掘算法的基本原理5.關(guān)聯(lián)規(guī)則挖掘應(yīng)用算法降維技術(shù)背景(1)維數(shù)災(zāi)難背景現(xiàn)實應(yīng)用中屬性維度成千上萬,在高維度情況下會帶來很多麻煩,而且當維度大的時候,數(shù)據(jù)樣本一般分布的非常稀疏,這是所有學(xué)習(xí)算法要面對的問題,降維技術(shù)應(yīng)運而生。數(shù)據(jù)降維降維是對事物的特征進行壓縮和篩選,該項任務(wù)相對比較抽象。如果沒有特定領(lǐng)域知識,無法預(yù)先決定采用哪些數(shù)據(jù),比如在人臉識別任務(wù)中,如果直接使用圖像的原始像素信息,數(shù)據(jù)的維度會非常高,通常會利用降維技術(shù)對圖像進行處理,保留下最具有區(qū)分度的像素組合。降維技術(shù)背景(2)對數(shù)據(jù)降維還有如下原因:(1)使得數(shù)據(jù)集更易使用(2)降低算法的計算開銷(3)去除噪聲(4)使得結(jié)果容易理解降維技術(shù)-
主成分分析(1)主成分分析(PCA)
在PCA中,數(shù)據(jù)從原來的坐標系轉(zhuǎn)換到新的坐標系,由數(shù)據(jù)本身決定。轉(zhuǎn)換坐標系時,以方差最大的方向作為坐標軸方向,因為數(shù)據(jù)的最大方差給出了數(shù)據(jù)的最重要的信息。第一個新坐標軸選擇的是原始數(shù)據(jù)中方差最大的方法,第二個新坐標軸選擇的是與第一個新坐標軸正交且方差次大的方向。重復(fù)該過程,重復(fù)次數(shù)為原始數(shù)據(jù)的特征維數(shù)。大部分方差都包含在最前面的幾個新坐標軸中,因此,可以忽略余下的坐標軸,即對數(shù)據(jù)進行了降維處理。降維技術(shù)
-
線性判別式分析(2)線性判別式分析(LDA)
線性判別式分析是將高維的模式樣本投影到最佳判別矢量空間,以達到抽取分類信息和壓縮特征空間維數(shù)的效果,投影后保證模式樣本在新的子空間有最大的類間距離和最小的類內(nèi)距離,即模式在該空間中有最佳的可分離性,可以達到對數(shù)據(jù)進行的降維處理。降維方法總體理解(1)樣本數(shù)據(jù)集的理解將數(shù)據(jù)集考慮成矩陣,每行對應(yīng)一個樣本,每列對應(yīng)一個特征或者維度。在降維方法中,都是把數(shù)據(jù)集看作矩陣形式,數(shù)學(xué)上有非常多關(guān)于矩陣的處理技巧和定理,降維的方法證明均源于此。降維方法總體理解(2)機器學(xué)習(xí)領(lǐng)域中所謂的降維就是指采用某種映射方法,將原高維空間中的數(shù)據(jù)點映射到低維度的空間。降維的本質(zhì)是學(xué)習(xí)一個映射函數(shù)f:x->y,其中x是原始數(shù)據(jù)點的表達,目前最多使用向量表達形式。y是數(shù)據(jù)點映射后的低維向量表達,通常y的維度小于x的維度(當然也可以提高維度)。映射函數(shù)f可能是顯式的或隱式的、線性的或非線性的。在很多算法中,降維算法成為了數(shù)據(jù)預(yù)處理的一部分。一些算法如果沒有降維預(yù)處理,就很難得到很好的效果。1.降維技術(shù)2.PCA降維技術(shù)的原理與實現(xiàn)3.LDA降維技術(shù)的原理與實現(xiàn)4.關(guān)聯(lián)規(guī)則挖掘算法的基本原理5.關(guān)聯(lián)規(guī)則挖掘應(yīng)用算法PCA降維技術(shù)(1)PCA(PrincipalComponentAnalysis,主成分分析)在高維向量空間中,隨著維度的增加,數(shù)據(jù)呈現(xiàn)出越來越稀疏的分布特點,增加后續(xù)算法的復(fù)雜度,而很多時候雖然數(shù)據(jù)維度較高,但是很多維度之間存在相關(guān)性,他們表達的信息有重疊。PCA的思想是將n維特征映射到k維上(k<n),這k維是全新的正交特征。這k維特征稱為主成分,是重新構(gòu)造出來的k維特征,而不是簡單地從n維特征中去除其余n-k維特征(這也是與特征選擇特征子集的方法的區(qū)別)。PCA降維技術(shù)(2)PCA的目的是在高維數(shù)據(jù)中找到最大方差的方向,接著映射它到比最初維數(shù)小或相等的新的子空間。PCA降維技術(shù)的原理(1)PCA應(yīng)用本身是基于一定假設(shè)的:1.線性即特征的變換是線性變換,作用有限,目前也有非線性的特征變換kernelPCA。2.處理的數(shù)據(jù)分布式服從指數(shù)族概率密度函數(shù),即能通過均值和協(xié)方差來表征數(shù)據(jù)的分布,因為只有在這個情況下信噪比和協(xié)方差矩陣才能表示噪聲和數(shù)據(jù)冗余。(好在實際應(yīng)用中常見的數(shù)據(jù)是服從高斯分布或近似高斯分布)。PCA降維技術(shù)的原理(2)主成分分析(PCA)的基本原理
在一組多變量的數(shù)據(jù)中,很多變量常常是一起變動的。一個原因是很多變量是同一個驅(qū)動影響的的結(jié)果。在很多系統(tǒng)中,只有少數(shù)幾個這樣的驅(qū)動,但是多余的儀器使我們測量了很多的系統(tǒng)變量。當這種情況發(fā)生的時候,你需要處理的就是冗余的信息。而你可以通過用一個簡單的新變量代替這組變量來簡化此問題。PCA降維技術(shù)的原理(3)
第一主成分是數(shù)據(jù)空間的一個軸。當你把各觀察值投影到這個軸時,結(jié)果會形成一個新變量,這個變量的方差是所有可選的軸中最大的。第二主成分是空間的另一個軸,它垂直于第一個軸。投影數(shù)據(jù)到這個軸上將得到另一組變量,此變量的方差是所有可選的軸中最大的。PCA降維技術(shù)的原理(4)特征向量(eigenvector)是一個矩陣的滿足如下公式的非零向量:
特征向量和特征值只能由方陣得出,且并非所有方陣都有特征向量和特征值。如果一個矩陣有特征向量和特征值,那么它的每個維度都有一對特征向量和特征值。矩陣的主成分是其協(xié)方差矩陣的特征向量,按照對應(yīng)的特征值大小排序。PCA降維技術(shù)的原理(5)
最大的特征值就是第一主成分,第二大的特征值就是第二主成分,以此類推。把數(shù)據(jù)映射到主成分上,第一主成分是最大特征值對應(yīng)的特征向量,因此我們要建一個轉(zhuǎn)換矩陣,它的每一列都是主成分的特征向量。如果我們要把5維數(shù)據(jù)降成3維,那么我們就要用一個3維矩陣做轉(zhuǎn)換矩陣,用特征向量中的前三個主成分作為轉(zhuǎn)換矩陣。若把我們的2維數(shù)據(jù)映射成1維,那么我們就要用一個1維矩陣做轉(zhuǎn)換矩陣,用特征向量中的第一主成分作為轉(zhuǎn)換矩陣。最后,我們用數(shù)據(jù)矩陣右乘轉(zhuǎn)換矩陣。PCA算法流程輸入:n維特征的樣本數(shù)據(jù)集??輸出:降到p維后的樣本集??’對所有樣本構(gòu)成的矩陣X進行去中心化;求出X的協(xié)方差矩陣C;利用特征值分解,求出協(xié)方差矩陣C的特征值及對應(yīng)的特征向量;將特征向量按對應(yīng)特征值大小從上到下按行排列成矩陣,根據(jù)實際業(yè)務(wù)場景,取前p列組成新的坐標矩陣W。令原始數(shù)據(jù)集與新坐標舉證W相乘,得到的新的數(shù)據(jù)集(矩陣)即為降到p維后的坐標。PCA優(yōu)缺點優(yōu)點:以方差衡量信息的無監(jiān)督學(xué)習(xí),不受樣本標簽限制。各主成分之間正交,可消除原始數(shù)據(jù)成分間的相互影響。計算方法簡單,主要運算是奇異值分解,易于在計算機上實現(xiàn)??蓽p少指標選擇的工作量。缺點:主成分解釋其含義往往具有一定的模糊性,不如原始樣本特征的解釋性強。方差小的非主成分也可能含有對樣本差異的重要信息,因降維丟棄可能對后續(xù)數(shù)據(jù)處理有影響。PCA降維的Python實現(xiàn)
#Python實現(xiàn)PCAimportnumpyasnpdefpca(X,k):#kisthecomponentsyouwant#每個特征的平均值n_samples,n_features=X.shapemean=np.array([np.mean(X[:,i])foriinrange(n_features)])#規(guī)范化norm_X=X-mean#散射矩陣scatter_matrix=np.dot(np.transpose(norm_X),norm_X)#計算特征向量和特征值eig_val,eig_vec=np.linalg.eig(scatter_matrix)eig_pairs=[(np.abs(eig_val[i]),eig_vec[:,i])foriinrange(n_features)]PCA降維的Python實現(xiàn)
#根據(jù)eig_val從最高到最低對eig_vec進行排序eig_pairs.sort(reverse=True)#選擇最上面的keig_vecfeature=np.array([ele[1]foreleineig_pairs[:k]])#獲取新數(shù)據(jù)data=np.dot(norm_X,np.transpose(feature))returndataX=np.array([[-1,1],[-2,-1],[-3,-2],[1,1],[2,1],[3,2]])print(pca(X,1))PCA算法使用方法(1)在sklearn庫中,可以使用sklearn.decomposition.PCA加載PCA進行降維。具體方法:PCA(n_components=None,copy=True,whiten=False,svd_solver=‘a(chǎn)uto’)主要參數(shù)有:n_components:指定主成分的個數(shù),即降維后數(shù)據(jù)的維度。copy:在運行算法時,是否將原始訓(xùn)練數(shù)據(jù)復(fù)制一份。等于True表示在原始數(shù)據(jù)的副本上進行運算,原始訓(xùn)練數(shù)據(jù)的值不會有任何改變;等于False在原始數(shù)據(jù)上進行降維計算,原始訓(xùn)練數(shù)據(jù)的值會改。Whiten:白化,使得每個特征具有相同的方差。svd_solver:可選項為{‘a(chǎn)uto’,‘full’,‘a(chǎn)rpack’,‘randomized’},表示解析器計算SVD的策略。PCA算法使用方法(2)在sklearn庫中,可以使用sklearn.decomposition.PCA加載PCA進行降維。主要屬性:components_:降維后各主成分方向,并按照各主成分的方差值大小排序。explained_variance_:降維后各主成分的方差值,方差值越大,越主要。explained_variance_ratio_:降維后的各主成分的方差值占總方差值的比例,比例越大,則越主要。singular_values_:奇異值分解得到的前n_components個中最大的奇異值。1.降維技術(shù)2.PCA降維技術(shù)的原理與實現(xiàn)3.LDA降維技術(shù)的原理與實現(xiàn)4.關(guān)聯(lián)規(guī)則挖掘算法的基本原理5.關(guān)聯(lián)規(guī)則挖掘應(yīng)用算法LDA介紹(1)
線性判別式分析(LinearDiscriminantAnalysis),簡稱為LDA。也稱為Fisher線性判別(FisherLinearDiscriminant,F(xiàn)LD),是模式識別的經(jīng)典算法,在1996年由Belhumeur引入模式識別和人工智能領(lǐng)域。 LDA是一種監(jiān)督學(xué)習(xí)的降維技術(shù),將數(shù)據(jù)在低維度上進行投影,投影后希望每一種類別數(shù)據(jù)的投影點盡可能的接近,而不同類別的數(shù)據(jù)的類別中心之間的距離盡可能的大。LDA介紹(2)LDA(LinearDiscriminantAnalysis)線性判別式分析,也叫Fisher線性判別,是模式識別中的經(jīng)典算法,它的數(shù)據(jù)集的每個樣本是有類別輸出的。思想:投影后類內(nèi)距離最小,類間距離最大。線性判別:LDA的主要思想是將一個高維空間中的數(shù)據(jù)投影到一個較低維的空間中,且投影后要保證各個類別的類內(nèi)方差小而類間均值差別大,這意味著同一類的高維數(shù)據(jù)投影到低維空間后相同類別的聚在一起,而不同類別之間相距較遠。判別問題與線性判別函數(shù)
1.方法分類:線性判別函數(shù)、支持向量機、fisher線性判別函數(shù)廣義線性判別函數(shù)、非線性判別函數(shù)、核學(xué)習(xí)機2.基本思想:步一:給定一個判別函數(shù),且已知該函數(shù)的參數(shù)形式;步二:采用樣本來訓(xùn)練判別函數(shù)的參數(shù);判別問題與線性判別函數(shù)
步三:對于新樣本,采用判別函數(shù)對其進行決策,并按照一些準則來完成分類學(xué)習(xí)判別函數(shù)的基本技術(shù)路線;假定有n個d維空間中的樣本,每個樣本的類別標簽已知,且一共有c個不同的類別假定判別函數(shù)的形式已知,尋找一個判別函數(shù)對于給定的新樣本x,判定它屬于哪個類別LDA算法優(yōu)缺點LDA算法既可以用來降維,也可以用來分類,主要用于降維,尤其在進行圖像識別相關(guān)的數(shù)據(jù)分析時,LDA是一個有力的工具。優(yōu)點:在降維過程中可以使用類別的先驗經(jīng)驗。LDA在樣本分類信息依賴均值而不是方差的時候,比PCA之類的算法較優(yōu)。缺點:LDA不適合對非高斯分布樣本進行降維,PCA也有這個問題。LDA降維最多降到類別數(shù)k-1的維數(shù),如果我們降維的維度大于k-1,則不能使用LDA。當然目前有一些LDA的進化版算法可以繞過這個問題。LDA在樣本分類信息依賴方差而不是均值的時候,降維效果不好。LDA可能過度擬合數(shù)據(jù)。LDAVSPCA(1)為什么有了PCA之后還需要LDA?LDAVSPCA(2)共同點:都屬于線性方法。在降維時都采用矩陣分解的方法。假設(shè)數(shù)據(jù)符合正態(tài)分布。不同點:LDA是有監(jiān)督的,不能保證投影到新空間的坐標系是正交的,選擇分類性能最好的投影方向。LDA降維保留個數(shù)與其對應(yīng)類別的個數(shù)有關(guān),與數(shù)據(jù)本身的維度無關(guān)。原始數(shù)據(jù)是n維的,有c個類別,降維后一般是到c-1維。LDA可以用于降維,還可用于分類。LDAVSPCA實驗演示(1)實例:根據(jù)紅酒13種成分數(shù)據(jù)對紅酒進行3分類[class_1,class_2,class_3],分類之前需要對13種紅酒成分的維度進行壓縮。數(shù)據(jù)是對意大利同一地區(qū)生長但來自三種不同品種的葡萄酒進行化學(xué)分析的結(jié)果。該分析確定了三種葡萄酒中每種葡萄酒中含有的13種成分的數(shù)量(13種成分如下圖)。LDAVSPCA實驗演示(2)實例:根據(jù)紅酒成分數(shù)據(jù)對紅酒進行分類,分類之前對紅酒成分的不同維度進行壓縮。利用3d可視化制圖查看紅酒3種分類在任意3種成分上的分布。LDAVSPCA實驗演示(3)有監(jiān)督在LDA降維中用到了標簽(本數(shù)據(jù)集即三種葡萄酒的類型)。與PCA相比,LDA能夠?qū)⑷悩颖就耆珠_,且同類樣本之間更為密集,在有標簽的分類問題,對數(shù)據(jù)降維,建議優(yōu)先有監(jiān)督的LDA,結(jié)果一般會更加準確。1.降維技術(shù)2.PCA降維技術(shù)的原理與實現(xiàn)3.LDA降維技術(shù)的原理與實現(xiàn)4.關(guān)聯(lián)規(guī)則挖掘算法的基本原理5.關(guān)聯(lián)規(guī)則挖掘應(yīng)用算法關(guān)聯(lián)規(guī)則不同類型的事件可能同時發(fā)生。關(guān)聯(lián)規(guī)則主要在于發(fā)現(xiàn)不同事物背后的聯(lián)系。關(guān)聯(lián)規(guī)則-基本概念(1)基本概念:假設(shè)兩個不相交的非空集合X、Y(物品集),N為數(shù)據(jù)記錄總數(shù)。項集:項的集合,包含??個項的項集稱為??項集。頻繁項集:滿足規(guī)定的最小支持度的項集。支持度:??????????????(??→??)=|??交??|/??,表示物品集X和Y同時出現(xiàn)的次數(shù)占總記錄數(shù)的比例。置信度:????????????????????(??→??)=|??交??|/|??|,集合X與集合Y同時出現(xiàn)的總次數(shù)/集合X出現(xiàn)的記錄數(shù)。提升度:????????(??→??)=????????????????????(??→??)/??(??),表示含有X的條件下,同時含有Y的概率,與Y總體發(fā)生的概率之比。關(guān)聯(lián)規(guī)則-基本概念(2)最小支持度:專家定義的衡量支持度的閾值,表示項目集在統(tǒng)計意義上的最低重要性。最小置信度:專家定義的衡量置信度的閾值,表示關(guān)聯(lián)規(guī)則的最低可靠性。強關(guān)聯(lián)規(guī)則:同時滿足最小支持度閾值和最小置信度閾值的規(guī)則。利用提升度體現(xiàn)了X和Y之間的關(guān)聯(lián)關(guān)系:提升度大于1則??→??是有效的強關(guān)聯(lián)規(guī)則;提升度小于等于1則??→??是無效的強關(guān)聯(lián)規(guī)則;如果X和Y獨立,則有????????(??→??)=1,因為此時P(X|Y)=P(X)。關(guān)聯(lián)規(guī)則的挖掘步驟生成頻繁項集和生成規(guī)則找出強關(guān)聯(lián)規(guī)則找到所有滿足強關(guān)聯(lián)規(guī)則的項集關(guān)聯(lián)規(guī)則挖掘的分類(1)(1)基于規(guī)則中處理的變量的類別,關(guān)聯(lián)規(guī)則可以分為布爾型和數(shù)值型。
布爾型關(guān)聯(lián)規(guī)則處理的值都是離散的、種類化的,它顯示了這些變量之間的關(guān)系。而數(shù)值型關(guān)聯(lián)規(guī)則可以和關(guān)聯(lián)或多層關(guān)聯(lián)規(guī)則結(jié)合起來,對數(shù)值型字段進行處理,將其進行動態(tài)的分割,或者直接對原始的數(shù)據(jù)進行處理,當然數(shù)值型關(guān)聯(lián)規(guī)則中也可以包含種類變量。關(guān)聯(lián)規(guī)則挖掘的分類(2)
例如:類別=“大藍籌”→漲幅=“弱于大勢”,是布爾型關(guān)聯(lián)規(guī)則。類別=“大藍籌”→avg(阿爾法)=-10%,涉及的收入是數(shù)值類型,是一個數(shù)值型關(guān)聯(lián)規(guī)則。關(guān)聯(lián)規(guī)則挖掘的分類(3)(2)基于規(guī)則中數(shù)據(jù)的抽象層次,可以分為單層關(guān)聯(lián)規(guī)則和多層關(guān)聯(lián)規(guī)則。
在單層的關(guān)聯(lián)規(guī)則中,所有的變量都沒有考慮到現(xiàn)實的數(shù)據(jù)是具有多個不同層次的。而在多層的關(guān)聯(lián)規(guī)則中,對數(shù)據(jù)的多層性已經(jīng)進行了充分的考慮。例如,央企→分紅率高,是一個細節(jié)數(shù)據(jù)上的單層關(guān)聯(lián)規(guī)則;國企→分紅率高,是一個較高層次和細節(jié)層次之間的多層關(guān)聯(lián)規(guī)則。關(guān)聯(lián)規(guī)則挖掘的分類(4)(3)基于規(guī)則中涉及的數(shù)據(jù)的維數(shù),關(guān)聯(lián)規(guī)則可以分為單維的和的。
在單維的關(guān)聯(lián)規(guī)則中,我們只涉及數(shù)據(jù)的一個維,如投資者購買的股票,而在的關(guān)聯(lián)規(guī)則中,要處理的數(shù)據(jù)將會涉及多個維。換句話說,單維關(guān)聯(lián)規(guī)則是處理單個屬性中的一些關(guān)系;關(guān)聯(lián)規(guī)則是處理各個屬性之間的某些關(guān)系。例如,大藍籌漲→小盤股跌,這條規(guī)則只涉及投資者購買的股票類別;類別=“大藍籌”→漲幅=“弱于大勢”,這條規(guī)則就涉及兩個字段的信息,是兩個維上的一條關(guān)聯(lián)規(guī)則。1.降維技術(shù)2.PCA降維技術(shù)的原理與實現(xiàn)3.LDA降維技術(shù)的原理與實現(xiàn)4.關(guān)聯(lián)規(guī)則挖掘算法的基本原理5.關(guān)聯(lián)規(guī)則挖掘應(yīng)用算法Apriori算法簡介Apriori算法是一種挖掘關(guān)聯(lián)規(guī)則的頻繁項集算法,其核心思想是通過頻繁項集生成和關(guān)聯(lián)規(guī)則生成兩個階段來挖掘頻繁項集。它的主要任務(wù)就是設(shè)法發(fā)現(xiàn)事物之間的內(nèi)在聯(lián)系。比如在常見的超市購物數(shù)據(jù)集,或者電商的網(wǎng)購數(shù)據(jù)集中,如果我們找到了頻繁出現(xiàn)的數(shù)據(jù)集,那么對于超市,我們可以優(yōu)化產(chǎn)品的位置擺放,對于電商,我們可以優(yōu)化商品所在的倉庫位置,達到節(jié)約成本,增加經(jīng)濟效益的目的。算法已經(jīng)被廣泛的應(yīng)用到商業(yè)、網(wǎng)絡(luò)安全,移動通信等各個領(lǐng)域。Apriori算法舉例(1)Apriori算法舉例(2)Apriori算法利用先驗知識Apriori算法優(yōu)缺點優(yōu)點:(1)使用先驗原理,大大提高了頻繁項集逐層產(chǎn)生的效率;(2)簡單易理解;數(shù)據(jù)集要求低。缺點:(1)每一步產(chǎn)生侯選項目集時循環(huán)產(chǎn)生的組合過多,沒有排除不應(yīng)該參與組合的元素;(2)每次計算項集的支持度時,都對數(shù)據(jù)庫D中的全部記錄進行了一遍掃描比較,如果是一個大型的數(shù)據(jù)庫的話,這種掃描比較會大大增加計算機系統(tǒng)的I/O開銷。而這種代價是隨著數(shù)據(jù)庫的記錄的增加呈現(xiàn)出幾何級數(shù)的增加。因此人們開始尋求更好性能的算法。Apriori算法應(yīng)用python最常用的機器學(xué)習(xí)庫sklearn中并沒有頻繁集挖掘相關(guān)的算法類庫;
python的工具庫mlxtend目前提供實踐Apriori算法的方法;mlxtend(machinelearningextensions)是一個用于日常數(shù)據(jù)科學(xué)任務(wù)的Python庫工具庫。通過mlxtend子模塊frequent_patterns調(diào)用方法Apriori。方法描述:Apriori(df,min_support=0.5,use_colnames=False,max_len=None,n_jobs=1),其中df代表數(shù)據(jù)框數(shù)據(jù)集,min_support表示指定的最小支持度,use_colnames=True表示使用元素名字,默認的False使用列名代表元素,max_len表示生成的項目集的最大長度。如果為None,則評估所有可能的項集長度。Apriori算法使用方法python最常用的機器學(xué)習(xí)庫sklearn中并沒有頻繁集挖掘相關(guān)的算法類庫;python的工具庫mlxtend目前提供實踐Apriori算法的方法;mlxtend(machinelearningextensions)是一個用于日常數(shù)據(jù)科學(xué)任務(wù)的Python庫工具庫。通過mlxtend子模塊frequent_patterns調(diào)用方法Apriori。方法描述:Apriori(df,min_support=0.5,use_colnames=False,max_len=None,n_jobs=1),其中df代表數(shù)據(jù)框數(shù)據(jù)集,min_support表示指定的最小支持度,use_colnames=True表示使用元素名字,默認的False使用列名代表元素,max_len表示生成的項目集的最大長度。如果為None,則評估所有可能的項集長度。FP-growth算法簡介2000年,HanJiawei等人提出了基于頻繁模式樹(FrequentPatternTree,簡稱為FP-tree)的發(fā)現(xiàn)頻繁模式的算法FP-growth。FP-growth算法建立在Apriori算法的概念之上,不同之處是它采用了更高級的數(shù)據(jù)結(jié)構(gòu)FP-tree減少掃描數(shù)據(jù)次數(shù),只需要兩次掃描數(shù)據(jù)庫,相比于Apriori減少了I/O操作,克服了Apriori算法需要多次掃描數(shù)據(jù)庫的問題。FP-growth的數(shù)據(jù)結(jié)構(gòu)為了減少I/O次數(shù),F(xiàn)P-growth算法引入了一些數(shù)據(jù)結(jié)構(gòu)來臨時存儲數(shù)據(jù)。這個數(shù)據(jù)結(jié)構(gòu)包括三部分:一個項頭表里面記錄了所有的1項頻繁集出現(xiàn)的次數(shù),按照次數(shù)降序排列。FP-Tree將原始數(shù)據(jù)集映射到了內(nèi)存中的一顆FP樹。節(jié)點鏈表所有項頭表里的1項頻繁集都是一個節(jié)點鏈表的頭,它依次指向FP樹中該1項頻繁集出現(xiàn)的位置。這樣做主要是方便項頭表和FP-Tree之間的聯(lián)系查找和更新,也好理解。FP-growth算法流程1)掃描數(shù)據(jù),得到所有頻繁一項集的的計數(shù)。然后刪除支持度低于閾值的項,將1項頻繁集放入項頭表,并按照支持度降序排列。2)掃描數(shù)據(jù),將讀到的原始數(shù)據(jù)剔除非頻繁1項集,并將每一條再按照支持度降序排列。3)讀入排序后的數(shù)據(jù)集,逐條插入FP樹,插入時按照排序后的順序,插入FP樹中,排序靠前的節(jié)點是祖先節(jié)點,而靠后的是子孫節(jié)點。如果有共用的祖先,則對應(yīng)的公用祖先節(jié)點計數(shù)加1。插入后,如果有新節(jié)點出現(xiàn),則項頭表對應(yīng)的節(jié)點會通過節(jié)點鏈表鏈接上新節(jié)點。直到所有的數(shù)據(jù)都插入到FP樹后,F(xiàn)P樹的建立完成。4)從項頭表的底部項依次向上找到項頭表項對應(yīng)的條件模式基。從條件模式基遞歸挖掘得到項頭表項項的頻繁項集。5)如果不限制頻繁項集的項數(shù),則返回步驟4所有的頻繁項集,否則只返回滿足項數(shù)要求的頻繁項集。F
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人工拋石施工方案
- 初級社會工作實務(wù)-初級社會工作者考試《社會工作實務(wù)》點睛提分卷1
- 高考化學(xué)備考浙江選考測試題單元滾動檢測卷(十一)
- 歷史高考一輪復(fù)習(xí)岳麓版講義選修4第48講
- 高中化學(xué)化學(xué)反應(yīng)原理學(xué)案112焓變熱化學(xué)方程式
- 2017-2018學(xué)年高中化學(xué)必修2時訓(xùn)練第三章有機化合物檢測試題
- 25學(xué)年教案語文(必修上冊)第四單元“家鄉(xiāng)文化生活”活動手冊
- 第30課++系統(tǒng)安全需升級+教學(xué)設(shè)計-+2024-2025學(xué)年人教版(2024)初中信息科技八年級全一冊
- 2024-2025年高中語文課時分層作業(yè)14詩經(jīng)兩首含解析粵教版必修1
- 烏魯木齊房產(chǎn)轉(zhuǎn)讓合同范例
- 2025年徐州地鐵集團有限公司招聘筆試參考題庫含答案解析
- 2025年《收納師》職業(yè)技能培訓(xùn)考試題庫
- 《中國資本市場》課件
- 農(nóng)機檢修培訓(xùn)課件
- 2025車位租賃合同范本
- VR游戲設(shè)計與制作知到智慧樹章節(jié)測試課后答案2024年秋四川長江職業(yè)學(xué)院
- 平行線的判定與性質(zhì)證明題專訓(xùn)30題(人教版)(人教版) 帶解析
- 心理咨詢倫理守則
- 【MOOC】森林植物識別技術(shù) -珍稀植物識別-南京森林警察學(xué)院 中國大學(xué)慕課MOOC答案
- 《學(xué)習(xí)雷鋒好榜樣》課件
- 2024解析:第十八章電功率-講核心(解析版)
評論
0/150
提交評論