Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第2版 課件 魏偉一 第 7 章 分類;第 8 章 聚類_第1頁
Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第2版 課件 魏偉一 第 7 章 分類;第 8 章 聚類_第2頁
Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第2版 課件 魏偉一 第 7 章 分類;第 8 章 聚類_第3頁
Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第2版 課件 魏偉一 第 7 章 分類;第 8 章 聚類_第4頁
Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第2版 課件 魏偉一 第 7 章 分類;第 8 章 聚類_第5頁
已閱讀5頁,還剩151頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第7章分類第7章分類本章內(nèi)容分類概述決策樹規(guī)約K近鄰算法支持向量機(jī)樸素貝葉斯分類模型評估與選擇組合分類10十一月202421

分類概述3分類是一種重要的數(shù)據(jù)分析形式。數(shù)據(jù)分類也稱為監(jiān)督學(xué)習(xí),包括學(xué)習(xí)階段(構(gòu)建分類模型)和分類階段(使用模型預(yù)測給定數(shù)據(jù)的類標(biāo)號)兩個(gè)階段。數(shù)據(jù)分類方法主要有決策樹歸納、貝葉斯分類、K-近鄰分類、支持向量機(jī)SVM等方法。2

決策樹規(guī)約4決策樹屬于經(jīng)典的十大數(shù)據(jù)挖掘算法之一,是一種類似于流程圖的樹型結(jié)構(gòu),其規(guī)則就是if…then…的思想,用于數(shù)值型因變量的預(yù)測和離散型因變量的分類。決策樹算法簡單直觀,容易解釋,而且在實(shí)際應(yīng)用中具有其他算法難以比肩的速度優(yōu)勢。決策樹方法在分類、預(yù)測和規(guī)則提取等領(lǐng)域有廣泛應(yīng)用。在20世紀(jì)70年代后期和80年代初期,機(jī)器學(xué)習(xí)研究人員J.RossQuinlan開發(fā)了決策樹算法,稱為迭代的二分器(IterativeDichotomiser,ID3),使得決策樹在機(jī)器學(xué)習(xí)領(lǐng)域得到極大發(fā)展。Quinlan后來又提出ID3的后繼C4.5算法,成為新的監(jiān)督學(xué)習(xí)算法的性能比較基準(zhǔn)。1984年幾位統(tǒng)計(jì)學(xué)家又提出了CART分類算法。2

決策樹規(guī)約5決策樹的構(gòu)建原理決策樹是樹狀結(jié)構(gòu),它的每個(gè)葉結(jié)點(diǎn)對應(yīng)著一個(gè)分類,非葉結(jié)點(diǎn)對應(yīng)著在某個(gè)屬性上的劃分,根據(jù)樣本在該屬性上的不同取值將其劃分為若干子集。ID3、C4.5和CART算法都采用貪心(即非回溯)方法,以自頂向下遞歸的分治方式構(gòu)造,隨著樹的構(gòu)建,訓(xùn)練集遞歸地被劃分為子集。2

決策樹規(guī)約62

決策樹規(guī)約7ID3算法ID3算法是決策樹系列中的經(jīng)典算法之一,包含了決策樹作為機(jī)器學(xué)習(xí)算法的主要思想。但I(xiàn)D3算法在實(shí)際應(yīng)用中有諸多不足,因此之后提出了大量的改進(jìn)算法,如C4.5算法和CART算法。構(gòu)造決策樹的核心問題是在每一步如何選擇恰當(dāng)?shù)膶傩詫颖咀霾鸱?。ID3算法使用信息增益作為屬性選擇度量,C4.5使用增益率進(jìn)行屬性選擇度量,CART算法則使用基尼指數(shù)。2

決策樹規(guī)約82

決策樹規(guī)約92

決策樹規(guī)約10Gain(A)表明通過A上的劃分獲得了多少信息增益。選擇具有最高信息增益的屬性A作為結(jié)點(diǎn)N的分裂屬性,等價(jià)于在“能做最佳分類”的屬性A上劃分,可以使得完成元組分類還需要的信息最小。2

決策樹規(guī)約112

決策樹規(guī)約10十一月2024122

決策樹規(guī)約緊接著,計(jì)算每個(gè)屬性的期望信息需求。從屬性年齡開始,需要對每個(gè)類考察“是”和“否”元組的分布。對于年齡的類“青年”,有5個(gè)取值,分別對應(yīng)2個(gè)“是”和3個(gè)“否”,即為I(2,3),同理,類“中年”對應(yīng)的是I(4,0),類“老年”對應(yīng)的是I(3,2),因此,如果元組根據(jù)年齡劃分,則對D中的元組進(jìn)行分類所需要的期望信息為:10十一月2024132

決策樹規(guī)約10十一月2024142

決策樹規(guī)約假設(shè)屬性A是連續(xù)的,必須確定A的最佳分裂點(diǎn),其中分裂點(diǎn)是A上的閾值。首先,對屬性A的取值排序。典型地,每對相鄰值的中點(diǎn)被看作可能的分裂點(diǎn),給定A的v個(gè)值,需要計(jì)算v-1個(gè)可能的劃分。確定A的最佳分裂點(diǎn)只需掃描一遍這些值,對每個(gè)可能分裂點(diǎn),分別計(jì)算其信息增益值,具有最大信息增益的分裂點(diǎn)即為最佳分裂值。自該分裂點(diǎn)把整個(gè)取值區(qū)間劃分為兩部分,相應(yīng)的依據(jù)記錄在該屬性上的取值,也將記錄劃分為兩部分。10十一月2024152

決策樹規(guī)約ID3算法的優(yōu)缺點(diǎn)ID3算法理論清晰,方法簡單,學(xué)習(xí)能力較強(qiáng)。但也存在以下一些缺點(diǎn)。(1)信息增益的計(jì)算依賴于特征數(shù)目較多的特征,而屬性取值最多的屬性并不一定最優(yōu)。比如一個(gè)變量有2個(gè)值,各為1/2,另一個(gè)變量為3個(gè)值,各為1/3,其實(shí)他們都是完全不確定的變量,但是取3個(gè)值比取2個(gè)值的信息增益大。(2)ID3沒考慮連續(xù)特征,比如長度、密度都是連續(xù)值,無法在ID3運(yùn)用。(3)ID3算法是單變量決策樹(在分支結(jié)點(diǎn)上只考慮單個(gè)屬性),許多復(fù)雜概念的表達(dá)困難,屬性相互關(guān)系強(qiáng)調(diào)不夠,容易導(dǎo)致決策樹中子樹的重復(fù)或有些屬性在決策樹的某一路徑上被檢驗(yàn)多次;(4)算法的抗噪性差,訓(xùn)練例子中正例和反例的比例較難控制,而且沒有考慮缺失值和過擬合問題。10十一月2024162

決策樹規(guī)約C4.5算法原理Quinlan在1993年提出了ID3的改進(jìn)版本C4.5算法。它與ID3算法的不同主要有以下幾點(diǎn)。(1)分支指標(biāo)采用增益比例,而不是ID3所使用的信息增益;(2)按照數(shù)值屬性值的大小對樣本排序,從中選擇一個(gè)分割點(diǎn),劃分?jǐn)?shù)值屬性的取值區(qū)間,從而將ID3的處理能力擴(kuò)充到數(shù)值屬性上來;(3)將訓(xùn)練樣本集中的位置屬性值用最常用的值代替,或者用該屬性的所有取值的平均值代替,從而處理缺少屬性值的訓(xùn)練樣本;(4)使用K次迭代交叉驗(yàn)證,評估模型的優(yōu)劣程度;(5)根據(jù)生成的決策樹,可以產(chǎn)生一個(gè)if-then規(guī)則的集合,每一個(gè)規(guī)則代表從根結(jié)點(diǎn)到葉結(jié)點(diǎn)的一條路徑。10十一月2024172

決策樹規(guī)約10十一月2024182

決策樹規(guī)約10十一月202419C4.5算法的優(yōu)缺點(diǎn)C4.5是基于ID3算法進(jìn)行改進(jìn)的算法,目標(biāo)是通過學(xué)習(xí),找到一個(gè)從屬性值到類別的映射關(guān)系,并且這個(gè)映射能用于對新的未知類別進(jìn)行分類。C4.5算法產(chǎn)生的分類規(guī)則易于理解,準(zhǔn)確率高,改進(jìn)了ID3算法傾向于選擇具有最大增益率的屬性作為分裂屬性的缺點(diǎn),而且相比于ID3算法,能處理非離散數(shù)據(jù)或不完整數(shù)據(jù)。C4.5由于使用了熵模型,里面有大量的耗時(shí)的對數(shù)運(yùn)算,如果是連續(xù)值還需要大量的排序運(yùn)算,而且C4.5只能用于分類。2

決策樹規(guī)約10十一月202420CART算法原理:分類回歸樹(ClassificationAndRegressionTree,CART)算法最早由Breiman等人提出,目前已在統(tǒng)計(jì)領(lǐng)域和數(shù)據(jù)挖掘技術(shù)中普遍使用。Python中的scikit-learn模塊的Tree子模塊主要使用CART算法實(shí)現(xiàn)決策樹?;嶂笖?shù)CART算法用基尼系數(shù)代替熵模型?;嶂笖?shù)度量數(shù)據(jù)分區(qū)或訓(xùn)練元組D的不純度,定義為:2

決策樹規(guī)約10十一月202421樹剪枝隨著決策樹深度的增加,模型的準(zhǔn)確度肯定會(huì)越來越好。但是對于新的未知數(shù)據(jù),模型的表現(xiàn)會(huì)很差,產(chǎn)生的決策樹會(huì)出現(xiàn)過分適應(yīng)數(shù)據(jù)的問題。而且,由于數(shù)據(jù)中的噪聲和孤立點(diǎn),許多分枝反映的是訓(xùn)練數(shù)據(jù)中的異常,對新樣本的判定很不精確。為防止構(gòu)建的決策樹出現(xiàn)過擬合,需要對決策樹進(jìn)行剪枝。決策樹的剪枝方法一般有預(yù)剪枝和后剪枝方法。2

決策樹規(guī)約10十一月2024221.預(yù)剪枝當(dāng)在某一結(jié)點(diǎn)選擇使用某一屬性作為劃分屬性時(shí),會(huì)由于本次劃分而產(chǎn)生幾個(gè)分支。預(yù)剪枝就是對劃分前后兩棵樹的泛化性能進(jìn)行評估,根據(jù)評估結(jié)果決定該結(jié)點(diǎn)是否進(jìn)行劃分。如果在一個(gè)結(jié)點(diǎn)劃分樣本將導(dǎo)致低于預(yù)定義臨界值的分裂(如使用信息增益度量)則提前停止樹的構(gòu)造,但是選擇一個(gè)合適的臨界值往往非常困難。2.后剪枝在后剪枝方法中,先構(gòu)造一顆完整的決策樹,然后從下向上計(jì)算每個(gè)結(jié)點(diǎn)的經(jīng)驗(yàn)熵,遞歸地從決策樹的葉子結(jié)點(diǎn)進(jìn)行回縮,通過計(jì)算回縮前后的損失函數(shù)并進(jìn)行比較判斷是否進(jìn)行剪枝。剪枝可以只在樹的某一部分進(jìn)行,即局部剪枝,這樣極大提高了剪枝的效率。第7章

決策樹11/10/2024表7.2ID3、C4.5和CART算法的主要特點(diǎn)算法支持模型樹結(jié)構(gòu)特征選擇連續(xù)值處理缺失值處理剪枝屬性多次使用ID3分類多叉樹信息增益不支持不支持不支持不支持C4.5分類多叉樹信息增益率支持支持支持不支持CART分類回歸二叉樹基尼指數(shù)支持支持支持支持2

決策樹規(guī)約10十一月202424sklearn.tree.DecisionTreeClassifier實(shí)現(xiàn)了決策樹的構(gòu)建,在該方法中,參數(shù)criterion規(guī)定了該決策樹所采用的

最佳分割屬性的判決方法,取值有“gini”和“entropy”兩種;max_depth限定了決策樹的最大深度,對于防止過擬合非常有用。參數(shù)min_samples_leaf限定了葉子結(jié)點(diǎn)包含的最小樣本數(shù)。iris=load_iris()X_train,X_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.20,random_state=30,shuffle=True)clf=tree.DecisionTreeClassifier(criterion='entropy')#criterion缺省為'gini'clf=clf.fit(X_train,y_train)plt.figure(dpi=150)tree.plot_tree(clf,feature_names=iris.feature_names,class_names=iris.target_names)第

7章分類10十一月202425最近鄰分類算法KNN

(k-NearestNeighbor)3K近鄰算法10十一月202426K近鄰(k-NearestNeighborClassification,KNN)算法是機(jī)器學(xué)習(xí)算法中最基礎(chǔ)、最簡單的算法之一,屬于惰性學(xué)習(xí)法。3K近鄰算法KNN算法基于類比學(xué)習(xí),即通過將給定的檢驗(yàn)元組與和它相似的元組進(jìn)行比較來學(xué)習(xí)。訓(xùn)練元組用n個(gè)屬性描述,每個(gè)元組代表n維空間的一個(gè)點(diǎn)。所有的訓(xùn)練元組都存放在n維模式空間中。當(dāng)給定一個(gè)未知元組時(shí),KNN搜索模式空間,根據(jù)距離函數(shù)計(jì)算待分類樣本X和每個(gè)訓(xùn)練樣本的距離(作為相似度),選擇與待分類樣本距離最小的K個(gè)樣本作為X的K個(gè)最近鄰,最后以X的K個(gè)最近鄰中的大多數(shù)樣本所屬的類別作為X的類別。10十一月2024273K近鄰算法如圖7-4所示,有方塊和三角形兩類數(shù)據(jù),它們分布在二維特征空間中。假設(shè)有一個(gè)新數(shù)據(jù)(圓點(diǎn))需要預(yù)測其所屬的類別,根據(jù)“物以類聚”,可以找到離圓點(diǎn)最近的幾個(gè)點(diǎn),以它們中的大多數(shù)點(diǎn)的類別決定新數(shù)據(jù)所屬的類別。如果k=3,由于圓點(diǎn)近鄰的3個(gè)樣本中,三角形占比2/3,則認(rèn)為新數(shù)據(jù)屬于三角形類別。同理,k=5,則新數(shù)據(jù)屬于正方形類別。10十一月2024283K近鄰算法如何度量樣本之間的距離(或相似度)是KNN算法的關(guān)鍵步驟之一。常見的數(shù)值屬性的相似度度量方法包括:閔可夫斯基距離(當(dāng)參數(shù)p=2時(shí)為歐幾里得距離,參數(shù)p=1時(shí)為曼哈頓距離)余弦相似度、皮爾遜相似系數(shù)、漢明距離、杰卡德相似系數(shù)等。在計(jì)算距離之前,需要把每個(gè)屬性的值規(guī)范化。對于算法中的K值,一般通過實(shí)驗(yàn)確定。K-最近鄰算法是一種非參數(shù)模型。10十一月2024293K近鄰算法10十一月2024303K近鄰算法10十一月202431優(yōu)點(diǎn):1.算法思路較為簡單,易于實(shí)現(xiàn);2.當(dāng)有新樣本要加入訓(xùn)練集中時(shí),無需重新訓(xùn)練(即重新訓(xùn)練的代價(jià)低);3.計(jì)算時(shí)間和空間線性于訓(xùn)練集的規(guī)模,對某些問題而言這是可行的。缺點(diǎn):1.分類速度慢。2.各屬性的權(quán)重相同,影響準(zhǔn)確率。3.樣本庫容量依賴性較強(qiáng).4.K值不好確定。K=3時(shí),綠色未知點(diǎn)屬于

紅色三角;K=5時(shí),屬于藍(lán)色正方形3K近鄰算法3K近鄰算法10十一月202433支持向量機(jī)(SupportVetorMachine,SVM)10十一月2024344支持向量機(jī)支持向量機(jī)(SupportVetorMachine,SVM)由Vapnik等人于1995年首先提出,在解決小樣本、非線性及高維模式識別中表現(xiàn)出許多特有的優(yōu)勢,并推廣到人臉識別、行人檢測和文本分類等其他機(jī)器學(xué)習(xí)問題中。SVM建立在統(tǒng)計(jì)學(xué)習(xí)理論的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小原理基礎(chǔ)上,根據(jù)有限的樣本信息在模型的復(fù)雜性和學(xué)習(xí)能力之間尋求最佳平衡,以求獲得最好的推廣能力。SVM可以用于數(shù)值預(yù)測和分類。10十一月2024354支持向量機(jī)36支持向量機(jī)(SupportVetorMachine,SVM)是一種對線性和非線性數(shù)據(jù)進(jìn)行分類的方法。SVM使用一種非線性映射,把原訓(xùn)練數(shù)據(jù)映射到較高的維上,在新的維上,搜索最佳分離超平面。由簡至繁SVM可分類為三類:線性可分(linearSVMinlinearlyseparablecase)的線性SVM、線性不可分的線性SVM、非線性(nonlinear)SVM4支持向量機(jī)算法原理:支持向量機(jī)是一種對線性和非線性數(shù)據(jù)進(jìn)行分類的方法。它使用一種非線性映射,把原始訓(xùn)練數(shù)據(jù)映射到較高的維上,在新的維上,搜索最佳分離超平面。SVM可分類為三類:線性可分的線性SVM、線性不可分的線性SVM、非線性SVM。如果訓(xùn)練數(shù)據(jù)線性可分,則通過硬間隔最大化學(xué)習(xí)一個(gè)線性分類器即線性可分支持向量機(jī),也稱為硬間隔支持向量機(jī);如果訓(xùn)練數(shù)據(jù)近似線性可分,則通過軟間隔最大化學(xué)習(xí)得到一個(gè)線性分類器即線性支持向量機(jī),也稱為軟間隔支持向量機(jī);對于數(shù)據(jù)非線性可分的情況,通過擴(kuò)展線性SVM的方法,得到非線性的SVM,即采用非線性映射把輸入數(shù)據(jù)變換到較高維空間,在新的空間搜索分離超平面。10十一月2024374支持向量機(jī)1.數(shù)據(jù)線性可分的情況SVM的主要目標(biāo)是找到最佳超平面,以便在不同類的數(shù)據(jù)點(diǎn)之間進(jìn)行正確分類。超平面的維度等于輸入特征的數(shù)量減去1。圖7-5顯示了分類的最佳超平面和支持向量(實(shí)心的數(shù)據(jù)樣本)。10十一月202438?4支持向量機(jī)10十一月202439DistancetoHyperplane40xx'原點(diǎn)到超平面的距離點(diǎn)x到超平面的距離:4支持向量機(jī)Margins41“PredictClass=+1”zone“PredictClass=-1”zoneH1:wx+b=1H2:wx+b=-1x-x+M=MarginWidth從分離超平面到到H1上任意點(diǎn)的距離是因此最大邊緣是4支持向量機(jī)4支持向量機(jī)10十一月2024424支持向量機(jī)10十一月2024434支持向量機(jī)10十一月2024444支持向量機(jī)10十一月2024454支持向量機(jī)數(shù)據(jù)非線性可分的情況在某些情況下,訓(xùn)練數(shù)據(jù)甚至連近似的線性劃分也找不到,線性超平面無法有效劃分正類與負(fù)類,而是需要超曲面等非線性劃分。然而,非線性的優(yōu)化問題很難求解。通常的做法是將輸入向量從輸入的空間投射到另一個(gè)空間,如圖7-6所示。在這個(gè)特征空間中,投射后的特征向量線性可分或者近似線性可分,然后通過線性支持向量機(jī)的方法求解。10十一月2024464支持向量機(jī)然而這樣做也帶來一個(gè)新的問題,即使得投射后的特征向量(近似)線性可分的特征空間維度往往比原輸入空間的維度高很多,甚至具有無限個(gè)維度。為了解決新特征空間維度高的問題,引入核方法(KernalMethod),在計(jì)算中不需要直接進(jìn)行非線性變換,從而避免由計(jì)算高維度向量帶來的問題。10十一月2024474支持向量機(jī)在sklearn中SVM的算法庫分為兩類,一類是分類的算法庫,包括SVC、NuSVC和LinearSVC3個(gè)類。另一類是回歸算法庫,包括SVR、NuSVR和LinearSVR3個(gè)類。相關(guān)的類都包括在sklearn.svm模塊之中。10十一月2024484支持向量機(jī)SVM本是二分類的分類算法,但由于其強(qiáng)大的分類性能,也被廣泛應(yīng)用于多分類領(lǐng)域。在方法SVC中的參數(shù)ovo和ovr就是多分類時(shí)需要進(jìn)行選擇的兩種不同策略。參數(shù)ovo(oneversusone)即一對一的分類器,這時(shí)對K個(gè)類別需要構(gòu)建K*(K-1)/2個(gè)分類器;ovr(oneversusrest)指一對其他,這時(shí)對K個(gè)類別只需要構(gòu)建K個(gè)分類器。11/10/20245樸素貝葉斯網(wǎng)絡(luò)貝葉斯分類是一類分類算法的總稱,這類算法均以貝葉斯定理(BayesTheorem)為基礎(chǔ),采用了概率推理方法。貝葉斯定理提供了一種計(jì)算假設(shè)概論的方法。10十一月2024505樸素貝葉斯網(wǎng)絡(luò)10十一月2024515樸素貝葉斯網(wǎng)絡(luò)高斯樸素貝葉斯分類10十一月2024525樸素貝葉斯網(wǎng)絡(luò)10十一月2024535樸素貝葉斯網(wǎng)絡(luò)10十一月2024545樸素貝葉斯網(wǎng)絡(luò)多項(xiàng)式樸素貝葉斯分類多項(xiàng)式樸素貝葉斯(MultinomialNa?veBayes)經(jīng)常被用于處理多分類問題,比起原始的樸素貝葉斯分類效果有了較大的提升。其公式如下:10十一月2024555樸素貝葉斯網(wǎng)絡(luò)Scikit-learn模塊中有Na?veBayes子模塊,包含了各種貝葉斯算法。關(guān)鍵在于將分類器設(shè)置為樸素貝葉斯分類器,接著調(diào)用分類器訓(xùn)練并進(jìn)行分類。10十一月2024566模型評估與選擇構(gòu)建的分類器總是希望有較好的性能,如何評估分類器性能,需要一些客觀的指標(biāo)進(jìn)行評判。比如,如何評估分類器的準(zhǔn)確率(模型評估)以及如何在多個(gè)分類器中選擇“最好的”一個(gè)。分類器性能的度量10十一月2024576模型評估與選擇1.混淆矩陣根據(jù)實(shí)際類別與機(jī)器學(xué)習(xí)預(yù)測類別的組合(混淆矩陣,ConfusionMatrix)可分為真正例(TruePositive,TP)、假正例(FalsePositive,F(xiàn)P)、假負(fù)例(FalseNegative,F(xiàn)N)和真負(fù)例(TrueNegative,TN)四種情況。10十一月2024586模型評估與選擇分類器常用評估量(1)準(zhǔn)確率和錯(cuò)誤率分類器在檢驗(yàn)集上的準(zhǔn)確率(Accuracy)被定義為被該分類器正確分類的元組所占的百分比。(2)靈敏性和特效性敏感性又稱真正類率(truepositiverate,TPR),它表示了分類器所識別出的正實(shí)例占所有正實(shí)例的比例。特效性是真負(fù)例率,即正確識別的負(fù)元組的百分比。10十一月2024596模型評估與選擇分類器常用評估量(3)精度和召回率精度和召回率也在分類中廣泛使用。精度(Precision)定義為標(biāo)記為正例的元組實(shí)際為正類的百分比,可以看作精確度的度量,也被稱為查準(zhǔn)率。召回率(Recall)定義為正元組標(biāo)記為正的百分比,是完全性的度量,也被稱為查全率。10十一月2024606模型評估與選擇分類器常用評估量10十一月2024616模型評估與選擇除了基于準(zhǔn)確率的度量外,還可以在其他方面進(jìn)行分類器的比較,主要因素有:速度:構(gòu)建和使用分類器的計(jì)算開銷。魯棒性:對有噪聲或缺失值數(shù)據(jù)分類器做出正確預(yù)測的能力。通常魯棒性用噪聲和缺失值漸增的一系列合成數(shù)據(jù)集進(jìn)行評估??缮炜s性:對于給定大量數(shù)據(jù)有效構(gòu)造分類器的能力。通常,可伸縮性用規(guī)模漸增的一系列數(shù)據(jù)集評估??山忉屝裕簩Ψ诸惼魈峁┑睦斫夂投床焖???山忉屝允侵饔^的,因?yàn)楹茈y評估。比如決策樹和分類規(guī)則一般容易解釋,但隨著它們變得更復(fù)雜,其可解釋性也隨之消失。10十一月2024626模型評估與選擇分類器常用評估量(5)P-R曲線評價(jià)一個(gè)模型的好壞,不能僅靠精確率或者召回率,最好構(gòu)建多組精確率和召回率,繪制出模型的P-R曲線。在繪制P-R曲線的橫軸是召回率,縱軸是精確率。P-R曲線上的一個(gè)點(diǎn)代表著,在某一閾值下,模型將大于該閾值的結(jié)果判定為正樣本,小于該閾值的結(jié)果判定為負(fù)樣本,此時(shí)返回結(jié)果對應(yīng)的召回率和精確率。10十一月2024636模型評估與選擇分類器常用評估量(6)接收者操作特征曲線接收者操作特征曲線(ReceiverOperatingCharacteristicCurve,ROC)是一種反映分類模型敏感性和特異性連續(xù)變量的綜合指標(biāo),顯示了給定模型的真正例率(TPR)和假正例率(FPR)之間的權(quán)衡。ROC通過將連續(xù)變量設(shè)定出多個(gè)不同的臨界值,從而計(jì)算出一系列敏感性和特異性,并以TPR為縱坐標(biāo)、FPR為橫坐標(biāo)繪制曲線,曲線下面積越大,診斷準(zhǔn)確性越高。ROC曲線上每個(gè)點(diǎn)反映著對同一信號刺激的感受性,最靠近坐標(biāo)圖左上方的點(diǎn)為敏感性和特異性均較高的臨界值。10十一月2024646模型評估與選擇10十一月2024656模型評估與選擇模型選擇當(dāng)假設(shè)空間含有不同的復(fù)雜度的模型時(shí),會(huì)面臨模型選擇(ModelSelection)問題。我們希望所選擇的模型要與真模型的參數(shù)個(gè)數(shù)相同,所選擇的模型的參數(shù)向量與真模型的參數(shù)向量相近。然而,一味追求提高分類器的預(yù)測能力,所選擇的模型的復(fù)雜度會(huì)比真模型要高,這種現(xiàn)象被稱為過擬合(Over-fitting)。過擬合指學(xué)習(xí)時(shí)選擇的模型所含的參數(shù)過多,導(dǎo)致該模型對已知數(shù)據(jù)預(yù)測的很好,但對未知數(shù)據(jù)預(yù)測很差的現(xiàn)象。因此,模型選擇旨在避免過擬合并提高模型的預(yù)測能力。在模型選擇時(shí),不僅要考慮對已知數(shù)據(jù)的預(yù)測能力,還要考慮對未知數(shù)據(jù)的預(yù)測能力。10十一月2024666模型評估與選擇奧卡姆剃刀定律是機(jī)器學(xué)習(xí)選擇算法時(shí)可參照的標(biāo)準(zhǔn)之一。其含義是:在其他條件一樣的情況下,選擇簡單的那個(gè)。該定律的意義在于數(shù)據(jù)的擬合和低復(fù)雜性之間實(shí)際上存在著折衷。理論上假設(shè)的解決方案越復(fù)雜,就越能擬合數(shù)據(jù),訓(xùn)練數(shù)據(jù)誤差就會(huì)越低(左下圖)。11/10/2024訓(xùn)練數(shù)據(jù)誤差未知數(shù)據(jù)的泛化誤差6模型評估與選擇泛化數(shù)據(jù)誤差實(shí)際是訓(xùn)練數(shù)據(jù)誤差與另一個(gè)名為過擬合誤差的函數(shù)之和。在泛化誤差最小得情況下,可獲得最佳復(fù)雜性。在現(xiàn)實(shí)生活中,通常只會(huì)獲得訓(xùn)練數(shù)據(jù)誤差。但實(shí)踐表明,如果你不去選擇能夠使訓(xùn)練數(shù)據(jù)誤差最小化的模型,而是選擇復(fù)雜性低一點(diǎn)的模型,算法的表現(xiàn)往往會(huì)更好。過擬合是機(jī)器學(xué)習(xí)算法性能不佳得主要緣由。這也是在機(jī)器學(xué)習(xí)中應(yīng)用奧卡姆剃刀定律的原因。11/10/20246模型評估與選擇1.模型選擇方法模型選擇方法主要有正則化和交叉驗(yàn)證方法。(1)正則化模型選擇的典型方法是正則化(Regularization)。正則化是結(jié)構(gòu)風(fēng)險(xiǎn)最小化策略的實(shí)現(xiàn),是在經(jīng)驗(yàn)風(fēng)險(xiǎn)上加一個(gè)正則化項(xiàng)(Regularizer)或懲罰項(xiàng)(Penalty)。正則化項(xiàng)一般是模型復(fù)雜度的單調(diào)遞增函數(shù),模型越復(fù)雜,正則化值就越大,比如,正則化項(xiàng)可以是模型參數(shù)向量的范數(shù)。10十一月2024696模型評估與選擇10十一月202470正則化符合奧卡姆剃刀(Occam’srazor)原理。奧卡姆剃刀原理應(yīng)用于模型選擇時(shí)認(rèn)為,在所有可能選擇的模型中,能夠很好地解釋已知數(shù)據(jù)并且盡可能簡單才是最好的模型,也就是應(yīng)該選擇的模型。從貝葉斯估計(jì)的角度來看,正則化項(xiàng)對應(yīng)于模型的先驗(yàn)概率??梢约僭O(shè)復(fù)雜的模型有較大的先驗(yàn)概率,簡單的模型有較小的先驗(yàn)概率。6模型評估與選擇(2)交叉驗(yàn)證另一種常用的模型選擇方法是交叉驗(yàn)證(CrossValidation)。如果給定的樣本數(shù)據(jù)充足,進(jìn)行模型選擇的一種簡單方法是隨機(jī)地將數(shù)據(jù)集劃分為訓(xùn)練集(Trainingset)、驗(yàn)證集(ValidationSet)和測試集(TestSet)三部分。10十一月2024716模型評估與選擇

