日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀] 在進(jìn)行機(jī)器學(xué)習(xí)時(shí),我們往往要對(duì)數(shù)據(jù)進(jìn)行聚類分析,聚類,說(shuō)白了就是把相似的樣品點(diǎn)/數(shù)據(jù)點(diǎn)進(jìn)行歸類,相似度高的樣品點(diǎn)會(huì)放在一起,這樣一個(gè)樣本就會(huì)被分成幾類。而聚類分析也有很多種方法,比如分解法、加入法、

在進(jìn)行機(jī)器學(xué)習(xí)時(shí),我們往往要對(duì)數(shù)據(jù)進(jìn)行聚類分析,聚類,說(shuō)白了就是把相似的樣品點(diǎn)/數(shù)據(jù)點(diǎn)進(jìn)行歸類,相似度高的樣品點(diǎn)會(huì)放在一起,這樣一個(gè)樣本就會(huì)被分成幾類。而聚類分析也有很多種方法,比如分解法、加入法、有序樣品的聚類、模糊聚類法以及系統(tǒng)聚類法等。而本文要介紹的就是系統(tǒng)聚類法,以及如何用python來(lái)進(jìn)行系統(tǒng)聚類分析。

首先來(lái)看一下系統(tǒng)聚類法的定義。系統(tǒng)聚類法(hierarchical clustering method),又叫分層聚類法,是目前最常用的聚類分析方法。其基本步驟如下:假設(shè)樣本中有n個(gè)樣品,那么就先將這n個(gè)樣品看作n類,也就是一個(gè)樣品一個(gè)類,然后將性質(zhì)最接近的兩類合并為一個(gè)新的類,這樣就得到n-1個(gè)類,接著從中再找出最接近的兩個(gè)類,讓其進(jìn)行合并,這樣就變?yōu)閚-2個(gè)類,讓此過(guò)程持續(xù)進(jìn)行下去,最后所有的樣品都?xì)w為一類,把上述過(guò)程繪制成一張圖,這個(gè)圖就稱為聚類圖,從圖中再?zèng)Q定分為多少類。其大致過(guò)程如圖1所示。

圖1. 系統(tǒng)聚類分析示意圖

而這里我們要確定各個(gè)樣品的相似度,才能將其歸類,那么如何確定其相似度呢?通常我們用的方法是計(jì)算各個(gè)樣品點(diǎn)之間的距離,然后再根據(jù)距離來(lái)分類。這里我們根據(jù)距離來(lái)分類,同樣也是有幾種方法的,比如最短距離法、最長(zhǎng)距離法、重心法、類平均法以及ward法。下面我們對(duì)這幾種方法進(jìn)行一個(gè)簡(jiǎn)單的介紹。

1. 最短距離法

最短距離法就是從兩個(gè)類中找出距離最短的兩個(gè)樣品點(diǎn),如圖2所示。點(diǎn)3和點(diǎn)7是類G1和類G2中距離最短的兩個(gè)點(diǎn)。計(jì)算公式如圖4所示。

圖2. 最短距離法示意圖

2. 最長(zhǎng)距離法

最長(zhǎng)距離法就是從兩個(gè)類中找出距離最長(zhǎng)的兩個(gè)樣品點(diǎn),如圖3所示。點(diǎn)1和點(diǎn)6是類G1和類G2中距離最長(zhǎng)的兩個(gè)點(diǎn)。計(jì)算公式如圖4所示。

圖3. 最長(zhǎng)距離法示意圖

3. 重心法

從物理的觀點(diǎn)看,一個(gè)類用它的重心,也就是類樣品的均值,來(lái)做代表比較合理,類之間的距離也就是重心之間的距離。若樣品之間用歐氏距離,設(shè)某一步將類G1與G2合并成G3,它們各有n1、n2、n3個(gè)樣品,其中n3=n1+n2,它們的重心用X1、X2和X3表示,則X3=1/n3(n1X1+n2X2)。重心法的計(jì)算公式參考圖4。

4. 類平均法

這個(gè)顧名思義,就是取兩個(gè)類之間所有點(diǎn)的距離的平均值。計(jì)算公式如圖4所示。

圖4. 常用的距離計(jì)算方法

5. 離差平方和法

離差平方和法又叫Ward法,其思想源于方差分析,即如果類分得正確,同類樣品的離差平方和應(yīng)當(dāng)較小,類與類之間的離差平方和應(yīng)該較大。計(jì)算公式如圖4所示。

在了解了系統(tǒng)聚類法的基本知識(shí)以后,我們就用python代碼來(lái)展示一下系統(tǒng)聚類法的具體使用。

首先還是導(dǎo)入各種庫(kù)。

import numpy as np from matplotlib import pyplot as plt from scipy.cluster.hierarchy import dendrogram, linkage

接下來(lái)是生成數(shù)據(jù)集。我們這次用的數(shù)據(jù)集是隨機(jī)生成的,數(shù)量也不多,一共15個(gè)數(shù)據(jù)點(diǎn),分為兩個(gè)數(shù)據(jù)簇,一個(gè)有7個(gè)數(shù)據(jù)點(diǎn),另一個(gè)有8個(gè)。之所以把數(shù)據(jù)點(diǎn)數(shù)量設(shè)置這么少,是因?yàn)楸阌诳辞鍞?shù)據(jù)分布,以及后面畫(huà)圖時(shí)容易看清圖片的分類。代碼如下。

state = np.random.RandomState(99) #設(shè)置隨機(jī)狀態(tài) a = state.multivariate_normal([10, 10], [[1, 3], [3, 11]], size=7) #生成多元正態(tài)變量 b = state.multivariate_normal([-10, -10], [[1, 3], [3, 11]], size=8) data = np.concatenate((a, b)) #把數(shù)據(jù)進(jìn)行拼接

這里我們?cè)O(shè)置一個(gè)隨機(jī)狀態(tài),便于重復(fù)試驗(yàn)。然后利用這個(gè)隨機(jī)狀態(tài)生成兩個(gè)變量a和b,這兩個(gè)變量就是前面說(shuō)過(guò)的數(shù)據(jù)簇,a有7個(gè)數(shù)據(jù)點(diǎn),b有8個(gè),a和b都是多元正態(tài)變量,其中a的均值向量是[10, 10],b的均值向量是[-10, -10],兩者協(xié)方差矩陣是[[1, 3], [3, 11]]。這里要注意的是協(xié)方差矩陣要是正定矩陣或半正定矩陣。然后對(duì)a與b進(jìn)行拼接,得到變量data。

接下來(lái)要繪制數(shù)據(jù)點(diǎn)的分布。代碼如下。

fig, ax = plt.subplots(figsize=(8,8)) #設(shè)置圖片大小 ax.set_aspect('equal') #把兩坐標(biāo)軸的比例設(shè)為相等 plt.scatter(data[:,0], data[:,1]) plt.ylim([-30,30]) #設(shè)置Y軸數(shù)值范圍 plt.xlim([-30,30]) plt.show()

這里代碼比較簡(jiǎn)單,不再贅述,主要說(shuō)一下ax.set_aspect('equal')這行代碼,因?yàn)閙atplotlib默認(rèn)情況下x軸和y軸的比例是不同的,也就是相同單位長(zhǎng)度的線段,在顯示時(shí)長(zhǎng)度是不一樣的,所以要把二者的比例設(shè)為一樣,這樣圖片看起來(lái)更協(xié)調(diào)更準(zhǔn)確。所繪制圖片如圖5所示,從圖中可以明顯看到兩個(gè)數(shù)據(jù)簇,上面那個(gè)數(shù)據(jù)簇大概集中在坐標(biāo)點(diǎn)[10, 10]附近,而下面那個(gè)大概集中在[-10, -10]附近,這和我們?cè)O(shè)置的是一樣的。從圖中可以很明顯看出,這個(gè)數(shù)據(jù)集大概可以分為兩類,即上面的數(shù)據(jù)簇分為一類,下面的數(shù)據(jù)簇分為另一類,但我們還要通過(guò)算法來(lái)計(jì)算一下。

圖5. 所用數(shù)據(jù)分布圖

然后是數(shù)據(jù)處理,代碼如下。

z = linkage(data, "average") #用average算法,即類平均法

數(shù)據(jù)處理只有這一行代碼,非常簡(jiǎn)單,但難點(diǎn)也就在這。首先我們來(lái)看一下z的結(jié)果,如圖6所示。

圖6. 聚類計(jì)算結(jié)果

