Рассмотрим, простой метод получения разницы в двух датафреймах. Он идеально подойдет, когда надо убедиться в правильности примененных к таблице преобразований. Создадим демонстрационный датасет:
Функциональная трансформация поможет быстро создать преобразование колонок для пайплайна без сохранения состояния (создание других описывал здесь). Эта возможность реализована в классе FunctionTransformer из модуля sklearn.preprocessing. Например, это могут быть преобразования для создания цикличных признаков (из месяца, часа как здесь) или для извлечения слов из текста, его длины или других характеристик. Создадим демонстрационный набор из температур по месяцам и сделаем из месяца цикличный признак с помощью функционального трансформера:
Рассмотрим возможности инструмента missingno для изучения пропусков в датафрейме. Сначала сгенерируем тренировочный датасет:
Жизнь любого человека — зеркальное отражение его представлений о ней (Макс Фрай). Очень распространенной табличной операцией является отображение значений колонки по некоторому словарю. Рассмотрим основные способы и их специфику.
Оттого что мысли мои не облекаются в слова, чаще всего они остаются хлопьями тумана. Они принимают смутные, причудливые формы, набегают одна на другую, и я тотчас их забываю (Жан-Поль Сартр). Разберем ключевые свойства sklearn пайплайна (pipeline) и приемы их модификации. Сначала создадим демонстрационный датафрейм:
Раскрываемый в статье метод более универсален, чем другие, так как позволяется вычислять взаимосвязи между различными типами признаков (категориальными, непрерывными и их комбинациями), в нем используются передовые статистические методики и его легко применить с библиотекой phik.
Осознанность — это восприятие всех деталей происходящего по отдельности и в целом. Когда ты переживаешь их, видишь, понимаешь суть и взаимосвязи (Ольга Нестерова). Самым распространенным способом определения зависимости между признаками является корреляция Пирсона, но она обладает рядом особенностей, в том числе не устойчива к выбросам. В демонстрационных целях рассмотрим корреляцию для двух датафреймов, в которых отличаются только последние строки (используем метод corr, в котором по умолчанию применяется способ Пирсона - method='pearson'):
Причина моего провала очевидна: я мало тренировался. И кроме того, я мало тренировался. И еще — я мало тренировался. Это если так, вкратце (Харуки Мураками). Во многих библиотеках машинного обучения есть встроенные способы загрузки наборов данных. В силу того, что scikit-learn является де-факто стандартом для разработки моделей, она обладает богатым инструментарием для этого. Он компактно сконцентрирован в модуле sklearn.datasets и для его первичного обзора проще всего воспользоваться функцией dir:
В большинстве случаев аналитики данных используют способ выборки колонок по типам через атрибут dtypes Pandas датафрейма. В то же время данный способ имеет подводные камни:
Стандартным приемом для определения взаимосвязи между числовыми колонками является вычисление коэффициента корреляции Пирсона, однако с категориальными данными такой финт не пройдет, так как они, как правило, не упорядочены (читай тут). Рассмотрим способ, который можно использовать. Сначала сгенерируем тестовый набор данных, о присутствии автомобилей разных марок в заданных локациях: