Skip to content

Alexei217/data-preprocessor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DataPreprocessor - Предобработка табличных данных

Тестовое задание для Северсталь

Класс DataPreprocessor выполняет базовые операции по очистке и трансформации табличных данных в формате pandas DataFrame: удаление и заполнение пропусков, кодирование категориальных признаков, нормализация числовых столбцов.

Основные возможности

1. Обработка пропусков (remove_missing)

Очистка данных от NaN значений:

  • Удаление столбцов: Если доля пропусков превышает заданный порог (threshold).
  • Заполнение пропусков:
    • Для числовых данных: стратегии 'mean', 'median', 'mode'.
    • Для категориальных/строковых данных: всегда используется 'mode', независимо от выбранной стратегии.

2. Кодирование категорий (encode_categorical)

Автоматическое преобразование строковых признаков (object, category) в числовой вид методом One-Hot Encoding.

3. Нормализация данных (normalize_numeric)

Приведение числовых признаков к единому масштабу.

  • Методы:
    • 'minmax' - масштабирование в диапазон [0, 1].
    • 'std' - Z-score стандартизация (используется ddof=0).
  • Бинарные столбцы, полученные после One-Hot Encoding, автоматически исключаются из нормализации, чтобы сохранить их интерпретируемость.

4. Pipeline подход (fit_transform & transform)

Класс реализует интерфейс, схожий с scikit-learn:

  • fit_transform() - вычисляет статистики на обучающей выборке и преобразует её.
  • transform() - применяет те же самые параметры (сохраненные в PipelineState) к новым данным.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors