Hướng dẫn how to cut a dendrogram in python - làm thế nào để cắt một hình dendrogram trong trăn

Trong bài viết này, chúng ta sẽ thấy cách cắt một dendrogram phân cấp thành các cụm thông qua một giá trị ngưỡng bằng cách sử dụng SCIPY trong Python.

Dendrogram là một loại sơ đồ cây cho thấy phân cụm phân cấp, tức là mối quan hệ giữa các bộ dữ liệu tương tự. Nó được sử dụng để phân tích mối quan hệ phân cấp giữa các lớp khác nhau. Gói Scipy.Cluster trang bị cho chúng tôi các công cụ cần thiết để phân cụm phân cấp và vẽ đồ thị. Vì vậy, phải được nhập khẩu vào môi trường.scipy.cluster package equips us with tools needed for hierarchical clustering and dendrogram plotting. Thus, has to be imported into the environment.

Trước tiên chúng ta hãy tạo một số dữ liệu mẫu và vẽ nó bình thường. Chúng tôi đã lấy một loạt các điểm dữ liệu ngẫu nhiên làm đầu vào của chúng tôi, chúng tôi sẽ vẽ đồ thị của họ sau đó.

Ví dụ: Chương trình mẫu để tạo và trực quan hóa dữ liệu Sample program for creating and visualizing data

Python3

from scipy.cluster import hierarchy

from scipy.cluster.hierarchy import dendrogram

import numpy as np

import scipy.cluster 1

scipy.cluster 2scipy.cluster 3 scipy.cluster 4

scipy.cluster 5scipy.cluster 6scipy.cluster 7scipy.cluster 8scipy.cluster 9import0

scipy.cluster 5scipy.cluster 6import3scipy.cluster 8import3import0

scipy.cluster 5scipy.cluster 6import9scipy.cluster 8hierarchy1import0

scipy.cluster 5scipy.cluster 6scipy.cluster 9scipy.cluster 8hierarchy7import0

scipy.cluster 5scipy.cluster 6from1scipy.cluster 8scipy.cluster 7import0

scipy.cluster 5scipy.cluster 6hierarchy7scipy.cluster 8import9import0

scipy.cluster 5scipy.cluster 6scipy.cluster.hierarchy 3scipy.cluster 8scipy.cluster.hierarchy 5import0

scipy.cluster 5scipy.cluster 6scipy.cluster.hierarchy 9scipy.cluster 8import1import2

import3

import4scipy.cluster 3 import6

import7

import8

Output:

Hướng dẫn how to cut a dendrogram in python - làm thế nào để cắt một hình dendrogram trong trăn

Các điểm dữ liệu đầu vào mẫu

Dendrogram có thể được vẽ dễ dàng bằng cách sử dụng ma trận liên kết. Một ma trận liên kết được tạo thông qua hàm linkage (). Ma trận này chứa mã hóa phân cụm phân cấp để kết xuất dưới dạng dendrogram.

Syntax:

Phân cấp.Linkage (y, phương thức = Hồi đơn, số liệu = Hồi Euclidean, Optimal_ordering = false):

Parameters:

  • Y: Mảng đầu vào 1D/ 2D của vectơ đầu vào & nbsp; Input 1D/ 2D array of input vector 
  • Phương pháp: Phương pháp tính toán khoảng cách giữa cụm mới được hình thành và các điểm khác. Phương thức = ’đơn,’ hoàn chỉnh, ’trung bình,‘ centroid, methods for calculating the distance between the newly formed cluster and other points. method = ‘single’ , ‘complete’, ‘average’, ‘centroid’
  • Số liệu: Số liệu khoảng cách để sử dụng trong trường hợp đầu vào là một tập hợp các vectơ quan sát distance metric to use in the case that input is a collection of observation vectors
  • Optimal_ordering: Nếu đúng, ma trận liên kết sẽ được sắp xếp lại để khoảng cách giữa các lá liên tiếp là tối thiểu If True, the linkage matrix will be reordered so that the distance between successive leaves is minimal

Ví dụ: Tạo một dendrogram cho dữ liệu của chúng tôi Creating a Dendrogram for our data

Python3

import9scipy.cluster 3 dendrogram1scipy.cluster 3dendrogram3dendrogram4

dendrogram5

dendrogram6dendrogram7dendrogram4

dendrogram9scipy.cluster 3 import1

Output:

Hướng dẫn how to cut a dendrogram in python - làm thế nào để cắt một hình dendrogram trong trăn

Dendrogram ban đầu mà không có bất kỳ sự giới hạn nào

Bây giờ, hãy để Lừa cắt Dendrogram bằng một giá trị ngưỡng. Chúng tôi đã chọn giá trị cắt hoặc ngưỡng là 4. Ở giá trị này, một đường thẳng đứng cũng có thể được rút ra. & NBSP;

Đối với giá trị cắt/ngưỡng được chọn, chúng ta luôn có thể chỉ cần đếm số lượng giao điểm với các đường thẳng đứng của dendrogram để có được số lượng cụm được hình thành. Giả sử chúng tôi chọn cắt MAX_D = 6, chúng tôi sẽ nhận được 2 cụm cuối cùng.

Ví dụ: Cắt dendrogram ở giá trị ngưỡng Cutting dendrogram at the threshold value

Python3

import2scipy.cluster 3 scipy.cluster 9

import9scipy.cluster 3 dendrogram1scipy.cluster 3dendrogram3dendrogram4

dendrogram5

dendrogram6dendrogram7dendrogram4

dendrogram9scipy.cluster 3 import1

Dendrogram ban đầu mà không có bất kỳ sự giới hạn nào

Output:

Hướng dẫn how to cut a dendrogram in python - làm thế nào để cắt một hình dendrogram trong trăn

Bây giờ, hãy để Lừa cắt Dendrogram bằng một giá trị ngưỡng. Chúng tôi đã chọn giá trị cắt hoặc ngưỡng là 4. Ở giá trị này, một đường thẳng đứng cũng có thể được rút ra. & NBSP;


Bạn cắt trong một dendrogram ở đâu?

Thực tiễn phổ biến đối với các dendrogram trong các cụm K là cắt chúng ở độ cao không đổi k 1.constant height k−1.

Chúng ta có thể cắt tỉa dendrogram không?

Dendrogram lớn có thể được cắt tỉa trong hộp cắt tỉa bằng cách chọn độ sâu tối đa của dendrogram.Điều này chỉ ảnh hưởng đến màn hình, không phải phân cụm thực tế.Tiện ích cung cấp ba phương thức lựa chọn khác nhau: Hướng dẫn sử dụng (nhấp vào bên trong dendrogram sẽ chọn một cụm.. This only affects the display, not the actual clustering. The widget offers three different selection methods: Manual (Clicking inside the dendrogram will select a cluster.

Làm cách nào để tạo ra một dendrogram trong Python?

Dendrograms trong Python..
Dendrogram cơ bản.Một dendrogram là một sơ đồ đại diện cho một cây.Nhà máy hình có tên created_dendrogram thực hiện phân cụm phân cấp trên dữ liệu và biểu thị cây kết quả.....
Đặt ngưỡng màu ..
Đặt định hướng và thêm nhãn ..
Vẽ một dendrogram với một bản đồ nhiệt.Xem thêm Bản demo Bio Dash ..