Обложка канала

LEFT JOIN. Страница 8

5709 @leftjoin

Канал Николая Валиотти об аналитике и визуализации данных, data science и BI

  • LEFT JOIN

    🍂 Не осень, а сезон ренейминга какой-то! 🍁 Помните RStudio? Ребята решили переименовать свой продукт в Posit, и теперь их новый сайт и все контакты тоже основаны на домене posit.co. По заявлению главных инженеров RStudio/Posit, ребрендинг инструментов имеет чисто эстетические цели и не повлияет на политику компании, функционал и доступность их продуктов. To posit — это настоящее слово, которое переводится с английского как «‎класть в основу доводов» или «предлагать для обсуждения». Вдохновившись идеей создания новых возможностей для научного познания мира, Джозеф Аллер, основатель RStudio, решил подчеркнуть в новом названии ту доступность работы с данными, которую дают инструменты с открытым исходным кодом. А как часто вы пользовались RStudio? И что предпочитаете, RStudio Desktop или RStudio Server?
    Posit | The Open-Source Data Science Company

    The best data science is open source. Posit is committed to creating incredible open-source tools for individuals, teams, and enterprises.

    Posit
  • LEFT JOIN

    🖌 Цвет в визуализации данных 🎨 Как говорили в нашем вчерашнем выпуске подкаста, цвет — один из основных инструментов, который мы используем для визуализации данных. В колористике считается, что у цвета есть 4 характеристики: цветовой тон, яркость, насыщенность и светлота тона. Дизайнер Лиза Шарлотта Мут написала статью о том, когда использовать тона (качественную палитру), а когда оттенки или градиенты (количественную палитру). А мы не могли не перевести ее, так как цвет — это универсальный язык визуализации, и каждый, кто работает с цветом, должен знать, какие подводные камни и наблюдения подметили зарубежные специалисты по датавизу.
  • LEFT JOIN

    👋 AI-сгенерированные подсказки в Google Sheets Шубхро Саха придумал гениальную вещь: функцию =GPT3(), которая запускает подсказки от модели GPT-3 в Google Sheets. Просто посмотрите, как классно она упрощает формулирование сложных функций. Как думаете: for real 💯 или fake 🤨?
  • Реклама

  • LEFT JOIN

    Сервис для менеджмента экспериментов и фичей в продукте – EXPF Sigma Над каким бы онлайн-продуктом вы ни работали, сомнения в правильности выбора есть всегда. Для того чтобы развенчать все сомнения нужно проводить A/B тесты, ведь это бесценный кладезь информации для всех, кто принимает решения в онлайн-среде. Но как и где их проводить? Мои друзья из продуктовой и консалтинговой компании EXPF уже создали улетную платформу EXPF Sigma, на которой можно: 1. Запускать эксперименты на любые сегменты пользователей при помощи фича-менеджера 2. Управлять доставкой фичей после проведенного эксперимента используя сегментацию и фича менеджер 3. Запускать эксперименты со слоями и без слоев 4. Отправлять информацию о экспериментах в любую систему аналитики Теперь после простой интеграции вы сможете запускать сколько угодно экспериментов по любым правилам и развивать свой продукт в разы быстрее 😎 #leftjoin_рекомендует
    EXPF Sigma

    expf.ru
  • LEFT JOIN

    Практический гайд по деплою модели на базе GPT-2 Для своего генератора твитов в стиле Илона Маска, мы развернули стилизованную модель GPT-2 для получения логических выводов в режиме реального времени (Real-time inference) с помощью Amazon SageMaker. А чтобы полученный опыт не пропал даром, собрали все скриншоты в последовательный гид с комментариями по SageMaker JumpStart, выбранной нами модели Hugging Face и подробным объяснением, как работать с такой моделью GPT-2 извне AWS. Оставляйте реакции, если такие статьи вам полезны, и пишите в комментариях, какие темы и задачи нам еще стоит разобрать!
  • LEFT JOIN

    Знаете, сколько человек в США одевается на Хэллоуин Илоном Маском? Вот и мы не знаем! Но, как и вы, следим за его (со вчерашнего дня – целиком и полностью) Твиттером и словесными баталиями вне зависимости от того, согласны ли мы с его утверждениями или нет. Но любая прокрастинация должна иметь практическую пользу. So here you go: ловите генератор твитов в стиле Илона Маска! Если наряжаться миллиардером на Хэллоуин вам не хочется, а хочется им быть (причем, по жизни), то можно потренироваться на таком генераторе, чтобы примерить на себя логику мышления самого богатого человека на планете 😏
  • LEFT JOIN

    Привет! На связи DataHeroes и мы, совместно с онлайн-школой Fless, приготовили для вас крутой гайд по успешному прохождению собеседования 👾 Вы узнаете о: 📌 неочевидных ошибках на собеседовании и о том, как их избежать 📌 моментах, которые НЕ стоит указывать в резюме 📌 необходимости высшего образования у кандидата 📌 о том, что писать в сопроводительном письме 📌 существовании универсальной формулы успешного собеседования 📌 важности «мыслей вслух» во время ответов на вопросы и многое другое! Включайте подкаст, впитывайте рекомендации и забудьте о фразе «Мы вам перезвоним»! 🚀 СПИКЕРЫ: Виктор Рогуленко и Николай Валиотти. Слушайте подкаст на платформах: Spotify, Anchor, Apple Podcasts, Google, Yandex, Overcast, Mave, Castbox, Telegram (↓) #подкаст #DataHeroes
  • LEFT JOIN

    🎶 А не спеть ли нам песню о...? А, подождите-ка, это другой блог! 📈 А не проанализировать ли нам тексты песен и метаданные, чтобы нарисовать картину музыкальной индустрии в графиках и диаграммах? Собрав датасет из 115 318 песен, мы проанализировали его по жанрам, годам, лексическому содержанию песен и показателю repetitiveness. И да, конечно же, мы не могли не подсчитать динамику изменения частоты употребления мата в песнях за разные года. Ну что, готовы узнать, с чем начинка у вашего плейлиста?
  • LEFT JOIN

    📝 Неизбежная реформация гуманитарного образования 🤔 Когда-то давно появление калькуляторов в доме у каждого школьника и студента во многом изменило подход к изучению математики и других точных наук. С одной стороны, когда человеку нужно выучить правила арифметики, то без самостоятельной практики не обойтись. Однако, если вам нужно решить более сложную задачу (например, посчитать ускорение машины на уроке физики или решить уравнение на алгебре), то можно и на калькуляторе посчитать, главная суть-то не в этом. Сейчас многие преподаватели уже привыкли к наличию калькуляторов и либо дают задания на счет в классе, либо дают более сложные задания на дом, понимая, что расчеты (скорее всего) будут сделаны не в уме и не в столбик. Это я к чему? Сейчас в сети то и дело появляются новости о том, что студенты сдают эссе, написанные AI-моделью, и получают хорошие оценки. Как и в примере, результат которого мы уже знаем, на это можно посмотреть с двух точек зрения: как на большую проблему и как на пространство для роста (в том числе преподавательского). Почему это не проблема? В некоторых случаях целью написания эссе является обучение навыкам письма или критического мышления. Для того чтобы удостовериться в самостоятельном выполнении задания, нужно либо дать его во время урока, либо придумать такой вопрос, с которым модель не справится (а модели сейчас далеко не совершенны). В общем, обойти этот нюанс точно можно. Почему это пространство для роста? Зачастую, эссе — чистая скука. Именно в таких скучных эссе превосходно проявляют себя языковые модели, которые, например, обучились на сотне эссе из гугла "Пять преимуществ здорового образа жизни". Возможно, именно такие модели помогут искоренить банальные и шаблонные задания, однако, это уже зависит от преподавателей. Причина, по которой преподаватели просят писать такие эссе, заключается не в черствости или некомпетентности. Обычно это происходит потому, что учителям недоплачивают и они перегружены работой, и гораздо проще спросить что-то стандартное, чем придумать вопрос, который заставит студента хорошенько пораскинуть мозгами. В общем, хоть это и многогранная проблема, мне кажется, что преподавателям вскоре придется адаптироваться к новой реальности и, при всем этом, студенты не разучатся писать вдумчивые эссе.
    Students are acing their homework by turning in machine-generated essays. Good.

    Teachers adapted to the calculator. They can certainly adapt to language models.

    AI Snake Oil
  • LEFT JOIN

    🎉Ура! Вас уже 20 тысяч! 🎉 Хочу искренне поблагодарить новых подписчиков за интерес к каналу LEFT JOIN, а “старичков” – за многолетнюю поддержку и активность. Вы безумно мотивируете меня и мою команду ресерчить новости мира аналитики, рассказывать вам все самое лучшее и полезное и записывать подкасты с теми, чей опыт в аналитике достоин быть услышанным! Если вы с нами совсем недавно, то у нас для вас есть пост-знакомство со всей важной информацией о канале. А еще, мы всегда открыты к предложениям, поэтому пишите в комментариях, какие темы и направления вы бы хотели чаще видеть в LEFT JOIN. Спасибо, что вы с нами! ❤️
  • LEFT JOIN

    🤖 Задачи генерации текста и современный стек данных 💻 Друзья, сегодня я выступал на конференции Linq в секции ML/AI и рассказывал об интересных рабочих кейсах (и не только). Если вы меня слушали и хотите изучить презентацию внимательнее или если вас не было, но вам интересно узнать, о чем я рассказывал – прикладываю файл презентации. Задавайте вопросы в комментариях, по возможности всем отвечу! Всем организаторам и участникам большое спасибо, было классно!

    Text Generation Tasks and Modern Data – Nikolay Valiotti.pdf

    application/pdf
  • LEFT JOIN

    Ограничение оконных функций ROWS: Часть 2 Теперь посмотрим, как работают UNBOUNDED PRECEDING и UNBOUNDED FOLLOWING. Перейдем сразу к практике: UNBOUNDED PRECEDING Давайте посчитаем средний возраст питомцев внутри одного вида, взяв окно с первого питомца до текущего по списку, отсортированному по возрастанию весов животных. В этом запросе нам помогут ключевые слова BETWEEN, CURRENT ROW, а также UNBOUNDED PRECEDING.
    SELECT kind,
           name,
           weight,
           age,
           AVG(age) OVER (PARTITION BY kind ORDER BY weight
    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)
    FROM animals
    
    А что насчет UNBOUNDED FOLLOWING? UNBOUNDED FOLLOWING работает примерно так же, как UNBOUNDED PRECEDING. Посчитаем средний возраст питомцев внутри одного вида, взяв окно с текущего питомца до последнего по отсортированному по возрастанию весов животных списку. Для этого нам нужно использовать ключевые слова BETWEEN, CURRENT ROW (с которыми мы уже отлично подружились), а также UNBOUNDED FOLLOWING.
    SELECT kind,
           name,
           weight,
           age,
           AVG(age) OVER (PARTITION BY kind ORDER BY weight
    ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING)
    FROM animals
    
    Пишите в комментариях, какую оконную функцию разобрать следующей, и оставляйте реакцию, если вам нравится цикл постов про SQL! #leftjoin_sql
  • LEFT JOIN

    Ограничение оконных функций ROWS: Часть 1 Сегодня обсудим еще один важный параметр оконной функции: ROWS. Разбираемся подробнее Параметр ROWS позволяет ограничить строки в окне, указывая фиксированное количество строк, предшествующих или следующих за текущей. В выражении для ограничения строк ROWS также можно использовать следующие ключевые слова: ▪️ UNBOUNDED PRECEDING — указывает, что окно начинается с первой строки группы. ▪️ UNBOUNDED FOLLOWING – с помощью данной инструкции можно указать, что окно заканчивается на последней строке группы. ▪️ CURRENT ROW – инструкция указывает, что окно начинается или заканчивается на текущей строке. ▪️ BETWEEN «граница окна» AND «граница окна» — указывает нижнюю и верхнюю границу окна. ▪️ «Значение» PRECEDING – определяет число строк перед текущей строкой. ▪️ «Значение» FOLLOWING — определяет число строк после текущей строки. Давайте разберем на примерах, как можно использовать перечисленные ключевые слова и как именно работают оконные функции. Вернемся к ранее использованной таблице animals. ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING Для начала попробуем определить средний возраст двух питомцев (текущего и следующего) одного вида, отсортированных по возрастанию веса. Для этого, как вы, наверное, уже догадались, мы будем использовать ключевые слова BETWEEN, CURRENT ROW и FOLLOWING.
    SELECT kind,
           name,
           weight,
           age,
           AVG(age) OVER (PARTITION BY kind ORDER BY weight
    ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING)
    FROM animals
    
    #leftjoin_sql
  • LEFT JOIN

    💁‍♂️ Ассистент по созданию кода Я уже рассказывал вам про инструмент, который объясняет код и может быть полезен тем, кто вынужден разбираться в тысячах строк чужого кода. Сегодня я наткнулся на сервис CodeSquire, который может еще сильнее помочь тем, кто пишет много кода на постояннной основе, или тем, кто лишь нарабатывает этот навык. Что может CodeSqire? ◾️ Превращать комментарии в строки кода, выполняющие нужные действия, например: # create a bar chart that shows number of survived and not survived broken down by Pclass using plotly ⬇️ fig = px.bar(a, x='Pclass', y='PassengerId', color='Survived', text='PassengerId', color_discrete_map={0: '#FF0000', 1: '#0000FF'}) fig.show() ◾️ Создавать SQL-запросы по кратким текстовым вводным, например: -- get top 10 most popular male names ⬇️ SELECT state, gender, year, name, number FROM bigquery-public-data.usa_names.usa_1910_2013 WHERE state = 'FL' AND gender = ‘M' ORDER BY number DESC LIMIT 10; ◾️ Объяснять код, который вы (или кто-то другой) написали ◾️ Разделять код на шаги и создавать комментарии, поясняющие логику алгоритма ◾️ Оптимизировать уже написанный код Сервис доступен по подписке на месяц и на год, а также существует опция бесплатного 30-дневного пробного периода. Оставляйте 🔥, если думаете, что CodeSquire – полезный сервис, и 🤨, если думаете, что проще будет работать без него.
    LEFT JOIN

    🖥 Кто может объяснить работу кода лучше, чем машина? 🤔 На сегодняшний момент одно из самых крутых применений языковой AI-модели GPT-3 — создание объяснений того, как работает код. Суть в том, что вы можете подать на вход модели блок кода, написанный на Python, JavaScipt, SQL или другом языке, и попросить объяснить его, а также задавать вопросы, в духе "Что делает эта функция?" 🔮 Конечно, как у использования любой другой модели, у GPT-3 есть важные нюансы: вам нужно хорошо разбираться в вопросах кодинга, работе AI-моделей и эффективности выполнения команд по времени и памяти, чтобы проверять и понимать полученные объяснения, а также, чтобы подмечать некоторые неточности. Несмотря на это, GPT-3 предлагает разработчикам (которые, например, разбираются с чужим кодом) фантастические возможности для работы. 🚴‍♂️ Как пишет автор заметки, "такие инструменты, как GPT-3, можно отнести к категории «велосипеды для ума». В первую очередь вы должны уметь на нём кататься!" #leftjoin_ai

    Telegram
  • LEFT JOIN

    На связи DataHeroes и сегодня мы поступаем в зарубежные ВУЗы! 👩‍🎓 Наши спикеры - те, кто уже прошли путь от подготовки документов до защиты диплома. Они поделятся своим опытом, дадут рекомендации по поступлению и ответят на важные вопросы: - Можно ли поступить на магистра, если только заканчиваешь бакалавриат в России? - Как проходят экзамены в зарубежном ВУЗе? - Что даст диплом в дальнейшей карьере? - В чем отличия обучения в иностранном ВУЗе и ВУЗе в РФ? Образование всегда будет важным преимуществом для аналитика, а образование за границей еще и хороший способ познакомиться с культурой другой страны. Так что скорее включайте новый выпуск и мотайте на ус советы и лайфхаки от наших спикеров! СПИКЕРЫ: Юрий Душин (The University of Edinburgh ), Антон Охотников (University of Southampton), Илья Шилов (Paris Saclay, establishment Paris Sud) Слушайте подкаст на платформах: Spotify, Anchor, Apple Podcasts, Google, Yandex, Mave, Castbox, Overcast, Telegram (↓) #DataHeroes #подкаст
  • Реклама

  • LEFT JOIN

    Задача: Написать запрос к табличке orders, который посчитает насколько каждая покупка больше или меньше предыдущей (если предыдущей покупки не было, возьмите текущую суммку покупки и покажите 0 как разницу). Решение:
    SELECT user_id,
      order_date,
      receipt_no,
      amount,
       amount - (LAG(amount, 1, amount) OVER (PARTITION BY user_id ORDER BY order_date)) as diff
    FROM orders
  • LEFT JOIN

    Оконные функции LAG и LEAD В предыдущем посте мы разобрались с параметрами оконных функций, а теперь перейдем к конкретным примерам аналитических функций. Функции смещения Эти функции позволяют обращаться к предыдущим или следующим значениям окна. Функция LAG обращается к данным из предыдущей строки окна, а LEAD – к данным из следующей строки. Эти функции нужны для того, чтобы, например, сравнить текущее значение строки с предыдущим или следующим. Каждая функция имеет три параметра: - столбец, значение которого необходимо вернуть, - количество строк для смещения (по умолчанию 1), - значение, которое необходимо вернуть, если после смещения возвращается значение NULL (к примеру, когда мы ищем предыдущее значение для первой строки окна). Давайте посмотрим, на примере таблички orders, как работает функция LEAD. Например, если мы хотим увидеть текущую и следующую дату покупки, то запрос будет выглядеть так:
    SELECT user_id,
     order_date,
     LEAD(order_date) OVER (PARTITION BY user_id ORDER BY order_date) as next_order_date,
     receipt_no,
     amount
    FROM orders
    Результат запроса в первом комментарии под постом 👇 Теперь попробуйте написать запрос к табличке orders, который посчитает насколько каждая покупка каждого пользователя больше или меньше предыдущей (если предыдущей покупки не было, возьмите текущую суммку покупки и покажите 0 как разницу). #leftjoin_sql
  • LEFT JOIN

    ClickHouse Cloud is now in Public Beta

    ClickHouse Cloud has entered public beta. Get your free trial now!

    ClickHouse