python聚類算法選擇方法實例
說明
1、如果數(shù)據(jù)集是高維度的,選擇譜聚類是子空間的一種。
2、如果數(shù)據(jù)量是中小型的,比如在100W條以內(nèi),K均值會是更好的選擇;如果數(shù)據(jù)量超過100W條,可以考慮使用MiniBatchKMeans。
3、如果數(shù)據(jù)集中有噪聲(離群點),使用基于密度的DBSCAN可以有效解決這個問題。
4、若追求更高的分類準(zhǔn)確性,則選擇譜聚類比K均值準(zhǔn)確性更好。
實例
import numpy as np
import matplotlib.pyplot as plt
# 數(shù)據(jù)準(zhǔn)備
raw_data = np.loadtxt('./pythonlearn/cluster.txt') # 導(dǎo)入數(shù)據(jù)文件
X = raw_data[:, :-1] # 分割要聚類的數(shù)據(jù)
y_true = raw_data[:, -1]
print(X)
知識點擴(kuò)充:
聚類算法
有許多類型的聚類算法。許多算法在特征空間中的示例之間使用相似度或距離度量,以發(fā)現(xiàn)密集的觀測區(qū)域。因此,在使用聚類算法之前,擴(kuò)展數(shù)據(jù)通常是良好的實踐。
聚類分析的所有目標(biāo)的核心是被群集的各個對象之間的相似程度(或不同程度)的概念。聚類方法嘗試根據(jù)提供給對象的相似性定義對對象進(jìn)行分組。
一些聚類算法要求您指定或猜測數(shù)據(jù)中要發(fā)現(xiàn)的群集的數(shù)量,而另一些算法要求指定觀測之間的最小距離,其中示例可以被視為“關(guān)閉”或“連接”。因此,聚類分析是一個迭代過程,在該過程中,對所識別的群集的主觀評估被反饋回算法配置的改變中,直到達(dá)到期望的或適當(dāng)?shù)慕Y(jié)果。scikit-learn 庫提供了一套不同的聚類算法供選擇。下面列出了10種比較流行的算法:
- 親和力傳播
- 聚合聚類
- BIRCH
- DBSCAN
- K-均值
- Mini-Batch K-均值
- Mean Shift
- OPTICS
- 光譜聚類
- 高斯混合
每個算法都提供了一種不同的方法來應(yīng)對數(shù)據(jù)中發(fā)現(xiàn)自然組的挑戰(zhàn)。沒有最好的聚類算法,也沒有簡單的方法來找到最好的算法為您的數(shù)據(jù)沒有使用控制實驗。在本教程中,我們將回顧如何使用來自 scikit-learn 庫的這10個流行的聚類算法中的每一個。這些示例將為您復(fù)制粘貼示例并在自己的數(shù)據(jù)上測試方法提供基礎(chǔ)。我們不會深入研究算法如何工作的理論,也不會直接比較它們。讓我們深入研究一下。
到此這篇關(guān)于python聚類算法選擇方法實例的文章就介紹到這了,更多相關(guān)python聚類算法如何選擇內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實現(xiàn)
本文主要介紹了pycharm2022.2遠(yuǎn)程連接服務(wù)器調(diào)試代碼實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
Python實現(xiàn)郵件的批量發(fā)送的示例代碼
下面小編就為大家分享一篇Python實現(xiàn)郵件的批量發(fā)送的示例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
matplotlib之Font family [‘sans-serif‘] not&nbs
本文主要介紹了matplotlib之Font family [‘sans-serif‘] not found的問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python使用pyserial進(jìn)行串口通信的實例
今天小編就為大家分享一篇Python使用pyserial進(jìn)行串口通信的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07

