Этот проект представляет собой комплексное решение для анализа данных с использованием различных методов кластеризации. Инструмент позволяет выполнять сегментацию данных, находить скрытые паттерны и визуализировать результаты.
- Предварительная обработка данных
- Реализация различных алгоритмов кластеризации:
- K-means
- DBSCAN
- Иерархическая кластеризация
- Визуализация результатов с помощью matplotlib и seaborn
- Оценка качества кластеризации
- Автоматический подбор оптимального количества кластеров
- Клонируйте репозиторий:
git clone [email protected]:IvanTishk0/Clustering.git
cd Clustering- Создайте виртуальное окружение:
python -m venv venv
# для Linux/Mac:
source venv/bin/activate
# для Windows:
venv\Scripts\activate- Установите зависимости:
pip install -r requirements.txt| Библиотека | Версия | Назначение |
|---|---|---|
| numpy | 1.24.3 | Работа с многомерными массивами и матрицами |
| pandas | 2.0.3 | Обработка и анализ структурированных данных |
| scikit-learn | 1.3.0 | Алгоритмы машинного обучения и кластеризации |
| matplotlib | 3.7.2 | Создание статических визуализаций |
| seaborn | 0.12.2 | Продвинутая визуализация статистических данных |
from clustering.preprocessor import DataPreprocessor
from clustering.models import KMeansClusterer
import pandas as pd
# Загрузка данных
data = pd.read_csv('your_data.csv')
# Предобработка
preprocessor = DataPreprocessor()
X = preprocessor.fit_transform(data)
# Кластеризация
clusterer = KMeansClusterer(n_clusters=5)
labels = clusterer.fit_predict(X)
# Визуализация
clusterer.plot_clusters(X, labels)- Кластеризация клиентов по покупательскому поведению
- Сегментация изображений
- Группировка текстовых документов
- Анализ временных рядов
Проект предоставляет различные способы визуализации:
- Scatter plots для 2D и 3D данных
- Дендрограммы для иерархической кластеризации
- Тепловые карты
- Силуэтные графики
Мы приветствуем ваш вклад в развитие проекта! Для этого:
- Создайте форк репозитория
- Создайте ветку для новой функции (
git checkout -b feature/amazing-feature) - Зафиксируйте изменения (
git commit -m 'Add amazing feature') - Отправьте изменения в ваш форк (
git push origin feature/amazing-feature) - Откройте Pull Request
Распространяется под лицензией MIT. Смотрите файл LICENSE для получения дополнительной информации.
[Иван Тишко] - [[email protected]]
Ссылка на проект: [https://github.com/IvanTishk0/Clustering]