1.簡單交叉驗(yàn)證簡單交叉驗(yàn)證方法是隨機(jī)地將已給數(shù)據(jù)分為訓(xùn)練集和測試集(如70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測試集),然后用訓(xùn)練集在各種條件下(如不同的參數(shù)個(gè)數(shù))訓(xùn)練模型在測試集上評價(jià)各個(gè)模型的測試誤差,選出測試誤差最小的模型。10十一月202472fromsklearn.model_selectionimporttrain_test_splitimportnumpyasnpX=np.array([[1,2],[3,4],[5,6],[7,8]])y=np.array([1,2,2,1])X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.50,random_state=5)print("X_train:\n",X_train)print("y_train:\n",y_train)print("X_test:\n",X_test)print("y_test:\n",y_test)11/10/20242.k-折交叉驗(yàn)證在k-折交叉驗(yàn)證(k-foldCross-Validation)中,首先隨機(jī)地將已給數(shù)據(jù)劃分為k個(gè)互不相交的大小相同的子集,然后利用k-1個(gè)子集的數(shù)據(jù)訓(xùn)練模型,利用余下的子集測試模型。將這一過程對可能的k種選擇重復(fù)進(jìn)行,最后選出k次評測中平均測試誤差最小的模型。fromsklearn.model_selectionimportKFoldimportnumpyasnpX=np.array([[1,2],[3,4],[5,6],[7,8]])y=np.array([1,2,2,1])kf=KFold(n_splits=2)fortrain_index,test_indexinkf.split(X):print("Train:",train_index,"Validation:",test_index)X_train,X_test=X[train_index],X[test_index]y_train,y_test=y[train_index],y[test_index]6模型評估與選擇

