Пятница плавно подошла к своему вечеру😎
Люблю когда всё ОК....
Люблю когда всё ОК....
👌2🍾1
Навеяно просмотром фильма Человек, который изменил всё 📺
Хороший однако фильм и посвящен отчасти нашим data-делам.
В общем рекомендую к просмотру, ну и знать статистику тоже рекомендую😉
#mem
Хороший однако фильм и посвящен отчасти нашим data-делам.
В общем рекомендую к просмотру, ну и знать статистику тоже рекомендую😉
#mem
👍3😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Кажется, я нашел, на что еще можно смотреть бесконечно😍
Вот что бывает, когда есть умелые руки и современные технологии:
- Python
- raspberry pi
- шепотка DeepLearning (хотя там может просто библиотека OpenCV)
🐔🐔🐔
https://pikabu.ru/story/turel_protiv_kur_9528819?utm_source=linkshare&utm_medium=sharing
#video #почтимем
Вот что бывает, когда есть умелые руки и современные технологии:
- Python
- raspberry pi
- шепотка DeepLearning (хотя там может просто библиотека OpenCV)
🐔🐔🐔
https://pikabu.ru/story/turel_protiv_kur_9528819?utm_source=linkshare&utm_medium=sharing
#video #почтимем
Пикабу
Турель против кур
Пост пикабушника numbra в сообществе Видеохостинг на Пикабу
Черный лебедь🦢
Недавно со мной произошла поучительная история.
Обсуждая рабочие задачи, коснулись изменения одного из параметров: пока коллеги продолжили обсуждение (оно строилось вокруг гипотезы - параметр измеряется редко, до единиц раз в неделю).
Чтобы обсуждение не ушло далеко, я решил бегло просмотреть данные и понять так ли это. Немного контекста: данные находятся в контуре заказчика, до которого надо пройти небольшие круги ада с VPN + RDS —> то есть не самый приятный и удобный способ посмотреть данные.
Данные просмотрены 👀, говорю коллегам: Параметр изменяется реже 1 раза в неделю, дискуссия прерывается, конфа заканчиватся.
Но сомнения от быстрого просмотра не дали мне покоя, пошел писать SQL для подсчета кол-ва изменений по недельно. Результат ☝️ на картинке: При крайне низкой вероятности 1 изменения в неделю я показаательно попал в эту цифру (это несомненно успешный успех)🙃
.
.
💡 Не делайте поспешных выводов из анализа на скорую руку
Недавно со мной произошла поучительная история.
Обсуждая рабочие задачи, коснулись изменения одного из параметров: пока коллеги продолжили обсуждение (оно строилось вокруг гипотезы - параметр измеряется редко, до единиц раз в неделю).
Чтобы обсуждение не ушло далеко, я решил бегло просмотреть данные и понять так ли это. Немного контекста: данные находятся в контуре заказчика, до которого надо пройти небольшие круги ада с VPN + RDS —> то есть не самый приятный и удобный способ посмотреть данные.
Данные просмотрены 👀, говорю коллегам: Параметр изменяется реже 1 раза в неделю, дискуссия прерывается, конфа заканчиватся.
Но сомнения от быстрого просмотра не дали мне покоя, пошел писать SQL для подсчета кол-ва изменений по недельно. Результат ☝️ на картинке: При крайне низкой вероятности 1 изменения в неделю я показаательно попал в эту цифру (это несомненно успешный успех)🙃
.
.
💡 Не делайте поспешных выводов из анализа на скорую руку
😁2
Неделя черных лебедей🦢
Последний месяц активно использую классный тул - SQLpad (ну почти "ай") для первичного анализа\проверки гипотез.
В кратце - ребята из Авито поняв, что известные клиенты нещадно плодят запросы к метаданным СУБД и приводят к деградации производительности, написали свой клиент - почитать тут.
Чем приглянулся мне: возможностью строить графики 📈 - набор не супер широкий, но для комфортного изучения данных более чем достаточно (иногда вам придется извернутся на SQL, но это отдельная история).
Лебединая песня: в конфиге нет отметки о том, что PostgreSQL поддерживается (текст на черном фоне), поэтому и живу с SQLite. Сегодня в очередной раз гулял по документации и увидел то, что в верхней рамке - а слона-то я и не заметил 🤨
Остаётся только проверить👀
Всем внимательности и мира🌎
Последний месяц активно использую классный тул - SQLpad (ну почти "ай") для первичного анализа\проверки гипотез.
В кратце - ребята из Авито поняв, что известные клиенты нещадно плодят запросы к метаданным СУБД и приводят к деградации производительности, написали свой клиент - почитать тут.
Чем приглянулся мне: возможностью строить графики 📈 - набор не супер широкий, но для комфортного изучения данных более чем достаточно (иногда вам придется извернутся на SQL, но это отдельная история).
Лебединая песня: в конфиге нет отметки о том, что PostgreSQL поддерживается (текст на черном фоне), поэтому и живу с SQLite. Сегодня в очередной раз гулял по документации и увидел то, что в верхней рамке - а слона-то я и не заметил 🤨
Остаётся только проверить👀
Всем внимательности и мира🌎
👍2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
☝️Привет, любителям SQL
Все знают, что ключевые слова (SELECT\FROM\HAVING\....) следует писать в UPPER CASE.
Самому запросу ни тепло ни холодно (лучше от этого он работать не станет), но человеческому глазу приятно и коллеги скажут спасибо. И вот вы в очередной раз исправляете все ключевые слова в трехэтажном запроса....😞
Нет, так делать не стоит. Облегчить себе жизнь можно просто настроив IDE. Я использую DBeaver: заходим в настройки, пара кликов мыши и вуаля -> смотрим в видео 🎥
А в целом вопрос форматирования SQL запросов всегда актуален, для этого рекомендую статью 📒
А вы форматируете, SQL?
Все знают, что ключевые слова (SELECT\FROM\HAVING\....) следует писать в UPPER CASE.
Самому запросу ни тепло ни холодно (лучше от этого он работать не станет), но человеческому глазу приятно и коллеги скажут спасибо. И вот вы в очередной раз исправляете все ключевые слова в трехэтажном запроса....😞
Нет, так делать не стоит. Облегчить себе жизнь можно просто настроив IDE. Я использую DBeaver: заходим в настройки, пара кликов мыши и вуаля -> смотрим в видео 🎥
А в целом вопрос форматирования SQL запросов всегда актуален, для этого рекомендую статью 📒
А вы форматируете, SQL?
👍5
А вот и мерч👕
По осени цыплят считают, а я принял участие в курсе ML System Design от сообщества ods.
Чуть позже расскажу, что было и чем всё закончилось, а пока красивая футболка.
По осени цыплят считают, а я принял участие в курсе ML System Design от сообщества ods.
Чуть позже расскажу, что было и чем всё закончилось, а пока красивая футболка.
👏4
ODS - ML System Design
.
Курс, посвященный проектированию ML систем с точки зрения софта, железа и бизнеса. Говоря проще: как жить дальше после получения обученной модельки.
.
Общее взаимодействие такое:
📍Участники выбирают какую-либо тему (например, бот рекомендаций игр, распознавание SQL, сервис сравнения цен и др)
📍Объединяются в команды
📍Слушают лекции, читают презентации и допматериал
📍🪚 Пилят свой проект в соответствии с полученными знаниями
🪣 Пытаются всеми правдами и неправдами дотащить проект допрода защиты
📍По пути могут разбираются в одной из выбранных тем (отличный прицип научился сам - научи других)
📍Презентуют проект
.
Восторженные крики, радость, мерч и вот это вот всё в конце😎
.
🍩Из приятных бонусов:
- поработать в команде
- получить новые знания\упорядочить старые
- собрать систему вместе
- получить отличный Design Doc
.
🏆Итог: 8 место среди всех проектов, сумевших дойти до конца (~40), отличная футболка и общее понимание устройства ML системы.
#ods #mlsystemdesign #part1
.
Курс, посвященный проектированию ML систем с точки зрения софта, железа и бизнеса. Говоря проще: как жить дальше после получения обученной модельки.
.
Общее взаимодействие такое:
📍Участники выбирают какую-либо тему (например, бот рекомендаций игр, распознавание SQL, сервис сравнения цен и др)
📍Объединяются в команды
📍Слушают лекции, читают презентации и допматериал
📍🪚 Пилят свой проект в соответствии с полученными знаниями
🪣 Пытаются всеми правдами и неправдами дотащить проект до
📍По пути могут разбираются в одной из выбранных тем (отличный прицип научился сам - научи других)
📍Презентуют проект
.
Восторженные крики, радость, мерч и вот это вот всё в конце😎
.
🍩Из приятных бонусов:
- поработать в команде
- получить новые знания\упорядочить старые
- собрать систему вместе
- получить отличный Design Doc
.
🏆Итог: 8 место среди всех проектов, сумевших дойти до конца (~40), отличная футболка и общее понимание устройства ML системы.
#ods #mlsystemdesign #part1
👍3🔥1
ODS - ML System Design 2️⃣
.
Чем занималась команда
.
Громкое название проекта - Voice Teacher - аудио анализ вашей речи с указанием слов филлеров, их процента и возможностью улучшения речи.
.
Удалось реализовать
- прием аудисообщений
- анализ на существование слов-филлеров
- отправка результата пользователю
.
Архитектура
- микросервисы:
- моделька - FastAPI
- база - FastAPI
- бот
- развернуто на YCloud
Для всего используется старый добрый Python🤟
.
Организация совместной работы
1. Кодовая база -
2. Общие идеи, тикеты, рисунки -
3. Документы -
4. Общение\обсуждение - чат Телеграмм, Zoom для онлайн обсуждений
.
#ods #mlsystemdesign #part2
.
Чем занималась команда
.
Громкое название проекта - Voice Teacher - аудио анализ вашей речи с указанием слов филлеров, их процента и возможностью улучшения речи.
.
Удалось реализовать
- прием аудисообщений
- анализ на существование слов-филлеров
- отправка результата пользователю
.
Архитектура
- микросервисы:
- моделька - FastAPI
- база - FastAPI
- бот
- развернуто на YCloud
Для всего используется старый добрый Python🤟
.
Организация совместной работы
1. Кодовая база -
github. Описаны правила создания веток (например, все исследовательские ветки именовались по шаблону exp-author_name-N)2. Общие идеи, тикеты, рисунки -
miro3. Документы -
Google Docs4. Общение\обсуждение - чат Телеграмм, Zoom для онлайн обсуждений
.
#ods #mlsystemdesign #part2
🔥1
ODS - ML System Design 3️⃣
.
Что не получилось
.
🔻не досмотрел все лекции - предновогодний декабрь не давал много времени на просмотр лекций - это будет наверстано
🔺выбранная тема для доклада - workflow фреймворк luigi (тот что разработал Spotify).
Предпочтения были такие:
- хотел про Airflow, но не успел, его уже заняли
- был куплен вводный курс, соответственно хотел и курс добить и оформить в виде статьи
Курс добить удалось, а статья не вышла - это и есть вторая недоделка по курсу ML System Design
.
🤞Торжественно обязуюсь досмотреть все лекции и написать статью про luigi.
.
Какие еще оркестраторы\workflow managers есть:
- prefect
- dagster (один из участников делал доклад)
- airflow
——————————————————-
Познакомится с задачами и инструментами Data Engineer на практике можно в водной части курса DE. А для тех, кто любит зависать в терминале, ковырятся в логах и перекладывать JSONы, можно рекомендовать пройти полностью курс. 😉
#mlsystemdesign #part3 #ods
.
Что не получилось
.
🔻не досмотрел все лекции - предновогодний декабрь не давал много времени на просмотр лекций - это будет наверстано
🔺выбранная тема для доклада - workflow фреймворк luigi (тот что разработал Spotify).
Предпочтения были такие:
- хотел про Airflow, но не успел, его уже заняли
- был куплен вводный курс, соответственно хотел и курс добить и оформить в виде статьи
Курс добить удалось, а статья не вышла - это и есть вторая недоделка по курсу ML System Design
.
🤞Торжественно обязуюсь досмотреть все лекции и написать статью про luigi.
.
Какие еще оркестраторы\workflow managers есть:
- prefect
- dagster (один из участников делал доклад)
- airflow
——————————————————-
Познакомится с задачами и инструментами Data Engineer на практике можно в водной части курса DE. А для тех, кто любит зависать в терминале, ковырятся в логах и перекладывать JSONы, можно рекомендовать пройти полностью курс. 😉
#mlsystemdesign #part3 #ods
👍1
⚪️ Снег КРУ(Г)Жится...
В самом начале был пост про круговые диаграммы.
.
Как бы не хотелось, но используют их чаще чем надо. Нашел интересную статью Why humans love pie charts.
.
Автор объясняет с двух сторон популярность кругов:
- история
- эволюция
.
Выходит так: круги просто не могли быть непопулярны😉
.
Приятного чтения📗
#pie #article
В самом начале был пост про круговые диаграммы.
.
Как бы не хотелось, но используют их чаще чем надо. Нашел интересную статью Why humans love pie charts.
.
Автор объясняет с двух сторон популярность кругов:
- история
- эволюция
.
Выходит так: круги просто не могли быть непопулярны😉
.
Приятного чтения📗
#pie #article
🎥 А чем вы планировали заниматься в выходные
.
Для тех кто давно хотел, но боялся спросить😉
.
В эту субботу, 4 марта в 20:00 (мск) консультант по карьере и релокации Диана https://amo.si/H/TXCU83/BMWVEX проводит вебинар на тему «Планирование релокации».
На вебинаре обсудят:
• как планировать релокацию (с чего начать, какую выбрать стратегию, как это всё включить в планирование, особенно, если вы на текущей работе очень заняты);
• какие бывают подводные камни и как их обойти
Для записи пишите в https://amo.si/H/OXQEF7/DBLH53 Вас запишут, ответят на вопросы и пришлют ссылку на вебинар.
Также рекомендую их телеграмм-канал, там каждый день что-то интересное: https://amo.si/H/Q49JUU/UBL4W3
#вебинар
.
Для тех кто давно хотел, но боялся спросить😉
.
В эту субботу, 4 марта в 20:00 (мск) консультант по карьере и релокации Диана https://amo.si/H/TXCU83/BMWVEX проводит вебинар на тему «Планирование релокации».
На вебинаре обсудят:
• как планировать релокацию (с чего начать, какую выбрать стратегию, как это всё включить в планирование, особенно, если вы на текущей работе очень заняты);
• какие бывают подводные камни и как их обойти
Для записи пишите в https://amo.si/H/OXQEF7/DBLH53 Вас запишут, ответят на вопросы и пришлют ссылку на вебинар.
Также рекомендую их телеграмм-канал, там каждый день что-то интересное: https://amo.si/H/Q49JUU/UBL4W3
#вебинар
🌚1
Когда хочется побыстрее🔥
.
Если вы строите графики по времени и вам хочется их получать быстрее, то вы можете использовать методы гистограмм:
-
-
- аналогичные другие
.
Да, это быстро и удобно, но на этом плюсы заканчиваются и начинаются ошибки. Чтобы их не совершать, подготовил colab, в котором рассмотрел:
- наличие ошибок при использовании методов гистограмм
- зависимость ошибок от данных и выбранных параметров графика по времени
.
Забирайте себе и стройте корректные графики😉
.
#hist #line #timeline #tutorial
.
Если вы строите графики по времени и вам хочется их получать быстрее, то вы можете использовать методы гистограмм:
-
plt.hist-
sns.histplot- аналогичные другие
.
Да, это быстро и удобно, но на этом плюсы заканчиваются и начинаются ошибки. Чтобы их не совершать, подготовил colab, в котором рассмотрел:
- наличие ошибок при использовании методов гистограмм
- зависимость ошибок от данных и выбранных параметров графика по времени
.
Забирайте себе и стройте корректные графики😉
.
#hist #line #timeline #tutorial
👍2
🔥It's a new release of sklearn
.
Если вы частенько работает в
.
- отфильтровать выбросы
- преобразовать шкалу
- преобразовать распределение
- сгенерировать новые признаки
- дискретизировать и тд.
.
Некоторые наиболее известные:
- StandardScaler - стандартизация
- PolynomialFeatures - создание полиномиальных комбинаций
.
Для таких задач в библиотеке есть широкий выбор средств для создания
- make_pipeline
- ColumnTransformer
.
Мы же любим когда данные лежат в пандах 🐼 - там всё удобно и человекочитаемо😍 Но когда начинаются игры с обработкой данных и подготовкой их к обучению моделей, то всё скатывается до массивов
.
Массивы
В одном из последних проектов приходилось страдать от этого😭
.
Но смотрите, что произошло после релиза 1.2. Разработчики подарили нам магию, немного изменим код:
Новинки:
-
-
.
Это лучшее нововведение в библиотеках анализа данных с которыми я работаю за последние несколько лет😉.
.
А для тех, кто много работает с моделями появилась классная фича - PartialDependenceDisplay - очень полезная, тк всем хочется узнать, как влияет одна отдельная фича на прогнозы модели
.
А какие вы можете вспомнить изменения, которые упростили вам анализ данных🤔
Еще больше узнать по кнопке👇
.
Если вы частенько работает в
sklearn, то вам точно понравятся нововведения, которые появились👇.
sklearn - библиотека методов и алгоритмов машинного обучения на Python. Для обучения моделей или использования некоторых методов (например, снижения размерности) данные необходимо подготовить:- отфильтровать выбросы
- преобразовать шкалу
- преобразовать распределение
- сгенерировать новые признаки
- дискретизировать и тд.
.
Некоторые наиболее известные:
- StandardScaler - стандартизация
- PolynomialFeatures - создание полиномиальных комбинаций
.
Для таких задач в библиотеке есть широкий выбор средств для создания
Pipeline, например: - make_pipeline
- ColumnTransformer
.
Мы же любим когда данные лежат в пандах 🐼 - там всё удобно и человекочитаемо😍 Но когда начинаются игры с обработкой данных и подготовкой их к обучению моделей, то всё скатывается до массивов
numpy, вот как это выглядело раньше:X, y = load_iris(as_frame=True, return_X_y=True)
sepal_cols = ["sepal length (cm)", "sepal width (cm)"]
petal_cols = ["petal length (cm)", "petal width (cm)"]
preprocessor = ColumnTransformer(
[
("scaler", StandardScaler(), sepal_cols),
("kbin", KBinsDiscretizer(encode="ordinal"), petal_cols),
("Poly", PolynomialFeatures(degree=2, include_bias=False), sepal_cols)
],
)
pipe = make_pipeline(preprocessor)
X_out = preprocessor.fit_transform(X)
print(type(X_out))
display(X_out[:5, :])
# результат будет на 1 рисунке в комментах
.
Массивы
numpy нетакие юзерфрендли, ладно когда мы не создаем новых фич, можно использовать наименования их исходных данных, но когда мы используем полиномиальные фичи, получаются колонки с названиями x0, x1^2 и тд - крайне неудобно.В одном из последних проектов приходилось страдать от этого😭
.
Но смотрите, что произошло после релиза 1.2. Разработчики подарили нам магию, немного изменим код:
X, y = load_iris(as_frame=True, return_X_y=True)
sepal_cols = ["sepal length (cm)", "sepal width (cm)"]
petal_cols = ["petal length (cm)", "petal width (cm)"]
preprocessor = ColumnTransformer(
[
("scaler", StandardScaler(), sepal_cols),
("kbin", KBinsDiscretizer(encode="ordinal"), petal_cols),
("Poly", PolynomialFeatures(degree=2, include_bias=False), sepal_cols)
],
verbose_feature_names_out=False,
).set_output(transform="pandas")
pipe = make_pipeline(preprocessor)
X_out = preprocessor.fit_transform(X)
X_out.sample(n=5, random_state=0)
Новинки:
-
verbose_feature_names_out=False - добавление префикса к названиям колонок, к какому трансформеру они относятся-
set_output(transform="pandas") - истинная магия 🧙♂️, да-да, теперь выход пайплайна будет DataFrame c человекочитаемыми признаками - 2 рисунок в комментах.
Это лучшее нововведение в библиотеках анализа данных с которыми я работаю за последние несколько лет😉.
.
А для тех, кто много работает с моделями появилась классная фича - PartialDependenceDisplay - очень полезная, тк всем хочется узнать, как влияет одна отдельная фича на прогнозы модели
.
А какие вы можете вспомнить изменения, которые упростили вам анализ данных🤔
Еще больше узнать по кнопке👇
❌ Про ошибки и не только
.
Навеяно статьей 10 первых ошибок в карьере ML-инженера. Богдан, автор статьи, был участником нашей команды в курсе ML System Design, хотя скорее ментором😉
.
Некоторые ошибки (хотя для себя я бы назвал это идеей или откровением🙃) откликнулись:
🔹Не ML единым. Модельки не панацея, особенно в сложных областях (медицина, металлургия), там где человек должен очень хорошо понимать, как принимаются решения. Задачу следует попробовать решать начиная с простых правил, чаще всего такие правила у заказчика уже есть - узнайте их, возможно, их стоит просто улучшить
🔹Не писать дизайн-док. В моей практике я бы расширил: не только дизайн-док, но и фиксировать summary после каждого значимого обсуждения. Как показывает практика, у заказчика может быть много проектов (его внимание рассеяно), заказчик может слабо понимать ML, поэтому фиксация договоренностей в начале (дизайн-док) и на промежуточных этапах - очень важна
🔹Говорить просто о сложном - всем надо тренироваться объяснять простым языком, людям нравится, когда они понимают вас
🔹Жить в Jupyter-тетрадках. Года 1.5 назад съехал с jupyter'a - нет, я конечно его использую, когда надо быстро что-то посмотреть, попробовать, но в остальное время пишу в IDE - тут мой фаворит
- повышается качество кода
- сразу привыкаешь структурировать код по модулям
- и кажется чувствуешь себя немножко круче😎
🔹Браться за любой проект. Тут можно взгрустнуть, да такое бывает, приходится браться за невыигрышные проекты, иногда даже с проведенным ресерчем. Боремся коллеги💪
.
Пишите какие ошибки проходили, а может есть что-то новенькое🙃
#error #article
.
Навеяно статьей 10 первых ошибок в карьере ML-инженера. Богдан, автор статьи, был участником нашей команды в курсе ML System Design, хотя скорее ментором😉
.
Некоторые ошибки (хотя для себя я бы назвал это идеей или откровением🙃) откликнулись:
🔹Не ML единым. Модельки не панацея, особенно в сложных областях (медицина, металлургия), там где человек должен очень хорошо понимать, как принимаются решения. Задачу следует попробовать решать начиная с простых правил, чаще всего такие правила у заказчика уже есть - узнайте их, возможно, их стоит просто улучшить
🔹Не писать дизайн-док. В моей практике я бы расширил: не только дизайн-док, но и фиксировать summary после каждого значимого обсуждения. Как показывает практика, у заказчика может быть много проектов (его внимание рассеяно), заказчик может слабо понимать ML, поэтому фиксация договоренностей в начале (дизайн-док) и на промежуточных этапах - очень важна
🔹Говорить просто о сложном - всем надо тренироваться объяснять простым языком, людям нравится, когда они понимают вас
🔹Жить в Jupyter-тетрадках. Года 1.5 назад съехал с jupyter'a - нет, я конечно его использую, когда надо быстро что-то посмотреть, попробовать, но в остальное время пишу в IDE - тут мой фаворит
PyCharm. Последние полгода использую профессиональную версию - тут сразу есть поддержка Jupyter - поэтому переключаться достаточно просто. Из опыта IDE извлек:- повышается качество кода
- сразу привыкаешь структурировать код по модулям
- и кажется чувствуешь себя немножко круче😎
🔹Браться за любой проект. Тут можно взгрустнуть, да такое бывает, приходится браться за невыигрышные проекты, иногда даже с проведенным ресерчем. Боремся коллеги💪
.
Пишите какие ошибки проходили, а может есть что-то новенькое🙃
#error #article
📈 Plotly\Dash
Давно знаком с данной библиотекой и фреймворком на её основе для создания кастомных дашбордом (Plotly, Dash)
.
Разнообразие компонентов и объектов внутри библиотеки иногда ставит в ступор начинающего дашбордбилдера и возникают вопросики🤔
.
В курсе Аналитика данных Яндекс Практикум фреймворк рассматривается как один из возможных вариантов построения дашбордов, но сейчас не является обязательным (то есть это дополнительная практика для студента). Моя память помнит, какие страдания испытывала 1 когорта, настраивая и запуская Dash - для нас это было обязательным😈
.
Время идет, курс меняется, но пытливые студенты остаются и им хочется большего, возникают вопросы. Недавно как раз давал ответы по ряду вопросов.
.
Решил оформить ответы в виде github-репозитория (так будет легче пополнять его, может превратиться во Вредные советы по Dash🙃). В репозитории есть не только текст, но и примеры, которые можно запустить и поиграться.
.
Кажется, там есть ответ на самый важный вопрос, который 4 года назад не был решаем - как сделать фильтр по дате и времени.
.
#dash #plotly #github
Давно знаком с данной библиотекой и фреймворком на её основе для создания кастомных дашбордом (Plotly, Dash)
.
Разнообразие компонентов и объектов внутри библиотеки иногда ставит в ступор начинающего дашбордбилдера и возникают вопросики🤔
.
В курсе Аналитика данных Яндекс Практикум фреймворк рассматривается как один из возможных вариантов построения дашбордов, но сейчас не является обязательным (то есть это дополнительная практика для студента). Моя память помнит, какие страдания испытывала 1 когорта, настраивая и запуская Dash - для нас это было обязательным😈
.
Время идет, курс меняется, но пытливые студенты остаются и им хочется большего, возникают вопросы. Недавно как раз давал ответы по ряду вопросов.
.
Решил оформить ответы в виде github-репозитория (так будет легче пополнять его, может превратиться во Вредные советы по Dash🙃). В репозитории есть не только текст, но и примеры, которые можно запустить и поиграться.
.
Кажется, там есть ответ на самый важный вопрос, который 4 года назад не был решаем - как сделать фильтр по дате и времени.
.
#dash #plotly #github
❤2
Без chatGPT никуда
.
Шутливая игра слов и забавные совпадения, 20 вариантов как назвать свой блог про data egineering от chatGPT.
.
Некоторые варианты больше похожи на названия постов или статей. В общем наслаждайтесь👇
.
.
#chatgpt #joke
.
Шутливая игра слов и забавные совпадения, 20 вариантов как назвать свой блог про data egineering от chatGPT.
.
Некоторые варианты больше похожи на названия постов или статей. В общем наслаждайтесь👇
.
1. «Пандамониум: руководство по работе с пандами для инженера данных»
2. «От нуля до героя SQL: освоение анализа баз данных»
3. «Программирование Python для анализа данных»
4. «Большие данные, большие мечты: полное руководство для инженеров»
5. «JSON на все руки: советы по программированию для анализа данных»
6. «SQL-версия для ваших проблем с данными»
7. «Python Power: как стать мастером обработки данных»
8. «Погружение в большие данные: советы и рекомендации для инженеров»
9. «Обработка чисел с помощью Pandas: учебник по анализу данных»
10. «Искусство программирования: взгляд инженера данных»
11. «SQL Like a Boss: расширенные методы анализа баз данных»
12. «Python Pandemonium: как освоить Pandas для анализа данных»
13. «Большая картина больших данных: полное руководство для инженеров»
14. «Анализ данных для чайников: руководство для начинающих»
15. «Секреты SQL: советы и рекомендации по эффективному анализу базы данных»
16. «Python Picks: лучшие библиотеки для обработки данных»
17. «Укрощение больших данных: стратегии успешного анализа»
18. «JSON Journeys: одиссея инженера данных»
19. «Python и Pandas: динамический дуэт инженеров данных»
20. «Драма базы данных: решение общих проблем при анализе данных»
.
#chatgpt #joke
😁2
Header всему голова
.
Кому не знакомы странные наименования столбцов в таблицах, выгрузках или API, например,
.
ps: все же переименовывают при помощи
.
Попробуем автоматизировать этот процесс. На помощь нам придут замечательные регулярные выражения (тот самый модуль
.
Создаем функцию
- разделяет имена по заглавной букве
- переводит написание через нижнее подчеркивание
- переводит слова в LOWER CASE
Пользуйстесь наздоровье🙌
.
А вообще регулярки - это очень мощно, рекомендую обязательно ознакомится с фукнционалом модуля
- классная статья
- моя настольная книга
#regex #cameltosnake #code
.
Кому не знакомы странные наименования столбцов в таблицах, выгрузках или API, например,
deviceId или dReleaseDate. И каждый раз приходится ручками переименовывать, когда их 2-3 еще терпимо, но когда полей 20+, уже к 10 появляется 🤮.
ps: все же переименовывают при помощи
df.rename(columns={old_column_name: new_column_name}) 😉.
Попробуем автоматизировать этот процесс. На помощь нам придут замечательные регулярные выражения (тот самый модуль
re который ты обходил стороной и боялся как серебряной пули).
Создаем функцию
camel_to_snake, которая:- разделяет имена по заглавной букве
- переводит написание через нижнее подчеркивание
- переводит слова в LOWER CASE
import re.
def camel_to_snake(name):
name = re.sub('(.)([A-Z][a-z]+|[А-Я][а-я]+)', r'\1_\2', name)
return re.sub('([a-z]|[а-я])([A-Z]|[А-Я])', r'\1_\2', name).lower()
Пользуйстесь наздоровье🙌
.
А вообще регулярки - это очень мощно, рекомендую обязательно ознакомится с фукнционалом модуля
re:- классная статья
- моя настольная книга
#regex #cameltosnake #code
Хабр
Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения
Регулярные выражения в Python от простого к сложному Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие...
🔥5
Секреты 🐼as
.
А вы замечали, что пишите неэффективный\плохочитаемый (подставить любимое) код🤔
.
Нередко это связано с устоявшимися конструкциями, которые вы где-то увидели, набили на них руку или просто так было, когда вы изучали
.
Одна из задач в ML создание новых признкаков, при изучении временных рядов часто используется такой признак как moving average. При добавлении его необходимо исключить лик целевой, тк текущее значение входит в окно.
.
Нередко встречается такой код:
.
Исключили лишний метод, использовали встроенные аргументы - good work🤝
#code #pandas #refactor
.
А вы замечали, что пишите неэффективный\плохочитаемый (подставить любимое) код🤔
.
Нередко это связано с устоявшимися конструкциями, которые вы где-то увидели, набили на них руку или просто так было, когда вы изучали
pandas==0.23😎.
Одна из задач в ML создание новых признкаков, при изучении временных рядов часто используется такой признак как moving average. При добавлении его необходимо исключить лик целевой, тк текущее значение входит в окно.
.
Нередко встречается такой код:
df['ma'] = df['column'].shift().rolling().mean()Здесь
shift выполняет роль, исключающую текущее значение целевой (сдвигаем весь ряд на 1 позицию в будущее). В целом код понятен но перегружен дополнительным методом. Если заглянуть в доку к методу rolling то разработчики уже учли эту возможную проблему, а нам остается только воспользоваться:df['ma'] = df['column'].rolling(closed='left').mean()При такой опции
closed='left' - последнее значение в окне исключается из расчета, тем самым не будет создан лик целевой..
Исключили лишний метод, использовали встроенные аргументы - good work🤝
#code #pandas #refactor