# Детектор дисбаланса датасета и ресемплер

Выявляет дисбаланс классов в CSV или JSON, сравнивает стратегии ресемплинга и показывает сбалансированный набор

> Каноническая страница: https://elysiatools.com/ru/tools/dataset-imbalance-detector-resampler

- **Категория:** Data Analysis

- **Ключевые слова:** датасет, дисбаланс, ресемплинг, ml

## Обзор

Вставьте CSV-датасет или загрузите CSV/JSON, затем укажите колонку метки. Инструмент посчитает каждый класс, измерит дисбаланс, подскажет, безопаснее ли oversampling или undersampling, и создаст предварительный сбалансированный набор.

Как использовать:
- Ввод датасета: вставьте CSV для быстрой проверки
- Файл данных: загрузите CSV или JSON
- Колонка метки: выберите целевой класс
- Стратегия ресемплинга: none, oversample или undersample
- Формат экспорта: предпросмотр в JSON или CSV
- Строк предпросмотра: сколько строк сбалансированного набора показать

Примечания:
- Oversample дублирует объекты меньшинства до размера большинства
- Undersample сокращает большинство до размера меньшинства
- Отчет сравнивает обе стратегии
- Это помогает понять, нужен ли затем более продвинутый метод вроде SMOTE

## Входные данные

- **Ввод датасета** (textarea): id,label,score 1,yes,0.9 2,no,0.2
- **Файл данных** (file)
- **Колонка метки** (text): label
- **Стратегия ресемплинга** (select)
- **Формат экспорта** (select)
- **Строк предпросмотра** (number)

## Когда использовать

- При подготовке данных для моделей классификации, когда один из целевых классов значительно преобладает над другими.
- Для быстрого аудита новых датасетов и оценки распределения меток перед началом машинного обучения.
- При выборе между стратегиями oversampling и undersampling для балансировки обучающей выборки.

## Как это работает

- Вставьте текст CSV в поле ввода или загрузите готовый файл в формате CSV или JSON.
- Укажите точное название колонки (Label Column), которая содержит целевые классы для анализа.
- Выберите стратегию ресемплинга (oversample для дублирования меньшинства или undersample для усечения большинства) и формат экспорта.
- Инструмент рассчитает метрики дисбаланса и сгенерирует отчет вместе с превью сбалансированного датасета в выбранном формате.

## Сценарии использования

- Анализ транзакций на предмет мошенничества (фрода), где легитимных операций всегда в сотни раз больше.
- Подготовка медицинских данных для диагностики редких заболеваний, чтобы модель не игнорировала положительные диагнозы.
- Прогнозирование оттока клиентов (churn rate), где ушедшие пользователи составляют лишь малую часть от общей базы.

## Частые вопросы

### Что такое oversampling и undersampling?

Oversampling дублирует случайные записи из класса меньшинства, чтобы сравнять его с большинством. Undersampling, наоборот, удаляет записи из мажоритарного класса до размера миноритарного.

### Какие форматы файлов поддерживаются?

Вы можете вставить сырой текст CSV или загрузить файлы с расширениями .csv и .json размером до 20 МБ.

### Зачем нужно балансировать датасет?

Если один класс доминирует, модель машинного обучения может начать игнорировать редкие классы, всегда предсказывая мажоритарный. Балансировка помогает повысить точность предсказаний для меньшинства.

### Как получить результаты ресемплинга?

Инструмент генерирует предпросмотр сбалансированных данных в формате JSON или CSV. Количество отображаемых строк настраивается параметром Preview Rows.

### Поддерживает ли инструмент генерацию синтетических данных (например, SMOTE)?

Нет, данный инструмент использует базовые методы случайного дублирования и усечения существующих строк. Он помогает быстро оценить дисбаланс и решить, нужен ли SMOTE на следующих этапах.

## Связанные инструменты

- [Детектор аномалий временных рядов](https://elysiatools.com/ru/tools/time-series-anomaly-detector): Загружает временной ряд в CSV или JSON, находит аномалии по Z-Score и IQR и возвращает отчет с графиком
- [Профилировщик качества датасетов](https://elysiatools.com/ru/tools/dataset-quality-profiler): Строит профиль качества CSV или JSON, выявляя пропуски, дубли, дрейф форматов и выбросы.
- [Детектор конфликтов префиксов и сокращений в mock-данных](https://elysiatools.com/ru/tools/mock-data-naming-conflict-detector): Находит визуально похожие имена полей и конфликтующие префиксы в CSV, JSON или схемах
- [Анализатор прогноза и сезонности](https://elysiatools.com/ru/tools/time-series-forecast-seasonality-analyzer): Строит прогноз по CSV или JSON временным рядам и показывает тренд, сезонность и остатки в одном отчете
- [Разделение train/test со стратификацией](https://elysiatools.com/ru/tools/train-test-split-with-stratification): Читает датасет CSV/JSON и делит на train/validation/test со стратификацией по целевому столбцу (по умолчанию 70/15/15, воспроизводимое зерно) или стратифицированный k-fold; отчёт о распределении классов по сплитам с полосами отклонения, проверка утечек через дубликаты строк, предпросмотр SMOTE (интерполяция ближайших соседей на train) и экспорт CSV в ZIP.
- [Визуализатор JSON Path](https://elysiatools.com/ru/tools/json-path-visualizer): Показывает JSON или JSONL в виде раскрывающегося дерева и позволяет копировать JSONPath для каждого узла
- [Планировщик миграции CSV в базу данных](https://elysiatools.com/ru/tools/csv-to-database-migration-planner): Выводит реляционную схему из CSV и генерирует CREATE TABLE и ALTER для PostgreSQL, MySQL, SQLite или SQL Server
- [Анализатор структурированных логов](https://elysiatools.com/ru/tools/structured-log-analyzer): Определяет распространенные форматы логов, извлекает ключевые поля и выводит JSON, CSV или SQL.

## Примеры

- [CSV Примеры](https://elysiatools.com/ru/samples/csv-samples): Примеры CSV-файлов с различными типами данных, размерами и уровнями сложности
- [Примеры Python](https://elysiatools.com/ru/samples/python): Примеры кода Python и демонстрации Hello World
- [Примеры Распределенного Трейсинга](https://elysiatools.com/ru/samples/distributed-tracing-samples): Комплексные примеры распределенного трейсинга с использованием Jaeger, OpenTelemetry и современных инструментов
- [Примеры JWT](https://elysiatools.com/ru/samples/jwt-samples): Полные примеры JWT от базовой структуры токенов до продвинутых реализаций безопасности
