
В современных rag системах центральным инструментом являются ретриверы - объекты, которые отвечают за поиск близкой к запросу информации (контекста). Одним из них является BM25Retriever, основанный на частоте встречаемости. В отличие от аналогов, использующих векторные представления, он полагается на точные совпадение единиц, на которые разбит текст (токенов).
Рассмотрим, простой метод получения разницы в двух датафреймах. Он идеально подойдет, когда надо убедиться в правильности примененных к таблице преобразований. Создадим демонстрационный датасет:

Функциональная трансформация поможет быстро создать преобразование колонок для пайплайна без сохранения состояния (создание других описывал здесь). Эта возможность реализована в классе FunctionTransformer из модуля sklearn.preprocessing. Например, это могут быть преобразования для создания цикличных признаков (из месяца, часа как здесь) или для извлечения слов из текста, его длины или других характеристик. Создадим демонстрационный набор из температур по месяцам и сделаем из месяца цикличный признак с помощью функционального трансформера:

Рассмотрим возможности инструмента missingno для изучения пропусков в датафрейме. Сначала сгенерируем тренировочный датасет:

Жизнь любого человека — зеркальное отражение его представлений о ней (Макс Фрай). Очень распространенной табличной операцией является отображение значений колонки по некоторому словарю. Рассмотрим основные способы и их специфику.

Оттого что мысли мои не облекаются в слова, чаще всего они остаются хлопьями тумана. Они принимают смутные, причудливые формы, набегают одна на другую, и я тотчас их забываю (Жан-Поль Сартр). Разберем ключевые свойства sklearn пайплайна (pipeline) и приемы их модификации. Сначала создадим демонстрационный датафрейм:

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

Осознанность — это восприятие всех деталей происходящего по отдельности и в целом. Когда ты переживаешь их, видишь, понимаешь суть и взаимосвязи (Ольга Нестерова). Самым распространенным способом определения зависимости между признаками является корреляция Пирсона, но она обладает рядом особенностей, в том числе не устойчива к выбросам. В демонстрационных целях рассмотрим корреляцию для двух датафреймов, в которых отличаются только последние строки (используем метод corr, в котором по умолчанию применяется способ Пирсона - method='pearson'):

Причина моего провала очевидна: я мало тренировался. И кроме того, я мало тренировался. И еще — я мало тренировался. Это если так, вкратце (Харуки Мураками). Во многих библиотеках машинного обучения есть встроенные способы загрузки наборов данных. В силу того, что scikit-learn является де-факто стандартом для разработки моделей, она обладает богатым инструментарием для этого. Он компактно сконцентрирован в модуле sklearn.datasets и для его первичного обзора проще всего воспользоваться функцией dir:

В большинстве случаев аналитики данных используют способ выборки колонок по типам через атрибут dtypes Pandas датафрейма. В то же время данный способ имеет подводные камни: