На основании вывода команды 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 тыс.).
Что должно сразу насторожить
Самые критичные моменты, требующие немедленного внимания:
- Пропущенные значения (Nulls/NaNs): Признак, где
countзаметно ниже общего числа строк, должен быть обработан. - Невозможные значения:
- Отрицательные значения для признаков, которые должны быть неотрицательными (например, возраст, цена, количество).
- Значения 0 там, где это нелогично (например, нулевая площадь дома).
- Потенциальные выбросы (Outliers): Столбцы с огромной разницей между max и 75% квартилем, или между min и 25% квартилем. Выбросы могут сильно искажать модели машинного обучения.
- Нулевое или очень малое стандартное отклонение (
std): Если std ~ 0, это означает, что столбец содержит практически одинаковые значения для всех записей (низкая дисперсия). Такой признак, скорее всего, не имеет прогностической ценности и может быть удален.