欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)簡(jiǎn)單層次聚類算法以及可視化

 更新時(shí)間:2019年03月18日 09:45:09   作者:York1996  
這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)簡(jiǎn)單層次聚類算法以及可視化,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Python實(shí)現(xiàn)簡(jiǎn)單層次聚類算法,以及可視化,供大家參考,具體內(nèi)容如下

基本的算法思路就是:把當(dāng)前組間距離最小的兩組合并成一組。

算法的差異在算法如何確定組件的距離,一般有最大距離,最小距離,平均距離,馬氏距離等等。

代碼如下:

import numpy as np
import data_helper
np.random.seed(1)
def get_raw_data(n):
 _data=np.random.rand(n,2)
 #生成數(shù)據(jù)的格式是n個(gè)(x,y)
 _groups={idx:[[x,y]] for idx,(x,y) in enumerate(_data)}
 return _groups
def cal_distance(cluster1,cluster2):
 #采用最小距離作為聚類標(biāo)準(zhǔn)
 _min_distance=10000
 for x1,y1 in cluster1:
  for x2,y2 in cluster2:
   _distance=(x1-x2)**2+(y1-y2)**2
   if _distance<_min_distance:
    _min_distance=_distance
 return _distance
groups=get_raw_data(10)
count=0
while len(groups)!=1:#判斷是不是所有的數(shù)據(jù)是不是歸為了同一類
 min_distance=10000
 len_groups=len(groups)
 
 for i in groups.keys():
  for j in groups.keys():
   if i>=j:
    continue
   distance=cal_distance(groups[i],groups[j])
   if distance<min_distance:
    min_distance=distance
    min_i=i
    min_j=j#這里的j>i
 groups[min_i].extend(groups.pop(min_j))
 data_helper.draw_data(groups)
 #一共n個(gè)簇,共迭代n-1次

運(yùn)行的效果就是迭代一次,組數(shù)就會(huì)少一次,調(diào)用畫圖方法,同一組的數(shù)據(jù)被顯示為一個(gè)顏色。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中的枚舉類型

    詳解Python中的枚舉類型

    枚舉(Enum)是一種數(shù)據(jù)類型,是綁定到唯一值的符號(hào)表示。。本文就來和大家聊聊Python中的枚舉類型,為什么需要枚舉類型,及如何使用
    2022-08-08
  • python計(jì)算分段函數(shù)值的方法

    python計(jì)算分段函數(shù)值的方法

    這篇文章主要為大家詳細(xì)介紹了python計(jì)算分段函數(shù)值的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題

    scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題

    本文主要介紹了scrapy爬蟲遇到j(luò)s動(dòng)態(tài)渲染問題,通過js渲染出來的動(dòng)態(tài)網(wǎng)頁的內(nèi)容與網(wǎng)頁文件內(nèi)容是不一樣的,本文就來解決一下這些問題,感興趣的可以了解一下
    2022-05-05
  • 使用python telnetlib批量備份交換機(jī)配置的方法

    使用python telnetlib批量備份交換機(jī)配置的方法

    今天小編就為大家分享一篇使用python telnetlib批量備份交換機(jī)配置的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python MySQL 日期時(shí)間格式化作為參數(shù)的操作

    Python MySQL 日期時(shí)間格式化作為參數(shù)的操作

    這篇文章主要介紹了Python MySQL 日期時(shí)間格式化作為參數(shù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python中的復(fù)雜數(shù)據(jù)類型(list、tuple)

    Python中的復(fù)雜數(shù)據(jù)類型(list、tuple)

    這篇文章介紹了Python中的復(fù)雜數(shù)據(jù)類型(list、tuple),文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • python操作docx寫入內(nèi)容,并控制文本的字體顏色

    python操作docx寫入內(nèi)容,并控制文本的字體顏色

    今天小編就為大家分享一篇python操作docx寫入內(nèi)容,并控制文本的字體顏色,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • 用python繪制極坐標(biāo)雷達(dá)圖

    用python繪制極坐標(biāo)雷達(dá)圖

    大家好,本篇文章主要講的是用python繪制極坐標(biāo)雷達(dá)圖,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • python基于selenium爬取斗魚彈幕

    python基于selenium爬取斗魚彈幕

    這篇文章主要介紹了python如何基于selenium爬取斗魚彈幕,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python Unittest原理及基本使用方法

    Python Unittest原理及基本使用方法

    這篇文章主要介紹了Python Unittest原理及基本使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論