3.留一交叉驗(yàn)證k折交叉驗(yàn)證的特殊情形是k=N,即k設(shè)置為元組的個(gè)數(shù),稱為留一交叉驗(yàn)證(Leave-one-outCrossValidation),往往在數(shù)據(jù)缺乏的情況下使用。10十一月202474fromsklearn.model_selectionimportLeaveOneOutimportnumpyasnpX=np.array([[1,2],[3,4],[5,6],[7,8]])y=np.array([1,2,2,1])loo=LeaveOneOut()loo.get_n_splits(X)fortrain_index,test_indexinloo.split(X):print("train:",train_index,"validation:",test_index)第7章分類組合分類器(Ensemble)10十一月2024757組合分類組合分類器(Ensemble)是一個(gè)復(fù)合模型,由多個(gè)分類器組合而成。組合分類器往往比它的成員分類器更準(zhǔn)確。10十一月202476VS.7組合分類7組合分類袋裝(Bagging)是一種采用隨機(jī)有放回的抽樣選擇訓(xùn)練數(shù)據(jù)構(gòu)造分類器進(jìn)行組合的方法。如同找醫(yī)生看病,選擇多個(gè)醫(yī)生,根據(jù)多個(gè)醫(yī)生的診斷結(jié)果做出最終結(jié)果(多數(shù)表決),每個(gè)醫(yī)生具有相同的投票權(quán)重。10十一月2024787組合分類在sklearn中,Bagging方法由BaggingClassifier統(tǒng)一提供,以用戶輸入的基模型和劃分子集的方法作為參數(shù)。其中,max_samples和max_features控制子集的大小,而bootstrap和bootstrap_features控制數(shù)據(jù)樣本和屬性是否替換。Oob_score=True可使得估計(jì)時(shí)采用已有的數(shù)據(jù)劃分樣本。10十一月2024797組合分類提升和AdaBoost考慮找醫(yī)生看病的另外一種情況,選擇多個(gè)醫(yī)生,根據(jù)多個(gè)醫(yī)生的診斷結(jié)果做出最終結(jié)果(加權(quán)表決),每個(gè)醫(yī)生具有不同的投票權(quán)重。這就是提升(Boosting)的基本思想。10十一月2024807組合分類10十一月2024817組合分類10十一月2024827組合分類10十一月202483scikit-learn中Adaboost類庫包括AdaBoostClassifier和AdaBoostRegressor兩個(gè),AdaBoostClassifier用于分類,AdaBoostRegressor用于回歸。7組合分類隨機(jī)森林隨機(jī)森林就是通過集成學(xué)習(xí)的思想將多棵樹集成的一種算法,它的基本單元是決策樹。想象組合分類器中的每個(gè)分類器都是一棵決策樹,因此分類器的集合就是一個(gè)“森林”。更準(zhǔn)確說,每一棵樹都依賴于獨(dú)立抽樣,并與森林中所有樹具有相同分布的隨機(jī)向量值。隨機(jī)森林是利用多個(gè)決策樹對樣本進(jìn)行訓(xùn)練、分類并預(yù)測的一種算法,主要應(yīng)用于回歸和分類場景。在對數(shù)據(jù)進(jìn)行分類的同時(shí),還可以給出各個(gè)變量的重要性評分,評估各個(gè)變量在分類中所起的作用。分類時(shí),每棵樹都投票并且返回得票最多的類。10十一月2024847組合分類隨機(jī)森林算法流程(1)訓(xùn)練總樣本的個(gè)數(shù)為N,則單棵決策樹從N個(gè)訓(xùn)練集中有放回的隨機(jī)抽取N個(gè)作為此單棵樹的訓(xùn)練樣本(2)令訓(xùn)練樣例的輸入特征的個(gè)數(shù)為M,m遠(yuǎn)遠(yuǎn)小于M,則我們在每棵決策樹的每個(gè)結(jié)點(diǎn)上進(jìn)行分裂時(shí),從M個(gè)輸入特征里隨機(jī)選擇m個(gè)輸入特征,然后從這m個(gè)輸入特征里選擇一個(gè)最好的進(jìn)行分裂。m在構(gòu)建決策樹的過程中不會(huì)改變。(3)每棵樹都一直這樣分裂下去,直到該結(jié)點(diǎn)的所有訓(xùn)練樣例都屬于同一類,不需要剪枝。10十一月2024857組合分類2.隨機(jī)森林的兩種形式(1)Forest-RI:使用裝袋算法與隨機(jī)屬性選擇結(jié)合構(gòu)建。給定d個(gè)元組的訓(xùn)練集D,為組合分類器產(chǎn)生k棵決策樹的一般過程如下:對于每次迭代i(i=1,2,3,…,k),使用有放回的抽樣,由D產(chǎn)生d個(gè)元組的訓(xùn)練集Di。也就是說,每個(gè)Di都是D的一個(gè)自助樣本,使得某些元組可能在Di出現(xiàn)多次,而另一些可能不出現(xiàn)。設(shè)F是用來在每個(gè)結(jié)點(diǎn)決定劃分的屬性數(shù),其中F遠(yuǎn)小于可用的屬性數(shù)。為了構(gòu)造決策樹分類器Mi,在每個(gè)結(jié)點(diǎn)隨機(jī)選擇F個(gè)屬性作為結(jié)點(diǎn)劃分的候選屬性。使用CART算法的方法來增長樹。樹增長達(dá)最大規(guī)模,并且不剪枝。10十一月2024867組合分類2.隨機(jī)森林的兩種形式(2)Forest-RC:使用輸入屬性的隨機(jī)線性組合。它不是隨機(jī)的選擇一個(gè)屬性子集,而是由已有屬性的線性組合創(chuàng)建一些新屬性(特征)。即一個(gè)屬性由指定的L個(gè)原屬性組合產(chǎn)生。在每個(gè)給定的結(jié)點(diǎn),隨機(jī)選取L個(gè)屬性,并且從[-1,1]中隨機(jī)選取的數(shù)作為系數(shù)相加。產(chǎn)生F個(gè)線性組合,并且其中搜索到最佳劃分。當(dāng)只有少量屬性可用時(shí),為了降低個(gè)體分類器之間的相關(guān)性,這種形式的隨機(jī)森林是有用的。10十一月2024877組合分類10十一月202488本章小結(jié)分類是一種數(shù)據(jù)分析形式,它提取描述數(shù)據(jù)類的模型。分類器預(yù)測類別標(biāo)號(類)。數(shù)值預(yù)測建立連續(xù)值函數(shù)模型。分類和數(shù)值預(yù)測是兩類主要的預(yù)測問題。決策樹歸納是一種自頂向下遞歸樹歸納算法,它使用一種屬性選擇度量為樹的每個(gè)非樹葉結(jié)點(diǎn)選擇測試屬性。ID3、C4.5和CART都是這種算法的例子,它們使用不同的屬性選擇度量。樸素貝葉斯分類基于后驗(yàn)概率的貝葉斯定理。它假定類條件獨(dú)立,即一個(gè)屬性值對給定類的影響?yīng)毩⒂谄渌麑傩缘闹怠?0十一月202489本章小結(jié)支持向量機(jī)(SVM)是一種用于線性和非線性數(shù)據(jù)的分類算法。它把源數(shù)據(jù)變換到較高維空間,使用稱作支持向量的基本元組,從中發(fā)現(xiàn)分離數(shù)據(jù)的超平面?;煜仃嚳梢杂脕碓u估分類器的質(zhì)量。評估分類器預(yù)測能力的度量包括準(zhǔn)確率、靈敏度(又稱為召回率)、特效性、精度、F和Fβ。分類器的構(gòu)造與評估需要把標(biāo)記的數(shù)據(jù)集劃分成訓(xùn)練集和檢驗(yàn)集。保持、隨機(jī)抽樣、交叉驗(yàn)證和自助法都是用于這種劃分的典型方法。10十一月202490本章小結(jié)組合方法可以通過學(xué)習(xí)和組合一系列個(gè)體(基)分類器模型來提高總體準(zhǔn)確率。裝袋、提升和隨機(jī)森林都是流行的組合方法。當(dāng)感興趣的主類只由少量元組代表時(shí)就會(huì)出現(xiàn)類不平衡問題。處理這一問題的策略包括過抽樣、欠抽樣、閾值移動(dòng)和組合技術(shù)。10十一月202491Python數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)第8章聚類第8章聚類本章內(nèi)容聚類分析K-Means聚類層次聚類基于密度的聚類其他聚類方法聚類評估10十一月202493第8章聚類94無監(jiān)督學(xué)習(xí)(UnsuperviseLearning)著重于發(fā)現(xiàn)數(shù)據(jù)本身的分布特點(diǎn)。與監(jiān)督學(xué)習(xí)(SupervisedLearning)不同,無監(jiān)督學(xué)習(xí)不需要對數(shù)據(jù)進(jìn)行標(biāo)記。從功能角度講,無監(jiān)督學(xué)習(xí)模型可以發(fā)現(xiàn)數(shù)據(jù)的“群落”,同時(shí)也可以尋找“離群”的樣本。另外,對于特征維度非常高的數(shù)據(jù)樣本,同樣可以通過無監(jiān)督學(xué)習(xí)進(jìn)行數(shù)據(jù)降維,保留最具有區(qū)分性的低維度特征。聚類是一個(gè)將數(shù)據(jù)對象集劃分為多個(gè)組或簇的過程,使得簇內(nèi)的數(shù)據(jù)對象具有很高的相似性,但不同簇間的對象具有很高的相異性。第8章聚類95聚類算法分類隨著聚類分析技術(shù)的蓬勃發(fā)展,目前已有很多類型的聚類算法。但很難對聚類方法進(jìn)行簡單的分類,因?yàn)檫@些類別的聚類可能重疊,從而使得一種方法具有一些交叉的特征。一般而言,聚類算法被劃分為以下幾類:1.劃分方法2.基于層次的方法3.基于密度的方法4.局域網(wǎng)格的方法K-Means聚類聚類分析中最廣泛使用的算法為K-Means聚類算法。10十一月202496給定一個(gè)n個(gè)對象或元組的數(shù)據(jù)庫,一個(gè)劃分方法構(gòu)建數(shù)據(jù)的k個(gè)劃分,每個(gè)劃分表示一個(gè)簇,k<=n,而且滿足:(1)每個(gè)組至少包含一個(gè)對象;(2)每個(gè)對象屬于且僅屬于一個(gè)組。劃分時(shí)要求同一個(gè)聚類中的對象盡可能地接近或相關(guān),不同聚類中的對象盡可能地遠(yuǎn)離或不同。K-Means算法是一個(gè)迭代的優(yōu)化算法,最終使得下面均方誤差最小。