很多人第一次看到這個(gè)結(jié)果都是一臉懵逼,甚至是n臉懵逼,但其實(shí)里面的道理很簡(jiǎn)單。scipy官方對(duì)此有一些設(shè)定,比如該結(jié)果中第一行有4個(gè)數(shù)字,即11、13、0.14740505、2,前兩個(gè)數(shù)字就是指“類”,剛開(kāi)始每個(gè)點(diǎn)就是一個(gè)類,所以11和13這兩個(gè)點(diǎn)就是兩個(gè)類,第三個(gè)數(shù)字0.14740505就是這兩個(gè)點(diǎn)的距離,這兩個(gè)點(diǎn)被合并成一個(gè)類,所以這個(gè)新的類包含兩個(gè)點(diǎn)(11和13),這也就是第四個(gè)點(diǎn)的數(shù)值2,而這個(gè)新的類就被算為類15。注意這里是類15,不是第15個(gè)類,因?yàn)槲覀冊(cè)瓉?lái)的數(shù)據(jù)集中有15個(gè)點(diǎn),按照順序就是類0、類1、類2...類14,因?yàn)閜ython是從0開(kāi)始,所以這里類15就是指第16個(gè)類。z的第二行數(shù)據(jù)里,前兩個(gè)數(shù)字是2和5,就是原來(lái)類2和類5,距離是0.3131184,包含2個(gè)點(diǎn),這行數(shù)據(jù)和第一行類似。然后再看第三行數(shù)據(jù),前兩個(gè)數(shù)字是10和15,就是類10與類15,類15就是前面第一行合并成的新類,其包含11和13這兩個(gè)點(diǎn),類15與類10的距離是0.39165998,這個(gè)數(shù)字是類11和13與類10的平均距離,因?yàn)槲覀冞@里用的算法是average,類10、11和13合并為了一個(gè)新類,其包含3個(gè)點(diǎn),所以第四個(gè)數(shù)字就是3。z中其他行的數(shù)據(jù)按照此規(guī)律以此類推。最后一行數(shù)據(jù)中,類26和27合并成一個(gè)新類,這個(gè)類包含了全部15個(gè)點(diǎn),也就是這15個(gè)點(diǎn)最終劃為了一個(gè)類,算法終止。

接下來(lái)就是畫(huà)圖,代碼如下,其結(jié)果如圖7所示。

fig, ax = plt.subplots(figsize=(8,8)) dendrogram(z, leaf_font_size=14) #畫(huà)圖 plt.title("Hierachial Clustering Dendrogram") plt.xlabel("Cluster label") plt.ylabel("Distance") plt.axhline(y=10) #畫(huà)一條分類線 plt.show()

圖7. 聚類結(jié)果圖

從圖中可以看出,這15個(gè)點(diǎn)可以分為兩類,前面綠色的線連接的點(diǎn)代表一類,即點(diǎn)0到點(diǎn)6這7個(gè)點(diǎn),后面紅色的線連接的點(diǎn)代表第二類,即點(diǎn)7到點(diǎn)14這8個(gè)點(diǎn)。我們可以看到這個(gè)劃分結(jié)果是非常正確的,和我們當(dāng)時(shí)的設(shè)定是一樣的。

系統(tǒng)聚類法的算法比較簡(jiǎn)單,實(shí)用性非常高,是目前使用最廣泛的聚類方法,但該方法在處理極大數(shù)據(jù)量時(shí)會(huì)有所不足,所以最好配合其他算法來(lái)使用,同時(shí)使用者在使用時(shí)要根據(jù)自己的情況,來(lái)選擇合適的距離計(jì)算方法。本文主要用類平均法來(lái)進(jìn)行聚類操作,因?yàn)檫@個(gè)數(shù)據(jù)集非常簡(jiǎn)單,所以用其他距離計(jì)算方法得到的結(jié)果和這個(gè)是一樣的。如果數(shù)據(jù)量比較大時(shí),最終不同距離計(jì)算方法得到的結(jié)果可能不同,所以使用者要根據(jù)自己的情況來(lái)進(jìn)行選擇。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過(guò)流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問(wèn)題卻十分常見(jiàn),不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問(wèn)題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問(wèn)題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來(lái)解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開(kāi)關(guān)電源具有效率高的特性,而且開(kāi)關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開(kāi)關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