Hướng dẫn dbscan implementation python - python triển khai dbscan
Show Hình ảnh của tác giả & nbsp; Nội dung chính ShowShow
Phân cụm được áp dụng trên bộ dữ liệu để nhóm các bộ dữ liệu tương tự. Nó tìm kiếm những điểm tương đồng và khác biệt trong các điểm dữ liệu và kết hợp chúng lại với nhau. Không có nhãn trong phân cụm. Phân cụm là một học tập không giám sát để tìm cấu trúc cơ bản của bộ dữ liệu. & NBSP; Các loại thuật toán phân cụm:
Trong blog này, chúng tôi sẽ tập trung vào các phương pháp phân cụm dựa trên mật độ, đặc biệt là thuật toán DBSCAN với Scikit-learn. Các thuật toán dựa trên mật độ rất giỏi trong việc tìm kiếm các vùng và ngoại lệ mật độ cao. Nó thường được sử dụng để phát hiện bất thường và phân cụm các bộ dữ liệu phi tuyến tính. & NBSP; DBSCAN là gì?Thuật toán phân cụm DBSCAN hoạt động như thế nào? Phân cụm DBSCAN trong PythonK clusters initially. Instead, it requires two parameters: eps and minPts.
Các loại thuật toán phân cụm: Phân cụm dựa trên phân vùng Phân cụm mờ Thuật toán phân cụm DBSCAN hoạt động như thế nào?
Phân cụm DBSCAN trong PythonTrong phần này, chúng tôi sẽ sử dụng thông tin trên và trực quan hóa biểu đồ phân tán. & Nbsp; & nbsp; import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.cluster import DBSCAN Phân cụm được áp dụng trên bộ dữ liệu để nhóm các bộ dữ liệu tương tự. Nó tìm kiếm những điểm tương đồng và khác biệt trong các điểm dữ liệu và kết hợp chúng lại với nhau. Không có nhãn trong phân cụm. Phân cụm là một học tập không giám sát để tìm cấu trúc cơ bản của bộ dữ liệu. & NBSP; Các loại thuật toán phân cụm:X_train dataframe. df = pd.read_csv('Mall_Customers.csv') X_train = df[['Age', 'Annual Income (k$)', 'Spending Score (1-100)']] Phân cụm dựa trên phân vùngX_train on the DBSCAN algorithm with eps 12.5 and min_sample 4. After that, we will create a DBSCAN_dataset from X_train and create a ‘Cluster’ column using clustering.labels_. clustering = DBSCAN(eps=12.5, min_samples=4).fit(X_train) DBSCAN_dataset = X_train.copy() DBSCAN_dataset.loc[:,'Cluster'] = clustering.labels_ Phân cụm mờ Phân cụm phân cấp Phân cụm dựa trên lướiPhân cụm độc quyền Trong phần này, chúng tôi sẽ sử dụng thông tin trên và trực quan hóa biểu đồ phân tán. & Nbsp; & nbsp; Phân cụm được áp dụng trên bộ dữ liệu để nhóm các bộ dữ liệu tương tự. Nó tìm kiếm những điểm tương đồng và khác biệt trong các điểm dữ liệu và kết hợp chúng lại với nhau. Không có nhãn trong phân cụm. Phân cụm là một học tập không giám sát để tìm cấu trúc cơ bản của bộ dữ liệu. & NBSP; Trực quan hóa cho thấy rõ mỗi khách hàng là một phần của một trong 5 cụm và chúng tôi có thể sử dụng thông tin này để cung cấp ưu đãi cao cấp cho khách hàng với các cụm màu tím và ưu đãi rẻ hơn cho khách hàng với các cụm màu xanh đậm. & NBSP; outliers = DBSCAN_dataset[DBSCAN_dataset['Cluster']==-1] fig2, (axes) = plt.subplots(1,2,figsize=(12,5)) sns.scatterplot('Annual Income (k$)', 'Spending Score (1-100)', data=DBSCAN_dataset[DBSCAN_dataset['Cluster']!=-1], hue='Cluster', ax=axes[0], palette='Set2', legend='full', s=200) sns.scatterplot('Age', 'Spending Score (1-100)', data=DBSCAN_dataset[DBSCAN_dataset['Cluster']!=-1], hue='Cluster', palette='Set2', ax=axes[1], legend='full', s=200) axes[0].scatter(outliers['Annual Income (k$)'], outliers['Spending Score (1-100)'], s=10, label='outliers', c="k") axes[1].scatter(outliers['Age'], outliers['Spending Score (1-100)'], s=10, label='outliers', c="k") axes[0].legend() axes[1].legend() plt.setp(axes[0].get_legend().get_texts(), fontsize='12') plt.setp(axes[1].get_legend().get_texts(), fontsize='12') plt.show() & nbsp; Trong phần này, chúng tôi sẽ sử dụng thông tin trên và trực quan hóa biểu đồ phân tán. & Nbsp; & nbsp;Có hai lô: Thu nhập hàng năm so với điểm chi tiêu và thu nhập hàng năm so với tuổi. Các cụm được xác định bởi màu sắc và các ngoại lệ được định nghĩa là các chấm đen nhỏ. & Nbsp; Trực quan hóa cho thấy rõ mỗi khách hàng là một phần của một trong 5 cụm và chúng tôi có thể sử dụng thông tin này để cung cấp ưu đãi cao cấp cho khách hàng với các cụm màu tím và ưu đãi rẻ hơn cho khách hàng với các cụm màu xanh đậm. & NBSP;eps and min_samples using silhouette score and heatmap. eps and min_samples using silhouette score and heatmap. Reference
DBSCAN trong Python (với bộ dữ liệu ví dụ)Abid Ali Awan (@1abidaliawan) is a certified data scientist professional who loves building machine learning models. Currently, he is focusing on content creation and writing technical blogs on machine learning and data science technologies. Abid holds a Master's degree in Technology Management and a bachelor's degree in Telecommunication Engineering. His vision is to build an AI product using a graph neural network for students struggling with mental illness.Abid Ali Awan (@1abidaliawan) is a certified data scientist professional who loves building machine learning models. Currently, he is focusing on content creation and writing technical blogs on machine learning and data science technologies. Abid holds a Master's degree in Technology Management and a bachelor's degree in Telecommunication Engineering. His vision is to build an AI product using a graph neural network for students struggling with mental illness. |