K-Means聚類K-Means算法:10十一月202497用于劃分的K-Means算法,其中每個(gè)簇的中心都用簇中所有對象的均值來表示。K-Means聚類模型所采用的迭代算法直觀易懂且非常實(shí)用。但是具有容易收斂到局部最優(yōu)解和需要預(yù)先設(shè)定簇的數(shù)量的缺陷。K-Means聚類98K=2隨機(jī)劃分更新聚類中心更新聚類中心指派對象類標(biāo)號Loopifneeded初始數(shù)據(jù)集k均值算法的評論優(yōu)點(diǎn):可擴(kuò)展性較好,算法復(fù)雜度為O(nkt),其中n為對象總數(shù),k是簇的個(gè)數(shù),t是迭代次數(shù)。經(jīng)常終止于局部最優(yōu)解k均值算法的評論缺點(diǎn)只有當(dāng)簇均值有定義的情況下,k均值方法才能使用。(某些分類屬性的均值可能沒有定義)用戶必須首先給定簇?cái)?shù)目不適合發(fā)現(xiàn)非凸形狀的簇,或者大小差別很大的簇對噪聲和離群點(diǎn)數(shù)據(jù)敏感k均值算法實(shí)現(xiàn)fromsklearn.datasetsimportload_irisfromsklearn.clusterimportKMeansiris=load_iris()#加載數(shù)據(jù)集X=iris.dataestimator=KMeans(n_clusters=3)#構(gòu)造K-Means聚類模型estimator.fit(X)#數(shù)據(jù)導(dǎo)入模型進(jìn)行訓(xùn)練label_pred=estimator.labels_#獲取聚類標(biāo)簽print(label_pred)#顯示各個(gè)樣本所屬的類別標(biāo)簽[111111111111111111111111111111111111111111111111110020000000000000000000000002000000000000000000000020222202222220022220202022002222202222022202220220]11/10/2024k均值方法的變種k均值方法有些變種,他們的區(qū)別在于不同的初始k個(gè)均值的選擇不同的相異度計(jì)算不同的計(jì)算簇均值的策略k均值方法的變種聚類分類數(shù)據(jù)的方法:k眾數(shù)(mode)方法用眾數(shù)來替代簇的均值采用新的相異性度量處理分類對象采用基于頻率的方法更新簇的眾數(shù)可以集成k均值和k眾數(shù)方法,對具有數(shù)值和分類值的數(shù)據(jù)進(jìn)行聚類K-Means聚類K-Means算法改進(jìn):1.K-means++算法K-means算法初始時(shí)隨機(jī)選取數(shù)據(jù)集中K個(gè)點(diǎn)作為聚類中心,不同的初始聚類中心可能導(dǎo)致完全不同的聚類結(jié)果。K-means++算法初始的聚類中心之間的相互距離要盡可能的遠(yuǎn)。10十一月2024104K-Means聚類K-Means算法改進(jìn):2.ISODATA算法ISODATA的全稱是迭代自組織數(shù)據(jù)分析法,是在K-means算法的基礎(chǔ)上,增加對聚類結(jié)果的“合并”和“分裂”兩個(gè)操作,當(dāng)屬于某個(gè)類別的樣本數(shù)過少時(shí)則刪除該類,當(dāng)屬于某個(gè)類別的樣本數(shù)過多、分散程度較大時(shí),把這個(gè)類分裂為兩個(gè)子類別。10十一月2024105K-Means聚類K-Means算法改進(jìn):3.MiniBatch-KMeansMiniBatch-KMeans是一種能盡量保持聚類準(zhǔn)確性但能大幅度降低計(jì)算時(shí)間的聚類模型。MiniBatch-KMeans聚類每次迭代并不采用所有樣本,而是每次等量采樣獲得小的樣本集并把小樣本集中的樣本劃歸到距離最近的中心所在的簇,然后進(jìn)行聚類中心點(diǎn)的更新。與K-Means算法相比,簇中心點(diǎn)的更新是在每個(gè)小的樣本集上。MiniBatch-KMeans可以大大減少算法運(yùn)行時(shí)間,但產(chǎn)生的聚類效果只是略低與K-Means算法,適合于極大數(shù)據(jù)量的聚類分析。10十一月20241063.層次聚類算法原理層次聚類(HierarchicalClustering)就是按照某種方法進(jìn)行層次分類,直到滿足某種條件為止。層次聚類主要分成兩類:凝聚:從下到上。首先將每個(gè)對象作為一個(gè)簇,然后合并這些原子簇為越來越大的簇,直到所有的對象都在一個(gè)簇中,或者滿足某個(gè)終結(jié)條件。分裂:從上到下。首先將所有對象置于同一個(gè)簇中,然后逐漸細(xì)分為越來越小的簇,直到每個(gè)對象自成一簇,或者達(dá)到了某個(gè)終止條件。10十一月20241073.層次聚類簇間距離度量1.最短距離法(最大相似度)最短距離被定義為兩個(gè)類中最靠近的兩個(gè)對象間的距離為簇間距離。2.最長距離法(最小相似度)最長距離被定義為兩個(gè)類中最遠(yuǎn)的像個(gè)對象間的距離為簇間距離。10十一月20241083.層次聚類簇間距離度量3.類平均法計(jì)算兩類中任意兩個(gè)對象間的距離的平均值作為簇間距離4.中心法定義兩類的兩個(gè)中心點(diǎn)的距離為簇間距離。10十一月20241093.層次聚類分裂層次聚類DIANA分裂的層次聚類方法使用自頂向下的策略把對象劃分到層次結(jié)構(gòu)中。從包含所有對象的簇開始,每一步分裂一個(gè)簇,直到僅剩單點(diǎn)簇或者滿足用戶指定的簇?cái)?shù)為止。DIANA算法是典型的層次分裂聚類算法。DIANA算法中用到如下兩個(gè)定義:簇的直徑:計(jì)算一個(gè)簇中任意兩個(gè)數(shù)據(jù)點(diǎn)之間的歐式距離,選取距離中的最大值作為簇的直徑。平均相異度:兩個(gè)數(shù)據(jù)點(diǎn)之間的平均距離。10十一月20241103.層次聚類DIANA算法描述:10十一月20241113.層次聚類凝聚層次聚類AGNES凝聚的層次聚類方法使用自底向上的策略把對象組織到層次結(jié)構(gòu)中。開始時(shí)以每個(gè)對象作為一個(gè)簇,每一步合并兩個(gè)最相似的簇。AGNES算法是典型的凝聚層次聚類,起始將每個(gè)對象作為一個(gè)簇,然后根據(jù)合并準(zhǔn)則逐步合并這些簇。兩個(gè)簇間的相似度由這兩個(gè)不同簇中距離最近的數(shù)據(jù)點(diǎn)的相似度確定。聚類的合并過程反復(fù)進(jìn)行直到所有對象最終滿足終止條件設(shè)置的簇?cái)?shù)目。10十一月20241123.層次聚類凝聚層次聚類AGNES10十一月20241133.層次聚類凝聚層次聚類AGNES10十一月20241143.層次聚類凝聚層次聚類AGNES10十一月20241153.層次聚類層次聚類應(yīng)用Python中層次聚類的函數(shù)是AgglomerativeClustering(),最重要的參數(shù)有3個(gè):n_clusters為聚類數(shù)目,affinity為樣本距離定義,linkage是類間距離的定義,有3種取值:ward:組間距離等于兩類對象之間的最小距離average:組間距離等于兩組對象之間的平均距離complete:組間距離等于兩組對象之間的最大距離10十一月20241164基于密度的聚類Generateclustersofarbitraryshapes.Robustagainstnoise.NoKvaluerequiredinadvance.Somewhatsimilartohumanvision.117劃分和層次方法旨在發(fā)現(xiàn)球狀簇,很難發(fā)現(xiàn)任意形狀的簇。4基于密度的聚類基于密度的聚類算法的主要思想是:只要鄰近區(qū)域的密度(對象或數(shù)據(jù)點(diǎn)的數(shù)目)超過某個(gè)閾值

,就把它加到與之相近的聚類中。也就是說,對給定類中的每個(gè)數(shù)據(jù)點(diǎn),在一個(gè)給定范圍的區(qū)域中必須至少包含某個(gè)數(shù)目的點(diǎn)?;诿芏鹊木垲愃惴ù硭惴ㄓ校篋BSCAN算法、OPTICS算法及DENCLUE算法等。

10十一月20241184基于密度的聚類兩個(gè)參數(shù):Eps:鄰域最大半徑MinPts:在Eps鄰域中的最少點(diǎn)數(shù)定義1(Eps鄰域)

給定一個(gè)對象

p,p的Eps鄰域

NEps(p)定義為以

p為核心,以Eps為半徑的d維超球體區(qū)域,即:其中,D為d維實(shí)空間上的數(shù)據(jù)集,dist(p,q)表示D中的2個(gè)對象p和q之間的距離。1194基于密度的聚類DBSCAN算法涉及2個(gè)參數(shù)5個(gè)定義:10十一月20241202個(gè)參數(shù):Eps:鄰域最大半徑MinPts:在Eps鄰域中的最少點(diǎn)數(shù)5個(gè)定義見表:定義內(nèi)容Eps鄰域給定一個(gè)對象

p,p的Eps鄰域

NEps(p)定義為以

p為核心,以Eps為半徑的d維超球體區(qū)域核心點(diǎn)與邊界點(diǎn)對于對象p∈D,給定一個(gè)整數(shù)MinPts,如果p的Eps鄰域內(nèi)的對象數(shù)滿足|NEps(p)|≥MinPts

,則稱p為(Eps,MinPts)條件下的核心點(diǎn);不是核心點(diǎn)但落在某個(gè)核心點(diǎn)的Eps鄰域內(nèi)的對象稱為邊界點(diǎn)4基于密度的聚類10十一月2024121直接密度可達(dá)給定

(Eps,MinPts),如果對象p和

q同時(shí)滿足如下條件:p∈NEps(q);|NEps(q)|≥MinPts

(即q是核心點(diǎn)),則稱對象

p是從對象

q出發(fā),直接密度可達(dá)的密度可達(dá)給定數(shù)據(jù)集D,當(dāng)存在一個(gè)對象鏈

p1,p2,p3,…,pn,

其中

p1=q,

pN=

p,對于

pi∈D,如果在條件(Eps,MinPts)下pi+1從pi

直接密度可達(dá),則稱對象p從對象q在條件

(Eps,MinPts)下密度可達(dá)密度相連如果數(shù)據(jù)集D中存在一個(gè)對象o,使得對象p和q是從o在

