下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
7-1簡述聚類算法的基本思想。
聚類是一種典型的無監(jiān)督學(xué)習(xí)方法,按照某個(gè)特定準(zhǔn)則將一組對象分成為若干個(gè)簇,使
得在同一個(gè)簇中的對象之間的相似性盡可能大,而不在同一個(gè)簇中的對象之間的差異性盡可
能大。也就是說,聚類的目標(biāo)是使相似的對象盡可能地接近,而不相似的對象盡可能地遠(yuǎn)離。
7-2比較分析硬聚類和軟聚類。
硬聚類和軟聚類都是聚類分析中常用的方法,它們的主要區(qū)別在于對數(shù)據(jù)點(diǎn)的歸屬度處
理方式。硬聚類算法將每個(gè)數(shù)據(jù)點(diǎn)劃分到唯一的簇中,即每個(gè)數(shù)據(jù)點(diǎn)只能屬于一個(gè)確定的類
別。這種聚類方法通常使用距離測量或相似性度量來計(jì)算數(shù)據(jù)點(diǎn)之間的相似性,并根據(jù)相似
性將它們分配到不同的簇中。硬聚類最常用的方法是K-means算法。與硬聚類不同,軟聚類
允許數(shù)據(jù)點(diǎn)同時(shí)屬于多個(gè)簇,并為每個(gè)數(shù)據(jù)點(diǎn)分配一個(gè)屬于每個(gè)簇的隸屬度值。這種隸屬度
值表示了一個(gè)數(shù)據(jù)點(diǎn)與每個(gè)簇的聯(lián)系程度,其值介于。和1之間。總的來說,硬聚類更適合
于明確的數(shù)據(jù)分類問題,而軟聚類更適合于數(shù)據(jù)分類不明確或存在一定程度模糊的情況。
7-3簡述k均值聚類算法的過程。
(1)首先選取K個(gè)初始質(zhì)心,可以隨機(jī)選擇或根據(jù)數(shù)據(jù)的特點(diǎn)進(jìn)行設(shè)置(2)將每個(gè)數(shù)
據(jù)點(diǎn)分配到距離其最近的質(zhì)心所在的簇中;(3)重新計(jì)算每個(gè)簇的質(zhì)心。
重復(fù)步驟(2)和(3),直到達(dá)到收斂條件,即質(zhì)心不再發(fā)生變化或達(dá)到了預(yù)設(shè)的最大
迭代次數(shù)。具體地說,對于步驟2中的分配過程,可以采用歐氏距離或曼哈頓距離等距離度
量方法來計(jì)算每個(gè)數(shù)據(jù)點(diǎn)與每個(gè)質(zhì)心之間的距離,然后將該數(shù)據(jù)點(diǎn)分配到距離最近的質(zhì)心所
在的簇中。對于步驟3中的更新質(zhì)心過程,則是將每個(gè)簇內(nèi)的所有數(shù)據(jù)點(diǎn)的坐標(biāo)取平均值,
得到新的質(zhì)心位置。
7-4影響k均值算法性能的主要因素有哪些?
(1)初始質(zhì)心的選擇:K均值算法對于初始質(zhì)心的位置非常敏感,不同的初始質(zhì)心可能
會導(dǎo)致最終聚類結(jié)果不同。因此,為了得到更好的聚類結(jié)果,需要采用一些有效的方法來選
擇合適的初始質(zhì)心。(2)簇的數(shù)量K的選擇:簇的數(shù)量K直接影響到聚類的結(jié)果,如果K
的值過大或過小,都可能會導(dǎo)致聚類結(jié)果不理想。因此,需要采用一些有效的方法來確定最
佳的簇的數(shù)量K。(3)距離度量方法的選擇:K均值算法通常使用歐氏距離或曼哈頓距離等
距離度量方法來計(jì)算數(shù)據(jù)點(diǎn)之間的相似性,但這種方法對于不同的數(shù)據(jù)集可能并不適用。因
此,在選擇距離度量方法時(shí),需要根據(jù)具體情況進(jìn)行選擇。(4)數(shù)據(jù)集的特征:K均值算法
假定所有數(shù)據(jù)點(diǎn)都可以被分配到某個(gè)簇中,因此在處理不規(guī)則形狀的數(shù)據(jù)集時(shí)可能會出現(xiàn)問
題。另外,如果數(shù)據(jù)集中存在異常值或噪聲,也會影響聚類結(jié)果。(5)算法的收斂條件:K
均值算法通常使用質(zhì)心的移動距離和迭代次數(shù)來判斷算法是否收斂,但如果這些條件設(shè)置不
當(dāng),也可能會影響聚類結(jié)果。
7-5試編程實(shí)現(xiàn)k均值算法,設(shè)置多組不同的k值、初始簇中心,并在表7-1中的數(shù)據(jù)集上
進(jìn)行實(shí)驗(yàn)比較。
參閱代碼實(shí)現(xiàn):skleam.clusterimportKMeans
首先導(dǎo)入相關(guān)庫
importnumpyasnp
importmatplotlib.pyplotaspit
fromskleam.clusterimportKMeans
港義棗7?1中的樣本特彳或向量
X=np.array([[l,1],[2,1],[1,2],[2,2],[4,3],[5,3],[4,4],[5,4]])
設(shè)置不同的k值和初始簇中心,并用KMeans進(jìn)行聚類:____________________________
kvalues=[2,3,4]
initcenters=[np.array([[l,1],[5,4]]),np.array([[l,1],[5,4],[4,3]]),np.array([[l,1],[5,4],
[4,3],[2,2]])]
foriinrange(len(k_vakies)):
forjinrange(len(init_centers[i])):
kmeans=KMeans(n_clusters=k_values[i],init=init_centers[i][j].reshape(-l,2),
random_state=0).fit(X)
labels=kmeans.labels_
plt.subplot(len(k_values),len(init_centers[i]),i*len(init_centers[i])4j+1)
plt.scatter(X[:,0],X[:,1],c=labels.astype(np.float))
plt.scatter(kmeans.cluster_centers_[:,0],kmeans.cluster_centers_[:,1],marker='x,,
s=200,linewidths=3,color=Ted')
plt.title(*k={},init_center={}*.fbrmat(k_values[i],init_centers[i][j]))
plt.show()
7-6設(shè)計(jì)一個(gè)能夠自動確定k值的k均值算法,并基于表7-1中的數(shù)據(jù)進(jìn)行實(shí)驗(yàn)。
自動確定k值的k均值算法通常被稱為“肘部法則它的基本思想是通過繪制不同k值
下的聚類誤差平方和(SSE)與k值的關(guān)系圖,找到一個(gè)“肘部”的位置,即SSE開始急劇下
降的位置。這個(gè)位置的k值就是最優(yōu)的聚類個(gè)數(shù)。
再生導(dǎo)入相關(guān)庫
importnumpyasnp
importmatplotlib.pyplotaspit
fromsklearn.clusterimportKMeans
定義樣本特征向量
x=np.anay([[l,1],[2,1],[1,2],[2,2],[4,3],[5,3],[4,4],[5,4]])
,足義嘗試的k值范圍
krange=range(1,7)
訓(xùn)練KMeans模型,/記錄SSE值
sse_list=[]
forkinkrange:
kmeans=KMeans(n_clusters=k,random_state=0).fit(X)
sse_list.append(kmeans.inertia_)
一蔡制S能與k殖的關(guān)系圖
plt.plot(k_range,sse_list,'bx-*)
plt.xlabelCk1)
plt.ylabel(SSE)
plt.title(*TheElbowMethod*)
plt.show()
得到一個(gè)SSE與k值的關(guān)系圖,通過觀察得出最優(yōu)的k值為2,接下來,再次iijfKMeans
模型,并設(shè)置聚婁個(gè)數(shù)為2進(jìn)行聚類;訓(xùn)練最優(yōu)的KMeans模型T輸出聚類結(jié)果
kmeans=KMeans(n_clusters=2,random_state=0).fit(X)
labels=kmeans.labels_
plt.scatter(X[:,0],X[:,1],c=labels.astype(np.float))
plt.scatter(kmeans.clustercenters[:,0],kmeans.clustercenters[:,1],marker='x',s=200,
linewidths=3,color='red')
plt.title('ClusteringResultwithk=2')
plt.show()
7-7比較分析凝聚型層次聚類算法和分裂型層次聚類算法的異同點(diǎn)。
相同點(diǎn):都是基于距離或相似度進(jìn)行聚類的方法;都可以得到層次化的聚類結(jié)果;都可
以靈活地選擇聚類簇的數(shù)量。
不同點(diǎn):凝聚型層次聚類算法是自下而上的聚類過程,從每個(gè)樣本開始,逐步合并相鄰
的簇,直到所有樣本都被歸為一類。分裂型層次聚類算法則是自上而下的聚類過程,從整個(gè)
數(shù)據(jù)集開始,逐漸將數(shù)據(jù)劃分為更小的簇,直到每個(gè)簇只包含一個(gè)樣本。在凝聚型層次聚類
算法中,先計(jì)算所有樣本之間的距離,并將最近的兩個(gè)樣本合并成一個(gè)簇。然后,再計(jì)算新
簇與其他簇之間的距離,并選擇最近的兩個(gè)簇進(jìn)行合并。在分裂型層次聚類算法中,則是先
將整個(gè)數(shù)據(jù)集看作一個(gè)簇,然后逐步將其劃分為更小的簇,直到每個(gè)簇只包含一個(gè)樣本;凝
聚型層次聚類算法的時(shí)間復(fù)雜度一般為0(23),其中n是樣本數(shù)量。分裂型層次聚類算法
的時(shí)間復(fù)雜度則一般為0(22logn)或0(23),具體取決于實(shí)現(xiàn)方式和數(shù)據(jù)特征;在凝聚
型層次聚類算法中,由于每個(gè)樣本最終只能被分配到一個(gè)簇中,因此該算法不適合處理具有
噪聲或離群點(diǎn)的數(shù)據(jù)。而在分裂型層次聚類算法中,可通過剪枝等方式來處理噪聲或離群點(diǎn)。
7-8利用分裂型層次聚類算法對表7-1中的數(shù)據(jù)進(jìn)行聚類。
可利用教材習(xí)題7-10中的算法得到一種可能的劃分方式。
7-9試編程實(shí)現(xiàn)凝聚型層次聚類算法,并對表7-1中的數(shù)據(jù)進(jìn)行聚類。
參閱代碼實(shí)現(xiàn):skleam.clusterimportAgglomerativeClustering
首先導(dǎo)入相關(guān)庫
fromskleam.clusterimportAgglomerativeClustering
importnumpyasnp
構(gòu)造樣本特國矩陣
X=np.array([[l,l],[2,1],[1,2],[2,2],
[4,3],[5,3],[4,4],[5,4]])
使用分裂型層次聚類算闞行聚美
clustering=AgglomerativeClustering(n_clusters=2)
clustering.fit(X)
輸出每個(gè)樣本所屬的簇
print(clustering.labels_)
7-10試編程實(shí)現(xiàn)分裂型層次聚類算法,并對表7-1中的數(shù)據(jù)進(jìn)行聚類。
關(guān)于分裂型層次聚類算法的示例代碼。
#coding:utf-8
importnumpyasnp
importpandasaspd
fromscipy.spatialimportdistance_matrix
numclusters=0
data=np.array([[l,1],[2,1],[1,2],[2,2],[4,3],[5,3],[4,4],[5,4]])
mat=distancematrix(data,data)#(Euclidean)distancebetweentwosamples
all_elements=[“a1"b“Jc“Jd“,”e”,'Jg“Jh”]
dissimilarity_matrix=pd.DataFrame(mat,index=all_elements,columns=all_elements)
defavg_dissim_within_group_eleinent(ele,elementlist):
maxdiameter=-np.inf
sumdissm=0
fbriinelement_list:
sumdissm+=dissimilarity_matrix[ele][i]
if(dissimilarity_matrix[ele][i]>maxdiameter):
maxdiameter=dissimilarity_matrix[ele][i]
if(len(element_list)>l):
avg=sum_dissm/(len(element_list)-1)
else:
avg=0
returnavg
defavg_dissim_across_group_element(ele,main_list,splinterlist):
iflen(splinterlist)=0:
return0
sumdissm=0
fbrjinsplinter_list:
sumdissm=sumdissm+dissimilarity_matrix[ele][j]
avg=sum_dissm/(len(splinter_list))
returnavg
defsplinter(main_list,splintergroup):
most_dissm_object_value=-np.inf
most_dissm_objectindex=None
fbreleinmainlist:
x=avg_dissim_within_group_element(ele,mainlist)
y=avg_dissim_across_group_element(ele,main_list,splintergroup)
diff=x-y
ifdiff>most_dissm_object_value:
most_dissm_object_value=diff
most_dissm_object_index=ele
if(most_dissm_object_vahie>0):
return(most_dissm_object_index,1)
else:
return(-1,-1)
defsplit(element_list):
mainlist=element_list
splintergroup=[]
(most_dissm_object_index,flag)=splinter(main_list,splintergroup)
while(flag>0):
main_list.remove(most_dissm_object_index)
splinter_group.append(most_dissm_object_index)
(most_dissm_object_index,flag)=splinter(element_list,splintergroup)
return(mainlist,splintergroup)
defmax_diameter(cluster_list):
max_diameter_cluster_index=None
max_diameter_cluster_value=-np.inf
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)教學(xué)質(zhì)量保證措施制度
- 交通宣傳教育普及制度
- 2026年通信行業(yè)服務(wù)標(biāo)準(zhǔn)試題通信類信訪的快速響應(yīng)機(jī)制
- 2026年工業(yè)機(jī)器人制造與質(zhì)量管控考試卷
- 2026年律師實(shí)務(wù)法律案例分析題庫
- 2025年放棄遺產(chǎn)繼承聲明書(公證用)
- 綠色甲醇作為船用燃料的加注樞紐建設(shè)投資框架協(xié)議
- 檢驗(yàn)科實(shí)驗(yàn)室電源短路的應(yīng)急處置制度及流程
- 古埃及藝術(shù)教學(xué)課件
- 2025年廣東碧桂園職業(yè)學(xué)院馬克思主義基本原理概論期末考試模擬題帶答案解析
- 2025大模型安全白皮書
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及1套參考答案詳解
- 工程款糾紛專用!建設(shè)工程施工合同糾紛要素式起訴狀模板
- 2026湖北武漢長江新區(qū)全域土地管理有限公司招聘3人筆試備考題庫及答案解析
- 110(66)kV~220kV智能變電站設(shè)計(jì)規(guī)范
- (正式版)DB44∕T 2784-2025 《居家老年人整合照護(hù)管理規(guī)范》
- 2025年美國心臟病協(xié)會心肺復(fù)蘇和心血管急救指南(中文完整版)
- 1、湖南大學(xué)本科生畢業(yè)論文撰寫規(guī)范(大文類)
- 基于多源數(shù)據(jù)融合的深圳市手足口病時(shí)空傳播模擬與風(fēng)險(xiǎn)預(yù)測模型構(gòu)建及應(yīng)用
- 咯血的急救及護(hù)理
- 2025初三歷史中考一輪復(fù)習(xí)資料大全
評論
0/150
提交評論