Hướng dẫn how do i create a hierarchical cluster in python? - làm cách nào để tạo một cụm phân cấp trong python?
Phân cụm phân cấp là một trong những thuật toán học tập không giám sát phổ biến. Phân cụm phân cấp thu được tên của nó từ phân cấp từ, từ này có nghĩa là xếp hạng mọi thứ theo tầm quan trọng của chúng. Show
Đây là những gì phân cụm phân cấp làm. Nó tìm thấy các yếu tố của bộ dữ liệu với các thuộc tính tương tự được xem xét và nhóm chúng lại với nhau trong một cụm. Cuối cùng, chúng ta có được một cụm lớn duy nhất có các yếu tố chính là cụm điểm dữ liệu hoặc cụm của các cụm khác. Phân cụm phân cấp tiếp cận các vấn đề phân cụm theo hai cách. Hãy cùng nhìn vào hai cách tiếp cận của phân cụm phân cấp. Điều kiện tiên quyếtĐể theo dõi, bạn cần phải có:
Các loại phân cụm phân cấpPhân cụm kết tụTrong cách tiếp cận phân cụm này, chúng tôi bắt đầu với lá cụm và sau đó di chuyển lên trên cho đến khi cuối cùng có được gốc. Ban đầu, phương pháp này giả định từng điểm dữ liệu trong tập dữ liệu là một cụm độc lập. Ban đầu, mỗi điểm dữ liệu được coi là một cụm một phần tử (lá). Vì hai cụm tương tự nhất được kết hợp ở mỗi bước, chúng tôi có được ít cụm hơn ở mỗi lần lặp hiện tại so với lần lặp trước đó. Quá trình này tiếp tục cho đến khi chúng ta có được một cụm lớn (gốc) có các yếu tố là cụm thuộc tính tương đương. Khi tất cả các phân cụm được hoàn thành, chúng tôi trực quan hóa các cụm dữ liệu bằng cách sử dụng một biểu đồ phân tán. Chúng ta có thể tăng cường hơn nữa sự hiểu biết của chúng ta về thuật toán này bằng cách xem xét sơ đồ dưới đây. Nguồn: DisplayR Trong sơ đồ này, chúng tôi đã giả định một bộ dữ liệu với các phần tử N trong đó n = 6. Dưới đây là các bước liên quan đến phân cụm ở trên:
Nếu chúng ta hình dung ra dendrogram, chúng ta sẽ có được cấu trúc giống như cây với gốc ở trên cùng như hình dưới đây: Nói chung, đây là những gì thuật toán phân cụm kết tụ. Chia rẽ phân cụmCụm phân chia là một cách tiếp cận từ trên xuống. Nói cách khác, chúng ta có thể thoải mái nói rằng đó là một thứ tự ngược của phân cụm kết tụ. Khi bắt đầu phân cụm, tất cả các điểm dữ liệu được coi là đồng nhất và do đó nó bắt đầu với một cụm lớn của tất cả các điểm dữ liệu. Sau đó, tại mỗi lần lặp phân cụm, nhóm không đồng nhất nhất được chia thành hai cụm khác nhau sao cho phương sai trong chúng bị giảm. Quá trình tiếp tục cho đến khi tất cả số lượng cụm tối ưu đạt được.divided into two different clusters such that the variance in them is reduced. The process continues until all the optimal number of clusters is attained. Tuy nhiên, trong thế giới thực, giả định ban đầu về phân cụm gây chia rẽ, dữ liệu là đồng nhất, giữ trọng lượng ít hơn so với giả định phân cụm kết tụ rằng tất cả các điểm dữ liệu khác nhau. Điều này làm cho thuật toán này ít được sử dụng trong các nhiệm vụ phân cụm hơn so với phân cụm kết tụ. Như đã nói, bài viết này sẽ chú ý đến phân cụm kết tụ vì đây là thuật toán mà chúng tôi rất có thể áp dụng trong các nhiệm vụ phân cụm trong tương lai. Thuật toán phân cụm kết tụ của chúng tôi đã nói về hai cụm \ gần nhất \. Vậy làm thế nào để chúng ta xác định các cụm lông như thế nào với nhau? Trong học máy, có nhiều số liệu khoảng cách khác nhau mà chúng ta có thể sử dụng và đo khoảng cách giữa các điểm khác nhau. Những số liệu này bao gồm:
Khoảng cách Euclide đã cho thấy một loạt các sử dụng trong đo khoảng cách so với các số liệu khác. Số liệu này được tính là: Vì chúng ta biết các số liệu chúng ta có thể sử dụng và đo khoảng cách giữa các điểm cố định. Bây giờ, thời gian để quay lại và trả lời câu hỏi của chúng tôi; Làm thế nào để chúng ta thực hiện phép đo này giữa các cụm? Khi chúng tôi nói về các cụm, chúng tôi đề cập đến một nhóm điểm. Để đo khoảng cách giữa các nhóm điểm này, chúng ta cần phát triển một cách tiếp cận được xác định rõ để tăng cường tính nhất quán trong nhiệm vụ phân cụm của chúng ta. Khoảng cách giữa hai cụm có thể được thực hiện theo năm cách tiếp cận khác nhau. Các phương pháp này thường được gọi là phương pháp liên kết.Linkage methods. Chúng ta hãy nhìn vào họ và cố gắng hiểu cách chúng hoạt động.
Thực hiện phân cụm phân cấpBây giờ là thời gian để đưa tất cả những gì chúng ta đã thảo luận ở trên vào hành động. Ở đây, chúng ta sẽ sử dụng bộ dữ liệu trong thế giới thực để thực hiện mô hình phân cụm kết tụ và cuối cùng trực quan hóa cách mô hình có thể khám phá các cụm khác nhau từ dữ liệu. Như đã nói, bạn có thể tải xuống bộ dữ liệu này và bắt đầu như dưới đây: Khi chúng tôi đã tải xuống dữ liệu của mình, điều đầu tiên là nhập tất cả các thư viện cần thiết cho phiên này. Mã sau nhập các thư viện này. Nhập thư viện cần thiết
Đọc tập dữ liệu cho không gian làm việcBây giờ các thư viện của chúng tôi đã được nhập, chúng ta hãy đọc dữ liệu vào không gian làm việc của chúng tôi và in năm hàng đầu tiên bằng hàm
Chúng tôi sẽ triển khai mô hình phân cụm phân cấp của chúng tôi trên các cột
Hai tính năng của NewData của chúng tôi gần như trên cùng một quy mô. Do đó, chúng tôi không cần mở rộng dữ liệu. Tuy nhiên, điều này sẽ không luôn luôn là trường hợp. Chúng tôi sẽ làm việc với các bộ dữ liệu có giá trị hoàn toàn ở quy mô khác. Trong tình huống như vậy, chúng tôi phải mở rộng dữ liệu để các tính năng khác nhau có thể so sánh được; Nếu không, chúng ta sẽ kết thúc với một mô hình kém hơn. Lý do là phân cụm phân cấp, giống như nhiều thuật toán khác trong học máy, dựa trên khoảng cách (khoảng cách Euclide). Trước khi cố gắng phân cụm dữ liệu của chúng tôi, chúng tôi cần biết có bao nhiêu cụm dữ liệu của chúng tôi có thể được phân cụm một cách tối ưu. Vì vậy, trước tiên, hãy để thực hiện một dendrogram trên bộ dữ liệu của chúng tôi để có được kiến thức này. Xác định số lượng cụm tối ưu với dendrogramMã bên dưới sẽ xây dựng một dendrogram trên bộ dữ liệu của chúng tôi:
Đầu raMã trên trả về một dendrogram, như được hiển thị bên dưới: Xem xét dendrogram ở trên, số lượng cụm tối ưu có thể được xác định như sau; Theo giả thuyết, ngoại suy tất cả các đường ngang trên toàn bộ dendrogram và sau đó tìm thấy đường thẳng đứng dài nhất không vượt qua các đường giả thuyết đó. Trên dòng dài nhất đó, thiết lập một ngưỡng. Số lượng cụm chúng ta có thể phân cụm tối ưu dữ liệu của chúng ta bằng số lượng khoảng cách Euclide (đường thẳng đứng) các ngưỡng được thiết lập cắt ngang. Trong dendrogram mà chúng tôi vừa có được, đường thẳng đứng dài nhất không có đường ngang ngang mở rộng là ở phần màu xanh lá cây. Dòng thứ ba là giữa khoảng cách Euclidian (110 - 250). Lấy ngưỡng của chúng tôi là 150, số lượng cụm tối ưu thu được là năm. Biết số tối ưu mà dữ liệu của chúng tôi nên cụm thành; Bây giờ chúng tôi có thể đào tạo mô hình phân cụm của chúng tôi để đạt được mục tiêu này. Đào tạo mô hình phân cụm phân cấp trên dữ liệu
Mã trên được đào tạo mô hình của chúng tôi và bây giờ chúng tôi có thể tiếp tục và trực quan hóa cách dữ liệu được phân cụm. Để làm điều này, hãy chạy mã bên dưới: Cụm thông qua thường hóa
Chi tiết cuối cùng chúng ta cần biết về phân cụm phân cấp là thời gian và không gian phức tạp của nó và do đó không phải là một giải pháp phù hợp cho các vấn đề phân cụm với các bộ dữ liệu lớn. Sự kết luậnTrong bài viết này, chúng tôi đã xem xét phân cụm phân cấp và các loại của nó. Đầu tiên, chúng tôi đã học được cách các loại phân cụm phân cấp này hoạt động và sau đó kết luận rằng loại phù hợp nhất là phân cụm kết tụ. Chúng tôi cũng đã xem xét các phương pháp khác nhau được sử dụng để đo khoảng cách giữa các điểm dữ liệu và tiêu chí hướng dẫn chúng tôi về cách thực hiện các phép đo này (phương pháp mực). Cuối cùng, chúng tôi đã triển khai mô hình của mình và trong quá trình này, chúng tôi đã học được cách có được số lượng cụm tối ưu bằng cách sử dụng dendrogram. Hy vọng bạn tìm thấy bài viết này hữu ích. Mã hóa hạnh phúc! Đóng góp đánh giá ngang hàng của: Odhiambo Paul Làm thế nào để bạn thực hiện phân cụm phân cấp trong Python?Các bước để thực hiện phân cụm phân cấp ... Bước 1- Làm cho mỗi điểm dữ liệu một cụm duy nhất. .... Bước 2- Lấy 2 điểm dữ liệu tủ quần áo và làm cho chúng một cụm. .... Bước 3-Take 2 cụm tủ quần áo và làm cho chúng một cụm. .... Bước 4- Lặp lại bước 3 cho đến khi chỉ còn một cụm .. Làm thế nào để bạn tạo một cụm phân cấp?Các bước phân cụm phân cấp.. Bước 1: Tính ma trận gần bằng cách sử dụng một số liệu khoảng cách cụ thể .. Bước 2: Mỗi điểm dữ liệu được gán cho một cụm .. Bước 3: Hợp nhất các cụm dựa trên một số liệu cho sự giống nhau giữa các cụm .. Bước 4: Cập nhật ma trận khoảng cách .. Làm thế nào để bạn tạo một cụm trong Python?Steps:.. Chọn một số giá trị của K và chạy thuật toán phân cụm .. Đối với mỗi cụm, hãy tính toán tổng số bình phương trong cụm giữa Centroid và mỗi điểm dữ liệu .. Tóm lại cho tất cả các cụm, vẽ trên biểu đồ .. Lặp lại cho các giá trị khác nhau của K, hãy tiếp tục vẽ trên biểu đồ .. Sau đó chọn khuỷu tay của biểu đồ .. 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 .. |