Con trăn cụm phường
Trên trang này, W3schools. com hợp tác với Học viện Khoa học Dữ liệu NYC để cung cấp nội dung đào tạo kỹ thuật số cho sinh viên của chúng tôi Phân cụm theo thứ bậc là một phương pháp học tập không giám sát để phân cụm các điểm dữ liệu. Thuật toán xây dựng các cụm bằng cách đo lường sự khác biệt giữa dữ liệu. Học không giám sát có nghĩa là một mô hình không cần phải được đào tạo và chúng ta không cần biến "mục tiêu". Phương pháp này có thể được sử dụng trên bất kỳ dữ liệu nào để trực quan hóa và giải thích mối quan hệ giữa các điểm dữ liệu riêng lẻ Ở đây, chúng tôi sẽ sử dụng phân cụm theo cấp bậc để nhóm các điểm dữ liệu và trực quan hóa các cụm bằng cách sử dụng cả biểu đồ dendrogram và biểu đồ phân tán Làm thế nào nó hoạt động?Chúng tôi sẽ sử dụng Phân cụm kết tụ, một loại phân cụm phân cấp theo cách tiếp cận từ dưới lên. Chúng tôi bắt đầu bằng cách coi từng điểm dữ liệu là cụm riêng của nó. Sau đó, chúng tôi nối các cụm với nhau có khoảng cách ngắn nhất giữa chúng để tạo các cụm lớn hơn. Bước này được lặp lại cho đến khi một cụm lớn được hình thành chứa tất cả các điểm dữ liệu Phân cụm theo thứ bậc yêu cầu chúng tôi quyết định cả khoảng cách và phương pháp liên kết. Chúng tôi sẽ sử dụng khoảng cách euclide và phương pháp liên kết Ward, cố gắng giảm thiểu phương sai giữa các cụm Thí dụBắt đầu bằng cách trực quan hóa một số điểm dữ liệu nhập numpy dưới dạng np x = [4, 5, 10, 4, 3, 11, 14 , 6, 10, 12] plt. phân tán(x, y) Kết quảQUẢNG CÁO Bây giờ chúng tôi tính toán liên kết phường bằng khoảng cách euclide và trực quan hóa nó bằng chương trình dendro Thí dụnhập numpy dưới dạng np x = [4, 5, 10, 4, 3, 11, 14 , 6, 10, 12] dữ liệu = danh sách (zip (x, y)) linkage_data = link(data, method='ward', metric='euclidean') plt. buổi bieu diễn() Kết quảThí dụnhập numpy dưới dạng np x = [4, 5, 10, 4, 3, 11, 14 , 6, 10, 12] dữ liệu = danh sách (zip (x, y)) hierarchical_cluster = AgglomerativeClustering(n_clusters=2, affinity='euclidean',linked='ward') plt. phân tán(x, y, c=nhãn) Kết quảVí dụ giải thíchNhập các mô-đun bạn cần
Bạn có thể tìm hiểu về mô-đun Matplotlib trong "Hướng dẫn Matplotlib" của chúng tôi Bạn có thể tìm hiểu về mô-đun SciPy trong Hướng dẫn SciPy của chúng tôi NumPy là thư viện để làm việc với mảng và ma trận trong Python, bạn có thể tìm hiểu về mô-đun NumPy trong Hướng dẫn NumPy của chúng tôi scikit-learning là một thư viện phổ biến cho máy học Tạo các mảng giống với hai biến trong tập dữ liệu. Lưu ý rằng mặc dù chúng ta chỉ có hai biến ở đây, phương pháp này sẽ hoạt động với bất kỳ số lượng biến nào.
Biến dữ liệu thành một tập hợp các điểm
Kết quả
Tính toán mối liên kết giữa tất cả các điểm khác nhau. Ở đây, chúng tôi sử dụng phép đo khoảng cách euclide đơn giản và liên kết của Ward, tìm cách giảm thiểu phương sai giữa các cụm
Cuối cùng, vẽ kết quả trong một dendrogram. Biểu đồ này sẽ cho chúng ta thấy hệ thống phân cấp của các cụm từ dưới cùng (các điểm riêng lẻ) lên trên cùng (một cụm duy nhất bao gồm tất cả các điểm dữ liệu)
Kết quả Thư viện scikit-learning cho phép chúng ta sử dụng phân cụm theo thứ bậc theo một cách khác. Đầu tiên, chúng tôi khởi tạo lớp ________số 8 Phương pháp
Kết quả Cuối cùng, nếu chúng ta vẽ cùng một dữ liệu và tô màu các điểm bằng cách sử dụng nhãn được gán cho từng chỉ mục theo phương pháp phân cụm theo cấp bậc, chúng ta có thể thấy cụm mà mỗi điểm được gán cho |