那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

10種聚類算法和Python代碼2

jf_78858299 ? 來源:海豚科學實驗室 ? 作者:海豚科學實驗室 ? 2023-02-20 13:57 ? 次閱讀

3、親和力傳播

親和力傳播包括找到一組最能概括數據的范例。

我們設計了一種名為“親和傳播”的方法,它作為兩對數據點之間相似度的輸入度量。在數據點之間交換實值消息,直到一組高質量的范例和相應的群集逐漸出現

—源自:《通過在數據點之間傳遞消息》2007。

它是通過 AffinityPropagation 類實現的,要調整的主要配置是將“ 阻尼 ”設置為0.5到1,甚至可能是“首選項”。

下面列出了完整的示例。

# 親和力傳播聚類
from numpy import unique
from numpy import where
from sklearn.datasets import make_classification
from sklearn.cluster import AffinityPropagation
from matplotlib import pyplot
# 定義數據集
X, _ = make_classification(n_samples=1000, 
                           n_features=2, 
                           n_informative=2, 
                           n_redundant=0, 
                           n_clusters_per_class=1, 
                           random_state=4)
# 定義模型
model = AffinityPropagation(damping=0.9)
# 匹配模型
model.fit(X)
# 為每個示例分配一個集群
yhat = model.predict(X)
# 檢索唯一群集
clusters = unique(yhat)
# 為每個群集的樣本創建散點圖
for cluster in clusters:
    # 獲取此群集的示例的行索引
    row_ix = where(yhat == cluster)
    # 創建這些樣本的散布
    pyplot.scatter(X[row_ix, 0], X[row_ix, 1])
# 繪制散點圖
pyplot.show()

運行該示例符合訓練數據集上的模型,并預測數據集中每個示例的群集。然后創建一個散點圖,并由其指定的群集著色。在這種情況下,我無法取得良好的結果。

圖片

圖:數據集的散點圖,具有使用親和力傳播識別的聚類

4、聚合聚類

聚合聚類涉及合并示例,直到達到所需的群集數量為止。它是層次聚類方法的更廣泛類的一部分,通過 AgglomerationClustering 類實現的,主要配置是“ n _ clusters ”集,這是對數據中的群集數量的估計,例如2。下面列出了完整的示例。

# 聚合聚類
from numpy import unique
from numpy import where
from sklearn.datasets import make_classification
from sklearn.cluster import AgglomerativeClustering
from matplotlib import pyplot
# 定義數據集
X, _ = make_classification(n_samples=1000, 
                           n_features=2, 
                           n_informative=2, 
                           n_redundant=0, 
                           n_clusters_per_class=1, 
                           random_state=4)
# 定義模型
model = AgglomerativeClustering(n_clusters=2)
# 模型擬合與聚類預測
yhat = model.fit_predict(X)
# 檢索唯一群集
clusters = unique(yhat)
# 為每個群集的樣本創建散點圖
for cluster in clusters:
    # 獲取此群集的示例的行索引
    row_ix = where(yhat == cluster)
    # 創建這些樣本的散布
    pyplot.scatter(X[row_ix, 0], X[row_ix, 1])
# 繪制散點圖
pyplot.show()

運行該示例符合訓練數據集上的模型,并預測數據集中每個示例的群集。然后創建一個散點圖,并由其指定的群集著色。在這種情況下,可以找到一個合理的分組。

圖片

圖:使用聚集聚類識別出具有聚類的數據集的散點圖

5、BIRCH

BIRCH 聚類( BIRCH 是平衡迭代減少的縮寫,聚類使用層次結構)包括構造一個樹狀結構,從中提取聚類質心。

BIRCH 遞增地和動態地群集傳入的多維度量數據點,以嘗試利用可用資源(即可用內存和時間約束)產生最佳質量的聚類。

—源自:《 BIRCH :1996年大型數據庫的高效數據聚類方法》

它是通過 Birch 類實現的,主要配置是“ threshold ”和“ n _ clusters ”超參數,后者提供了群集數量的估計。下面列出了完整的示例。

# birch聚類
from numpy import unique
from numpy import where
from sklearn.datasets import make_classification
from sklearn.cluster import Birch
from matplotlib import pyplot
# 定義數據集
X, _ = make_classification(n_samples=1000, 
                           n_features=2, 
                           n_informative=2, 
                           n_redundant=0,
                           n_clusters_per_class=1, 
                           random_state=4)
# 定義模型
model = Birch(threshold=0.01, n_clusters=2)
# 適配模型
model.fit(X)
# 為每個示例分配一個集群
yhat = model.predict(X)
# 檢索唯一群集
clusters = unique(yhat)
# 為每個群集的樣本創建散點圖
for cluster in clusters:
    # 獲取此群集的示例的行索引
    row_ix = where(yhat == cluster)
    # 創建這些樣本的散布
    pyplot.scatter(X[row_ix, 0], X[row_ix, 1])
# 繪制散點圖
pyplot.show()

運行該示例符合訓練數據集上的模型,并預測數據集中每個示例的群集。然后創建一個散點圖,并由其指定的群集著色。在這種情況下,可以找到一個很好的分組。

圖片

圖:使用BIRCH聚類確定具有聚類的數據集的散點圖

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4827

    瀏覽量

    69054
  • 數據分析
    +關注

    關注

    2

    文章

    1461

    瀏覽量

    34166
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85039
收藏 人收藏

    評論

    相關推薦

    Python如何實現模糊動態

    利用Python實現模糊動態
    發表于 06-02 17:38

    基于和競爭克隆機制的多智能體免疫算法

    包含分布式電源的配電網無功優化matlab源代碼代碼按照高水平文章復現,保證正確,可先發您文章看是否滿足您的要求利用分布式電源的無功補償能力,提出了一基于
    發表于 12-29 06:50

    算法融合算法研究

    算法融合算法研究首先對
    發表于 08-10 15:08 ?33次下載
    <b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>及<b class='flag-5'>聚</b><b class='flag-5'>類</b>融合<b class='flag-5'>算法</b>研究

    基于MCL與Chameleon的混合算法

    ,Chameleon由于時間復雜度為O(N2)不利于處理大規模數據集。針對這兩個問題,提出了一基于MCL與Chameleon相結合的混合算法
    發表于 10-31 18:58 ?2次下載
    基于MCL與Chameleon的混合<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    新的基于流行距離的譜算法

    本文提出了一新的基于流行距離的譜算法,這是一新型的聚類分析算法。不僅能夠對任意的非規則形
    發表于 12-07 14:53 ?3次下載

    基于密度DBSCAN的算法

    本文開始介紹了算法概念,其次闡述了算法的分類,最后詳細介紹了
    的頭像 發表于 04-26 10:56 ?2.2w次閱讀
    基于密度DBSCAN的<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    Python無監督學習的幾種算法包括K-Means,分層等詳細概述

    無監督學習是機器學習技術中的一,用于發現數據中的模式。本文介紹用Python進行無監督學習的幾種算法,包括K-Means
    的頭像 發表于 05-27 09:59 ?3w次閱讀
    <b class='flag-5'>Python</b>無監督學習的幾種<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>包括K-Means<b class='flag-5'>聚</b><b class='flag-5'>類</b>,分層<b class='flag-5'>聚</b><b class='flag-5'>類</b>等詳細概述

    如何在python中安裝和使用頂級算法?

    以及每種算法的不同配置。在本教程中,你將發現如何在 python 中安裝和使用頂級算法。 完成本教程后,你將知道:
    的頭像 發表于 03-12 18:23 ?2275次閱讀

    自適應的關聯融合算法

    為解決傳統算法多數需要預先設定聚參數且無法有效識別異常點和噪聲點的問題,提出一自適應的關聯融合
    發表于 04-01 16:16 ?13次下載
    一<b class='flag-5'>種</b>自適應的關聯融合<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>

    10介紹和Python代碼

    分享一篇關于的文章,10介紹和Python
    的頭像 發表于 07-30 10:25 ?3476次閱讀

    10頂流算法Python實現(附完整代碼

    分享一篇關于的文章:10算法
    的頭像 發表于 01-07 09:33 ?1643次閱讀

    10算法Python代碼1

    分享一篇關于的文章: **10算法
    的頭像 發表于 02-20 13:57 ?894次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和<b class='flag-5'>Python</b><b class='flag-5'>代碼</b>1

    10算法Python代碼3

    分享一篇關于的文章: **10算法
    的頭像 發表于 02-20 13:57 ?1187次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和<b class='flag-5'>Python</b><b class='flag-5'>代碼</b>3

    10算法Python代碼4

    分享一篇關于的文章: **10算法
    的頭像 發表于 02-20 13:57 ?1346次閱讀
    <b class='flag-5'>10</b><b class='flag-5'>種</b><b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>和<b class='flag-5'>Python</b><b class='flag-5'>代碼</b>4

    如何在 Python 中安裝和使用頂級算法

    有許多算法可供選擇,對于所有情況,沒有單一的最佳算法。相反,最好探索一系列
    的頭像 發表于 05-22 09:13 ?641次閱讀
    如何在 <b class='flag-5'>Python</b> 中安裝和使用頂級<b class='flag-5'>聚</b><b class='flag-5'>類</b><b class='flag-5'>算法</b>
    夜总会百家乐官网的玩法技巧和规则 | 百家乐2号技术打法| 真人百家乐官网口诀| 金殿百家乐的玩法技巧和规则| 乐百家乐官网彩现金开户| 大发888娱乐城永乐厅| 风水24山| 昔阳县| 大发888 zhldu| 百家乐赌博信息| 天天百家乐官网的玩法技巧和规则| 永发娱乐城| 威尼斯人娱乐城现金开户| 做生意的风水摆件| 永利高百家乐官网怎样开户| 六合彩网址大全| 德州百家乐赌博规则| 最佳场百家乐官网的玩法技巧和规则 | 百家乐庄闲的概率| 信誉百家乐官网平台| 衡阳市| 太阳城正网| 大发888下载 大发888游戏平台| 百家乐赢钱lv| 网上百家乐官网游戏下载| 桑植县| 淘宝皇冠网店| 青鹏棋牌游戏下载| 大发888娱乐城pt| 美女百家乐的玩法技巧和规则| 百家乐赌坊| 蓝盾百家乐平台租用| CEO百家乐官网娱乐城| 赌场百家乐官网是如何| 百家乐官网线上| 摩纳哥百家乐官网娱乐城| 洮南市| 娱乐城注册送38| 洛浦县| 百家乐官网技巧发布| 百家乐官网园胎教网|