Skip to content

Project to clean a dataset with apartment info in Moscow regon.

Notifications You must be signed in to change notification settings

shohart/DataCleaning-Sberdata-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Очистка данных на Python

Очистка данных

Оглавление

  1. Описание проекта
  2. Описание данных
  3. Зависимости
  4. Установка проекта
  5. Использование проекта
  6. Авторы
  7. Выводы

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

Очистка данных (data cleaning) – это процесс обнаружения и удаления (или исправления) поврежденных, ложных или неинформативных записей таблицы или целой базы данных. Процесс состоит из двух этапов: поиск и ликвидация (или редактирование).

Основные этапы очистки данных:

  • Работа с пропущенными значениями.
  • Очистка данных от пропусков.
  • Удаление признаков и записей, которые не несут полезной информации.

Цель очистки данных — избавиться от «мусора», который может помешать моделированию или исказить его результаты. Во многих задачах очистка данных — это самая главная часть этапа подготовки данных к построению модели, которая нередко занимает большую часть времени работы над задачей.

Рассмотрим пример того, как «мусор» может влиять на результат. На графиках ниже представлены две диаграммы рассеяния и две одинаковые линейные модели (прямые, которые пытаются повторить данные). На левом графике модель построена на «грязных» данных, содержащих аномалии, а на правом модель обучена на очищенных данных.

Пример влияния выбросов

Данный проект направлен на демонстрацию применения различных методов очистки данных на каждом из ее этапов на примере датасета о квартирах в Москве от Сбербанка.

О структуре проекта:

  • data - папка с исходными табличными данными
  • images - папка с изображениями, необходимыми для проекта
  • outliers_lib - папка со вспомогательными модулями для обработки выбросов
  • data_cleaning_example.ipynb - jupyter-ноутбук, содержащий основной код проекта, в котором демонстрируются методы и подходы решения задач очистки данных

Описание данных

В этом проекте используются данные с соревнования Sberbank Russian Housing Market от Сбера (бывш. Сбербанк).

Требования Сбера состояли в построении модели, которая бы прогнозировала цены на жильё в Москве, опираясь на параметры самого жилья, а также состояние экономики и финансового сектора в стране.

Исходный датасет представляет собой набор данных из таблицы с информацией о параметрах жилья в Москве и Московской области, а также таблицы, в которой содержатся 292 признака о состоянии экономики России на момент продажи недвижимости.

Для упрощения демонстрации техники очистки данных мы будем отрабатывать на урезанном датасете. Он содержит информацию о 61 признаке, описывающих жилье. Файл с данными можно найти здесь.

Используемые зависимости

Установка проекта

git clone https://github.com/SkillfactoryDS/DataCleaningProject

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

Вся информация о работе представлена в jupyter-ноутбуке data_cleaning_example.ipynb.

Авторы

Выводы

В проекте рассмотрены базовые способы очистки данных от выбросов, мало информативных признаков и дубликатов. Было обратно выявлено, что выбор метода очистки данных должен зависеть от поставленной задачи и характеристики данных. Например, метод удаления выбросов будет неэффективен, если выбросы являются важной частью данных.

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