Читать книгу Искусственный интеллект. Машинное обучение онлайн
Преимущества DBSCAN включают то, что для его работы не требуется знание количества кластеров заранее, а также способность обрабатывать выбросы. Кроме того, он хорошо работает с кластерами различной формы и размера. Однако для эффективной работы DBSCAN требуется правильная настройка параметров эпсилон и минимального количества объектов. Также стоит отметить, что DBSCAN не всегда может эффективно обрабатывать кластеры различной плотности.
Пример 1
Для другого примера кластеризации методом DBSCAN мы можем использовать набор данных с информацией о покупках клиентов. Наша цель – выявить естественные группы потребителей с похожими покупательскими предпочтениями.
```python
import pandas as pd
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
from sklearn.preprocessing import StandardScaler
# Загрузка данных
data = pd.read_csv('shopping_data.csv')
# Предварительная обработка данных
X = data.iloc[:, [3, 4]].values
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# Инициализация и обучение модели DBSCAN
dbscan = DBSCAN(eps=0.3, min_samples=5)
clusters = dbscan.fit_predict(X_scaled)
# Визуализация результатов
plt.scatter(X_scaled[:,0], X_scaled[:,1], c=clusters, cmap='viridis')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.title('DBSCAN Clustering of Shopping Data')
plt.show()
```
В этом примере мы загружаем данные о покупках клиентов, извлекаем признаки, такие как годовой доход и показатель расходов. Затем мы масштабируем данные с помощью стандартного масштабирования, чтобы уравновесить их значения. После этого мы инициализируем и обучаем модель DBSCAN с определенными параметрами, такими как радиус эпсилон (eps) и минимальное количество объектов в окрестности (min_samples). Наконец, мы визуализируем результаты, отображая точки в пространстве признаков с помощью цветов для каждого кластера, выделенного DBSCAN.
Каждый из этих методов имеет свои преимущества и недостатки, и выбор конкретного метода зависит от характера данных и требований конкретной задачи.