Data Science ML

df.describe() – описательные статистики – важные нюансы

На основании вывода команды train_data.describe().T (транспонированного описания числовых столбцов) можно сделать ключевые выводы о распределении, масштабе и наличии аномалий в данных.

Выводы о данных по describe().T

Команда describe() по умолчанию вычисляет описательные статистики только для числовых столбцов (count, mean, std, min, 25%, 50% (медиана), 75%, max). Транспонирование (.T) делает столбцы признаками, а статистики — строками, что удобнее для просмотра.

СтатистикаЧто показываетКлючевые выводы
countКоличество непустых значений в столбце.Показывает, есть ли пропущенные значения (если count меньше, чем общее число строк в train_data).
meanСреднее арифметическое.Показывает центр распределения.
stdСтандартное отклонение.Показывает разброс данных относительно среднего. Большое значение std относительно mean может указывать на высокую вариативность или выбросы.
min / maxМинимальное и максимальное значения.Показывают диапазон данных. Полезно для поиска очевидных аномалий (например, возраст -1 или цена 99999999).
25%, 50% (медиана), 75%Квартили.Показывают форму распределения и помогают оценить наличие выбросов и скошенность.

Столбцы, которым стоит уделить особое внимание

Особое внимание следует уделить столбцам, демонстрирующим следующие характеристики:

  • Пропущенные значения: Любой столбец, где count меньше, чем общее количество строк в датасете. Эти столбцы требуют обработки пропусков (заполнение, удаление).
describe = train_data.describe().T
# Числовые данные с пропусками
describe[describe['count'] < len(train_data)]
  • Высокое стандартное отклонение (std): Столбцы, где std >> mean. Это указывает на очень широкий разброс данных и, возможно, наличие выбросов.
  • Большой разрыв между медианой (50%) и средним (mean): Это свидетельствует о скошенности (skewness) распределения, часто из-за наличия выбросов в “хвосте” (например, доход или цена). Как оценить асимметрию/скошенность данных.
    • Если mean > median, распределение скошено вправо (положительно скошено, как цены на недвижимость).
    • Если mean < median, распределение скошено влево.
  • Существенный разрыв между 75% и max: Если максимальное значение в разы превышает 75-й перцентиль, это сигнал о потенциальных выбросах.
  • Минимальные/Максимальные аномалии: Столбцы, где min близок к нулю или равен ему (если это не логично для признака), или max имеет нереально большое значение (например, цена за 1 млн. долларов, если средняя цена 50 тыс.).

Что должно сразу насторожить

Самые критичные моменты, требующие немедленного внимания:

  1. Пропущенные значения (Nulls/NaNs): Признак, где count заметно ниже общего числа строк, должен быть обработан.
  2. Невозможные значения:
    • Отрицательные значения для признаков, которые должны быть неотрицательными (например, возраст, цена, количество).
    • Значения 0 там, где это нелогично (например, нулевая площадь дома).
  3. Потенциальные выбросы (Outliers): Столбцы с огромной разницей между max и 75% квартилем, или между min и 25% квартилем. Выбросы могут сильно искажать модели машинного обучения.
  4. Нулевое или очень малое стандартное отклонение (std): Если std ~ 0, это означает, что столбец содержит практически одинаковые значения для всех записей (низкая дисперсия). Такой признак, скорее всего, не имеет прогностической ценности и может быть удален.
Tags
Вставить формулу как
Блок
Строка
Дополнительные настройки
Цвет формулы
Цвет текста
#333333
Используйте LaTeX для набора формулы
Предпросмотр
\({}\)
Формула не набрана
Вставить