Skip to content

IvanTishk0/Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Проект по Классификации

Этот проект представляет собой реализацию различных алгоритмов классификации с использованием Python и популярных библиотек машинного обучения. Проект включает в себя реализацию нескольких классических алгоритмов классификации, их сравнение и анализ на различных наборах данных.

Описание проекта

Проект направлен на решение задач классификации с использованием различных методов машинного обучения. В рамках проекта реализованы следующие возможности:

  • Предобработка и анализ данных
  • Реализация различных алгоритмов классификации
  • Оценка и сравнение эффективности моделей
  • Визуализация результатов
  • Оптимизация гиперпараметров моделей

Поддерживаемые алгоритмы

  • Логистическая регрессия
  • Случайный лес (Random Forest)
  • Метод опорных векторов (SVM)
  • Градиентный бустинг (Gradient Boosting)
  • K-ближайших соседей (KNN)

Установка

  1. Клонируйте репозиторий:
git clone [email protected]:IvanTishk0/Classification.git
cd Classification
  1. Создайте виртуальное окружение:
python -m venv venv
source venv/bin/activate  # для Linux/Mac
# или
venv\Scripts\activate  # для Windows
  1. Установите зависимости:
pip install -r requirements.txt

Структура проекта

Classification/
├── data/               # Директория для датасетов
│   ├── raw/           # Исходные данные
│   └── processed/     # Обработанные данные
├── notebooks/          # Jupyter notebooks
│   ├── EDA/           # Ноутбуки с разведочным анализом данных
│   └── models/        # Ноутбуки с моделями
├── src/               # Исходный код
│   ├── data/          # Скрипты для обработки данных
│   ├── features/      # Скрипты для создания признаков
│   ├── models/        # Реализации моделей
│   └── visualization/ # Скрипты для визуализации
├── requirements.txt    # Зависимости проекта
└── README.md          # Документация

Использование

Подготовка данных

  1. Поместите ваши данные в директорию data/raw/
  2. Используйте скрипты из src/data/ для предобработки данных
  3. Обработанные данные будут сохранены в data/processed/

Обучение моделей

  1. Откройте соответствующий ноутбук из директории notebooks/models/
  2. Следуйте инструкциям в ноутбуке для обучения и оценки модели
  3. Результаты будут сохранены в соответствующей директории

Визуализация результатов

Для визуализации результатов используйте скрипты из директории src/visualization/ или соответствующие ноутбуки.

Используемые библиотеки

  • numpy (1.24.3) - для численных вычислений и работы с массивами
  • pandas (2.0.3) - для обработки и анализа структурированных данных
  • scikit-learn (1.3.0) - для реализации алгоритмов машинного обучения
  • matplotlib (3.7.2) - для создания статических графиков
  • seaborn (0.12.2) - для статистической визуализации
  • jupyter (1.0.0) - для интерактивной разработки и анализа

Примеры использования

from src.models.classifier import RandomForestClassifier
from src.data.preprocessor import DataPreprocessor

# Загрузка и предобработка данных
preprocessor = DataPreprocessor()
X_train, X_test, y_train, y_test = preprocessor.prepare_data()

# Создание и обучение модели
model = RandomForestClassifier()
model.train(X_train, y_train)

# Оценка модели
accuracy = model.evaluate(X_test, y_test)

Вклад в проект

  1. Форкните репозиторий
  2. Создайте ветку для ваших изменений
  3. Внесите изменения
  4. Создайте pull request

Решение проблем

Если у вас возникли проблемы при использовании проекта:

  1. Проверьте версии установленных библиотек
  2. Убедитесь, что все зависимости установлены корректно
  3. Проверьте наличие необходимых данных в соответствующих директориях

Лицензия

MIT

Автор

Ivan Tishko

Контакты

История изменений

Версия 1.0.0

  • Инициализация проекта
  • Базовая структура репозитория
  • Настройка зависимостей

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published