(Eps,MinPts)條件下密度可達(dá)的,那么稱對象p和q在

(Eps,MinPts)條件下密度相連定義2(核心點(diǎn)與邊界點(diǎn))

對于對象p∈D,給定一個(gè)整數(shù)MinPts,如果p的Eps鄰域內(nèi)的對象數(shù)滿足|NEps(p)|≥MinPts

,則稱p為(Eps,MinPts)條件下的核心點(diǎn);不是核心點(diǎn)但落在某個(gè)核心點(diǎn)的Eps鄰域內(nèi)的對象稱為邊界點(diǎn)。

CorePointNoisePointBorderPoint4基于密度的聚類4基于密度的聚類定義3(直接密度可達(dá))

如圖所示,給定(Eps,MinPts),如果對象

p和

q同時(shí)滿足如下條件:p∈NEps(q);|NEps(q)|≥MinPts

(即q是核心點(diǎn)),

則稱對象

p是從對象

q出發(fā),直接密度可達(dá)的。定義4(密度可達(dá))

如圖所示,給定數(shù)據(jù)集D,當(dāng)存在一個(gè)對象鏈

p1,p2,p3,…,pn,

其中

p1=q,

pN=

p,對于

pi∈D,如果在條件(Eps,MinPts)下

pi+1從pi

直接密度可達(dá),則稱對象p從對象q在條件(Eps,MinPts)下密度可達(dá)。密度可達(dá)是非對稱的,即p從q密度可達(dá)不能推出q也從p密度可達(dá)。

4基于密度的聚類定義5(密度相連)

如圖所示,如果數(shù)據(jù)集D中存在一個(gè)對象o,使得對象p和q是從o在(Eps,MinPts)條件下密度可達(dá)的,那么稱對象p和q在(Eps,MinPts)條件下密度相連。密度相連是對稱的。4基于密度的聚類4基于密度的聚類126pqdirectlydensityreachablepqdensityreachableoqpdensityconnected4基于密度的聚類DBSCAN算法描述:10十一月2024127輸入:Eps、MinPts和包含n個(gè)對象的數(shù)據(jù)庫。

輸出:基于密度的聚類結(jié)果。

方法:(1)任意選取一個(gè)沒有加簇標(biāo)簽的點(diǎn)p;(2)得到所有從p關(guān)于

Eps和

MinPts密度可達(dá)的點(diǎn);(3)如果p是一個(gè)核心點(diǎn),形成一個(gè)新的簇,給簇內(nèi)所有對象點(diǎn)加簇標(biāo)簽;(4)如果p是一個(gè)邊界點(diǎn),沒有從p密度可達(dá)的點(diǎn),DBSCAN將訪問數(shù)據(jù)庫中的下一個(gè)點(diǎn);(5)繼續(xù)這一過程,直到數(shù)據(jù)庫中所有的點(diǎn)都被處理。-鄰域?qū)ふ揖垲悾瑢⒕哂凶銐蚋呙芏鹊膮^(qū)域劃分為簇,并可以在帶有“噪聲”的空間數(shù)據(jù)庫中發(fā)現(xiàn)任意形狀的聚類。但是,DBSCAN算法對用戶設(shè)置的參數(shù)敏感,Eps和MinPts的設(shè)置會(huì)影響聚類的效果。針對這一問題,OPTICS(OrderingPointstoIdentifytheClusteringStructure)算法被提出,它通過引入核心距離和可達(dá)距離,使得聚類算法對輸入的參數(shù)不敏感。

4基于密度的聚類10十一月2024128DBSCAN需要對數(shù)據(jù)集中的每個(gè)對象進(jìn)行考察,通過檢查每個(gè)點(diǎn)的4基于密度的聚類算法實(shí)現(xiàn)課本例8-3利用sklearn實(shí)現(xiàn):11/10/2024importnumpyasnpimportmatplotlib.pyplotaspltfromsklearn.clusterimportDBSCANfromsklearnimportdatasetsiris=datasets.load_iris()data=iris.datadbscan=DBSCAN(eps=0.4,min_samples=10,metric='euclidean')dbscan.fit(data)label_pred=dbscan.labels_5其他聚類方法除了常用的劃分聚類、層次聚類和密度聚類方法之外,還有一些聚類方法如網(wǎng)格聚類方法STING、概念聚類COBWEB和模糊聚類方法等。1.STING算法STING(StatisticalInformationGrid_basedMethod)是一種基于網(wǎng)格的多分辨率的聚類技術(shù),它將輸入對象的空間區(qū)域劃分成矩形單元,空間可以用分層和遞歸方法進(jìn)行劃分。這種多層矩形單元對應(yīng)不同的分辨率,并且形成一個(gè)層次結(jié)構(gòu),每個(gè)高層單元被劃分為低一層的單元。有關(guān)每個(gè)網(wǎng)格單元的屬性的統(tǒng)計(jì)信息(如均值、最大值和最小值)被作為統(tǒng)計(jì)參數(shù)預(yù)先計(jì)算和存儲。10十一月20241305其他聚類方法除了常用的劃分聚類、層次聚類和密度聚類方法之外,還有一些聚類方法如網(wǎng)格聚類方法STING、概念聚類COBWEB和模糊聚類方法等。2COBWEB概念聚類是機(jī)器學(xué)習(xí)中的一種聚類算法。大多數(shù)的概念聚類方法采用了統(tǒng)計(jì)學(xué)方法,在決定概念或聚類時(shí)使用概率度量。COBWEB算法即簡單增量概念聚類算法,以一個(gè)分類樹的形式創(chuàng)建層次聚類,它的輸入對象用分類屬性-值對進(jìn)行描述。10十一月20241315其他聚類方法3模糊聚類10十一月2024132模糊C均值聚類(FuzzyC-means,F(xiàn)CM)融合了模糊理論的精髓。相較于K-means的硬聚類,F(xiàn)CM聚類提供了更加靈活的聚類結(jié)果,它對每個(gè)對象和每個(gè)簇賦予一個(gè)權(quán)值,指明對象屬于該簇的程度(隸屬度)。5其他聚類方法3模糊聚類10十一月2024133采用拉格朗日乘數(shù)法,求解得到參數(shù)的更新值:5其他聚類方法3模糊聚類10十一月2024134輸入:數(shù)據(jù)樣本X輸出:每個(gè)樣本屬于的隸屬度及聚類中心過程:(1)設(shè)置初始值:算法迭代時(shí)目標(biāo)函數(shù)的精度閾值,模糊度和迭代的最大次數(shù);(2)初始化聚類中心和隸屬度矩陣;(3)使用公式8.9-8.10更新隸屬度矩陣

和聚類中心

;(4)加入

或迭代次數(shù)

結(jié)束迭代過程,否則轉(zhuǎn)步驟(3);5其他聚類方法Python中提供了模糊運(yùn)算的包scikit-fuzzy,簡稱skfuzzy,初次使用時(shí)需要安裝。skfuzzy中包含了FCM聚類方法:center,u,u0,d,jm,p,fpc=cmeans(x.T,m=2,c=k,error=0.5,maxiter=1000)其中的主要參數(shù)u是最終的隸屬度矩陣,u0是初始化隸屬度矩陣,d是每個(gè)數(shù)據(jù)到各個(gè)中心的歐式距離矩陣,jm是目標(biāo)函數(shù)優(yōu)化,p是迭代次數(shù),fpc是評價(jià)指標(biāo),0表示最差、1最好。11/10/20245其他聚類方法11/10/20245其他聚類方法11/10/20245其他聚類方法11/10/20245其他聚類方法11/10/20245其他聚類方法11/10/2024在sklearn中利用GaussianMixture方法實(shí)現(xiàn)高斯混合聚類,主要參數(shù)有

溫馨提示

  • 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)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論