Как стать автором
Обновить
0
Мухамеджанов Амир @Atrukread⁠-⁠only

Аналитик

Отправить сообщение

LLM-чатбот в основе консьерж-сервиса

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров2.2K

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

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

Читать далее

Автоматизируем поиск ценной информации в групповых чатах Telegram с помощью LLM

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров17K

Устали мониторить бесконечные групповые чаты в Telegram в поисках важной информации? Решение есть! Пишем компактное приложение на Python, которое будет делать это за нас с использованием LLM.

Читать далее

Интерпретация моделей и диагностика сдвига данных: LIME, SHAP и Shapley Flow

Время на прочтение38 мин
Количество просмотров34K

В этом обзоре мы рассмотрим, как методы LIME и SHAP позволяют объяснять предсказания моделей машинного обучения, выявлять проблемы сдвига и утечки данных, осуществлять мониторинг работы модели в production и искать группы примеров, предсказания на которых объясняются схожим образом.

Также поговорим о проблемах метода SHAP и его дальнейшем развитии в виде метода Shapley Flow, объединяющего интерпретацию модели и многообразия данных.

Читать далее

VotingClassifier в sсikit-learn: построение и оптимизация ансамбля моделей классификации

Время на прочтение6 мин
Количество просмотров10K
В рамках реализации большой задачи по Sentiment Analysis (анализ отзывов) я решил уделить некоторое время дополнительному изучению её отдельного элемента — использованию VotingClassifier из модуля sklearn.ensemble как инструмента для построения ансамбля моделей классификации и повышению итогового качества предсказаний. Почему это важно и какие есть нюансы?
Читать дальше →

Краткий справочник по «всем-всем» командам Linux

Уровень сложностиСредний
Время на прочтение80 мин
Количество просмотров188K

Периодически меня на начальном курсе просят дать "список всех-всех команд с кратким описанием что делает"... Ну прям "всех-всех". И ведь если искать в интернете "такие" справочники существуют - либо про "20-30 команд, но самых важных", либо с неточностями и устаревшей информацией. Так что предлагаю вашему вниманию свою версию такого "краткого" справочника (на 300, 515, 612, 716, 842, 1005, 1171 команд) с ссылками на wiki-описание и на cheat.sh-примеры наиболее важных команд.

Справочник по всем-всем командам LINUX

Шпаргалка с командами для Windows, Linux и macOS (Терминал, VirtualEnv и Git)

Время на прочтение3 мин
Количество просмотров24K

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

В ней вы найдете основные команды для работы в терминале Windows, Linux и macOS. Также описаны базовые команды по работе с VirtualEnv и Git.

Смотреть команды

Оценка чат-ботов LLM: основные метрики и методы тестирования

Время на прочтение9 мин
Количество просмотров1.1K

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

В этой статье вы узнаете:

* Разницу между оценкой LLM-чат-ботов и стандартной оценкой LLM

* Различные подходы к оценке LLM-диалогов

* Различные типы метрик для оценки LLM-чат-ботов

* Как реализовать оценку LLM-диалогов в коде с использованием DeepEval

Читать далее

Основы очистки данных в data science

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров3.4K

В реальной жизни данные, к сожалению, не идеальны и требуют тщательной предобработки. Проблемы с данными могут возникать по разным причинам: из-за их природы, способа сбора или ошибок при вводе.

Очистка данных позволит сделать анализ более точным, а в случае машинного обучения — улучшить качество моделей.

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

Все примеры мы будем рассматривать на Ames Housing Dataset, который содержит информацию о продажах жилой недвижимости в городе Эймс, штат Айова, США

Читать далее

Создание алгоритма для мультиагентной системы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.6K

Интеллектуальный агент — это элемент в системе, выполняющий задачи, стоящие перед ним. Агент обладает следующими свойствами: активность, автономность, целенаправленность.

Существует 2 вида структуры агента: гетерогенное и гомогенное. Гомогенные агенты сконструированы идентично, то есть особо не отличаются друг от друга. А гетерогенный вид означает, что агенты отличаются друг от друга.

Также существует 2 вида среды: детермированная и недетермированная. В детермированной среде нет никакой случайности, то есть всегда выполнение действий будет приводить к одному и тому же результату. А недетермированная среда характеризуется непредсказумостью.

Существует 2 основных подхода управления роботами: централизованная и децентрализированная. Централизованная система означает, что есть один какой‑то агент, который руководит всем. А децентрализованная противоположна централизованной, то есть каждый агент действует независимо.

Мультиагентная система (МАС) — это система, состоящая из нескольких интеллектуальных агентов. Например, муравейник, он состоит из множества агентов, муравьев.

Актуальность: Мультиагентная система, в отличие от других методов, характеризуется высокой производительностью, быстротой решения поставленных задач и гибкостью.

Цель работы — Создание математической модели и алгоритма для роботизированной системы. Задачи:

Читать далее

Открытые книги по ML и работе с данными

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров9.4K

Мы регулярно публикуем подборки литературы для специалистов: делали дайджест книг для желающих поближе познакомиться с Postgres и Kubernetes. Сегодня на очереди справочники и пособия по машинному обучению, которые можно найти в открытом доступе. Эти материалы помогут погрузиться в ML, разобраться в базовых математических концепциях, понять тренды опенсорсных технологий для систем ИИ и перейти к работе с ML-платформой.

Читать далее

Полезные методы работы с данными в Pandas. Часть 2

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров17K

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

Я продолжаю рассказывать о полезных, но менее известных методах работы с данными в Pandas, которые могут значительно повысить вашу эффективность при анализе и обработке данных. По данной ссылке вы можете прочитать первую статью.

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

Читать далее

Повышаем интерпретируемость SHAP-графиков

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7K

Привет, Хабр! В моей работе часто возникают задачи на исследование влияния факторов, на которые мы можем оказывать продуктовое влияние, на целевые метрики сообществ ВКонтакте. Один из возможных способов решения подобных задач — обучение ML‑моделей и последующий анализ значимости признаков в них. Базовым подходом видится использование графиков из библиотеки shap. Однако наиболее популярным является summary_plot, хотя он и повышает интерпретируемость модели, но отвечает не на все возникающие вопросы.

Меня зовут Сергей Королёв, я продуктовый аналитик в бизнес‑юните СМБ в VK, занимаюсь улучшением опыта предпринимателей на нашей платформе. В этой статье я представлю свое решение по кастомизации shap.dependence_plot для простого восприятия графиков влияния факторов на целевую метрику.

Читать далее

Что внутри черного ящика: понимаем работу ML-модели с помощью SHAP

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров17K

Значения Шепли применяются в экономике, а точнее — в теории кооперативных игр. Такие значения назначаются игрокам сообразно их вкладу в игру. В сфере машинного обучения идея использования значений Шепли нашла отражение во фреймворке SHAP (SHapley Additive exPlanations). Он представляет собой эффективный инструмент для интерпретации механизмов функционирования моделей.

Если вам интересны подробности о значениях Шепли — очень рекомендую обратиться к моей предыдущей статье, посвящённой математическим и интуитивным представлениям, раскрывающим смысл этих значений. И хотя в машинном обучении эти значения применяются по‑особенному, понимание базовых принципов, на которых они основаны, может оказаться полезным.

Использование значений Шепли во фреймворке SHAP напоминает их классическое применение тем, что они отражают индивидуальное влияние признаков на «игру» (другими словами — на модель машинного обучения). Но модели машинного обучения — это «игры», где нет «кооперирования» игроков, то есть — признаки не обязательно взаимодействуют друг с другом, как это происходило бы, будь они игроками в кооперативной игре. Вместо этого каждый из признаков вносит независимый вклад в результаты работы модели. Хотя тут может быть использована формула для нахождения значений Шепли, соответствующие вычисления могут оказаться слишком «тяжёлыми» и неточными. Это так из‑за большого количества «игроков» и из‑за того, что они могут объединяться в «союзы». Для того чтобы решить эту проблему, исследователи разработали альтернативные подходы. Среди них — метод Монте‑Карло и ядерные методы. В этом материале мы будем заниматься методом Монте‑Карло.

Читать далее

LIME и SHAP

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров7.6K

Модели МО часто сравнивают с "черными ящиками" из-за их неспособности ясно объяснить свои решения. Проблема "черного ящика" возникает, когда внутренняя работа модели настолько сложна или неясна, что даже ее создатели не могут точно понять, как был получен тот или иной результат. Это создает серьезные проблемы, особенно в ситуациях, требующих строгой подотчетности и прозрачности.

Методы к LIME (Local Interpretable Model-agnostic Explanations) и SHAP (SHapley Additive exPlanations), позволяют получить понимание решений, принятых сложными моделями.

Читать далее

Интерпретируемая модель машинного обучения. Часть 2

Время на прочтение4 мин
Количество просмотров14K
Всем привет. Считанные дни остаются до старта курса «Machine Learning». В преддверии начала занятий мы подготовили полезный перевод, который будет интересен как нашим студентам, так и всем читателям блога. И сегодня делимся с вами завершающей частью данного перевода.





Partial Dependence Plots


Partial Dependence Plots (графики частичной зависимости или же PDP, PD-графики) показывают незначительное влияние одного или двух признаков на прогнозируемый результат модели машинного обучения ( J. H. Friedman 2001 ). PDP может показать связь между целью и выбранными признаками с помощью 1D или 2D графиков.
Читать дальше →

Интерпретируемая модель машинного обучения. Часть 1

Время на прочтение4 мин
Количество просмотров17K
Всем привет. До старта курса «Machine Learning» остается чуть больше недели. В преддверии начала занятий мы подготовили полезный перевод, который будет интересен как нашим студентам, так и всем читателям блога. Начнем.




Пора избавиться от черных ящиков и укрепить веру в машинное обучение!

В своей книге “Interpretable Machine Learning” Кристоф Мольнар прекрасно выделяет суть интерпретируемости Машинного Обучения с помощью следующего примера: Представьте, что вы эксперт Data Science, и в свободное время пытаетесь спрогнозировать куда ваши друзья отправятся в отпуск летом, основываясь на их данных из facebook и twitter. Итак, если прогноз окажется верным, то ваши друзья будут считать вас волшебником, который может видеть будущее. Если прогнозы будут неверны, то это не принесет вреда ничему, кроме вашей репутации аналитика. Теперь представим, что это был не просто забавный проект, а к нему были привлечены инвестиции. Скажем, вы хотели инвестировать в недвижимость, где ваши друзья, вероятно, будут отдыхать. Что произойдёт, если предсказания модели будут неудачными? Вы потеряете деньги. Пока модель не оказывает существенного влияния, ее интерпретируемость не имеет большого значения, но когда есть финансовые или социальные последствия, связанные с предсказаниями модели, ее интерпретируемость приобретает совершенно другое значение.
Читать дальше →

Фундаментальная математика — теория всего в IT и не только. Теория типов и формализация в Coq

Время на прочтение38 мин
Количество просмотров12K

У нас есть 3 "теории всего" - научная картина мира (все сводится к законам физики), информатика (все сводится к битам) и фундамент математики (все сводится к логике). Именно фундамент математики представляет особый интерес, так как он является фундаментом для двух других фундаментов и имеет глубокий философский смысл. Последние 2 года я сильно им увлекся и проделал довольно большую работу по углубленному изучению теории типов (Calculus of Constructions), и готов поделиться результатами, а также рассказать о девяти направлениях, где можно применить это на практике. Очень многое получилось лучше, чем я планировал. Изначально перспективы были не очень понятными, и поэтому я не рассказывал друзьям и коллегам про мою работу в этом направлении и называл это «Секретный Проект». Но теперь, когда многое прояснилось и получилось, можно поделиться успехом. Собственно, в этой статье я расскажу вам не только про сам фундамент математики, а еще его связь с ежедневной работой программиста, а также с Computer Science/Data Science и AI/ML. Я вам нарисую большую и красивую картину, на которой все понятно и логически следует из маленького набора правил выведений типов (11 штук) и аксиом теории множеств (9 штук).

У нас есть 3 фундамента математики — теория множеств (удобна для человека), теория типов (удобна для компьютера) и теория категорий (не знаю, зачем она вообще нужна). Они примерно одинаковой мощности и одну можно выразить внутри другой. Особый интерс представляет именно теория типов, тк ее довольно легко можно запрограммировать внутри компьютера и использовать как строгий фундамент для других теорий, который не дает совершить ошибку и проверяет каждое ваше действие.

Читать далее

Все, что вам нужно знать об Airflow DAGs, ч.3 — Проектирование DAG

Время на прочтение9 мин
Количество просмотров17K

Поскольку Airflow — это на 100% код, знание основ Python - это все, что нужно, чтобы начать писать DAG. Однако написание эффективных, безопасных и масштабируемых DAG требует учета некоторых моментов, специфичных для Airflow. В этом разделе мы рассмотрим некоторые передовые методы разработки DAG, которые максимально используют возможности Airflow.

В целом, большинство лучших практик, которые мы здесь рассматриваем, относятся к одной из двух категорий:

Читать далее

Все, что вам нужно знать об Airflow DAGs, ч.2 — Операторы и Датчики

Время на прочтение15 мин
Количество просмотров35K

Операторы являются основными строительными блоками DAG Airflow. Это классы, которые содержат логику выполнения единичной работы.

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

Чтобы просмотреть и выполнить поиск по всем доступным операторам в Airflow, посетите Astronomer Registry. Ниже приведены примеры операторов, которые часто используются в проектах Airflow.

Читать далее

Все, что вам нужно знать об Airflow DAGs, ч.1 — Основы и расписания

Время на прочтение20 мин
Количество просмотров92K

Полное руководство по созданию DAG в Apache Airflow DAG, позволяющих создать конвейер данных из разных источников, запускаемый в определенные периоды времени с заданной логикой. Первая часть. Источник: DAGs: The Definitive Guide от astronomer.io

Добро пожаловать в полное руководство по Apache Airflow DAG, представленное командой Astronomer. Эта электронная книга охватывает все, что вам нужно знать для работы с DAG, от строительных блоков, из которых они состоят, до рекомендаций по их написанию, динамической генерации, тестированию, отладке и многому другому. Это руководство, написанное практикующими для практикующих.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Казань, Татарстан, Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Data Analyst, Data Scientist
Python
SQL
Git