更新時間:2022年06月10日11時50分 來源:傳智教育 瀏覽次數(shù):
今天的Python培訓課程,我們介紹一下樹狀圖。樹狀圖亦稱為樹枝狀圖,是一種通過樹狀結(jié)構(gòu)描述父子成員層次結(jié)構(gòu)的圖形。樹狀圖的形狀一般是一個上下顛倒的樹,其根部是一個沒有父成員的根節(jié)點,之后從根節(jié)點開始用線連接子成員,使子成員變?yōu)樽庸?jié)點,直至線的末端為沒有子成員的樹葉節(jié)點為止。樹形圖用于說明成員之間的關(guān)系和連接,常見于分類學、進化科學、企業(yè)組織管理等領(lǐng)域。例如,frog技術(shù)專家PaulAdams設(shè)計的人工智能樹狀圖(部分)如圖8-19所示。
從圖8-19可以看出,樹狀圖的樹葉節(jié)點經(jīng)過第一層聚類形成兩個類簇,即自然語言處理和機器學習,之后經(jīng)過第二層聚類形成一個類簇——人工智能。
樹狀圖的繪制需要準備聚類數(shù)據(jù)。單獨使用matplotlib較為煩瑣,因此這里可以結(jié)合scipy包的功能完成。scipy是一款基于numpy的、專為科學和工程設(shè)計的、易于使用的Python包,它提供了線性代數(shù)、傅里葉變換、信號處理等豐富的功能。
scipy.cluster模塊中包含眾多聚類算法,主要包括矢量量化和層次聚類兩種,并分別封裝到vq和hierarchy模塊中。hierarchy模塊中提供了一系列聚類的功能,可以輕松生成聚類數(shù)據(jù)并繪制樹狀圖。
圖8-19人工智能樹狀圖