Привет всем!
Небольшой отчет о моем участии в соревновании MAP - Charting Student Math Misunderstandings.
Ранее я писал, что хочу попробовать силы в классической задаче NLP, которых сейчас днем с огнем не найдешь.
Спустя почти месяц я нахожусь в нижней половине серебряных медалей. Лучшее за месяц было 23 (2 раза я оказывался там, благодаря первому сабмиту и последнему, повторивший результат).
В целом, сейчас выделяется 2 трека решения задачи - использование классического ML с полноценным Feature Engineering и более современное, использующие различные эмбеддеры (открытие для меня новая модель ModernBERT) на основе современных трансформеров.
Сейчас я все-таки придерживаюсь второго подхода. Основные подходы к улучшению результата заключаются в 3 составляющих: дообучение различных моделей, включающее в себя препроцессинг обучающей выборки, ансамблирование моделей (различные техники) и постпроцессинг.
В соревновании отличные публичные стартовые ноутбуки, в которых можно тестировать свои гипотезы.
Основной вопрос, тревожащий всех участников - качество разметки + наличие новых классов/вопросов в закрытой части test data. У меня сейчас есть 2 версии, учитывающие этот момент и использующее максимум из входных данных, ожидая что задача классификации (в классическом понимании) ограничена в применимости ограниченным набором классов.
Лучшие решения на момент публикации выбивают 0.950 по метрике MAP@3, при этом данная величина не меняется уже на протяжении 2 недель точно, что говорит о некотором уровне сопротивления. Лучшие умы Kaggle думают над этой загадкой, но предварительно выглядит, что это и есть тот самый порог сопротивления.
Сам я уже неделю ничего не сабмитил, так как техниками LB probbing не хочу выбивать скор выше (на данный момент), а гипотез, в которых я уверен просто на данный момент новых не появилось. Надеюсь на медаль в соревновании, план максимум - серебро, план минимум - бронза.
#соревнования
Небольшой отчет о моем участии в соревновании MAP - Charting Student Math Misunderstandings.
Ранее я писал, что хочу попробовать силы в классической задаче NLP, которых сейчас днем с огнем не найдешь.
Спустя почти месяц я нахожусь в нижней половине серебряных медалей. Лучшее за месяц было 23 (2 раза я оказывался там, благодаря первому сабмиту и последнему, повторивший результат).
В целом, сейчас выделяется 2 трека решения задачи - использование классического ML с полноценным Feature Engineering и более современное, использующие различные эмбеддеры (открытие для меня новая модель ModernBERT) на основе современных трансформеров.
Сейчас я все-таки придерживаюсь второго подхода. Основные подходы к улучшению результата заключаются в 3 составляющих: дообучение различных моделей, включающее в себя препроцессинг обучающей выборки, ансамблирование моделей (различные техники) и постпроцессинг.
В соревновании отличные публичные стартовые ноутбуки, в которых можно тестировать свои гипотезы.
Основной вопрос, тревожащий всех участников - качество разметки + наличие новых классов/вопросов в закрытой части test data. У меня сейчас есть 2 версии, учитывающие этот момент и использующее максимум из входных данных, ожидая что задача классификации (в классическом понимании) ограничена в применимости ограниченным набором классов.
Лучшие решения на момент публикации выбивают 0.950 по метрике MAP@3, при этом данная величина не меняется уже на протяжении 2 недель точно, что говорит о некотором уровне сопротивления. Лучшие умы Kaggle думают над этой загадкой, но предварительно выглядит, что это и есть тот самый порог сопротивления.
Сам я уже неделю ничего не сабмитил, так как техниками LB probbing не хочу выбивать скор выше (на данный момент), а гипотез, в которых я уверен просто на данный момент новых не появилось. Надеюсь на медаль в соревновании, план максимум - серебро, план минимум - бронза.
#соревнования
🔥5❤4👍4
This media is not supported in your browser
VIEW IN TELEGRAM
Привет всем!👋
Немного мыслей про найм в 2025 году.
К счастью или к сожалению, нанимающая сторона так или иначе вооружилась ИИ для фильтрации резюме и первичному общению с кандидатами.
Но, как мы знаем, ИИ - это игра в которую играют вдвоем. Кандидаты тоже начали показывать зубы.
Таким образом,игра в "обмани меня" процесс отбора превратился в расставление ИИ-ловушек с обоих сторон.
Добавлением ключевых слов в резюме и "доработкой" резюме для конкретной компании уже не удивить никого, но что делать с уже фактическими этапами собеседования, где кандидаты начинают активно использовать co-pilot технологии.
Из первых примеров, которые вплывают в голове - Cluely. Буквально за 20$/месяц вы становитесь непобедимым.
- Что с этим делать и как жить в текущих реалиях?
Это действительно большая проблема, ведь теперь идет нечестная оценка знаний. Хочется задаться вопросом, а что вы хотели, когда такой ажиотаж на рынке, конкуренция за злаковые места растет, а главное, что является острой проблемой - нередко знания, оцениваемые на собеседовании не применяются на работе. То есть, другими словами, самое сложное - пройти собес, работать легче. На рынке кандидаты это начинают понимать. Это порождает порочный круг - слив собеседований, использование всевозможных уловок.
В качестве мер защиты предлагается вводить старые добрые офлайн собеседования, где видно, чем занимается человек. С другой стороны, кажется, что процесс собеседования должен быть приближен к требованиям и скиллам, каждодневно используемым в работе. Опять же понятно, почему сейчас собеседования выглядят следующим образом: работодатель при большой конкуренции хочет взять лучшего за меньшие деньги, эта истина стара как сама жизнь. Тут, снова видим прямой зависимости роста технологической гонки кандидатов в зависимости от повышения входных требований.
-Как вижу это лично я?
Собеседование должно затрагивать только те технологии и задачи, которые вы используете в работе. Офлайн собеседование - дополнительный стресс и барьер для талантливых ребят, которые, скажем работают в другом городе. Испытательный срок - часть собеседования, он важен и я постараюсь объяснить почему.
Если давать задачу, которую можно дать в качестве рабочей (обработка данных) и после выхода на работу, кандидат испытывает сложности с решением данной задачи, то сразу встает вопрос, как он решил ее ранее. Плюс, по опыту, сложно оценить за 1-3 созвона по часу как человек будет работать и что он умеет и знает. Поэтому лично у меня в команде ставку делаем на испытательных срок, по результатам которого складывается финальная картина.
Что думаете вы?
#карьера #офтоп
Немного мыслей про найм в 2025 году.
К счастью или к сожалению, нанимающая сторона так или иначе вооружилась ИИ для фильтрации резюме и первичному общению с кандидатами.
Но, как мы знаем, ИИ - это игра в которую играют вдвоем. Кандидаты тоже начали показывать зубы.
Таким образом,
Добавлением ключевых слов в резюме и "доработкой" резюме для конкретной компании уже не удивить никого, но что делать с уже фактическими этапами собеседования, где кандидаты начинают активно использовать co-pilot технологии.
Из первых примеров, которые вплывают в голове - Cluely. Буквально за 20$/месяц вы становитесь непобедимым.
- Что с этим делать и как жить в текущих реалиях?
Это действительно большая проблема, ведь теперь идет нечестная оценка знаний. Хочется задаться вопросом, а что вы хотели, когда такой ажиотаж на рынке, конкуренция за злаковые места растет, а главное, что является острой проблемой - нередко знания, оцениваемые на собеседовании не применяются на работе. То есть, другими словами, самое сложное - пройти собес, работать легче. На рынке кандидаты это начинают понимать. Это порождает порочный круг - слив собеседований, использование всевозможных уловок.
В качестве мер защиты предлагается вводить старые добрые офлайн собеседования, где видно, чем занимается человек. С другой стороны, кажется, что процесс собеседования должен быть приближен к требованиям и скиллам, каждодневно используемым в работе. Опять же понятно, почему сейчас собеседования выглядят следующим образом: работодатель при большой конкуренции хочет взять лучшего за меньшие деньги, эта истина стара как сама жизнь. Тут, снова видим прямой зависимости роста технологической гонки кандидатов в зависимости от повышения входных требований.
-Как вижу это лично я?
Собеседование должно затрагивать только те технологии и задачи, которые вы используете в работе. Офлайн собеседование - дополнительный стресс и барьер для талантливых ребят, которые, скажем работают в другом городе. Испытательный срок - часть собеседования, он важен и я постараюсь объяснить почему.
Если давать задачу, которую можно дать в качестве рабочей (обработка данных) и после выхода на работу, кандидат испытывает сложности с решением данной задачи, то сразу встает вопрос, как он решил ее ранее. Плюс, по опыту, сложно оценить за 1-3 созвона по часу как человек будет работать и что он умеет и знает. Поэтому лично у меня в команде ставку делаем на испытательных срок, по результатам которого складывается финальная картина.
Что думаете вы?
#карьера #офтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤4👍2🥰1
Привет всем!👋
Надеюсь у всех продуктивно прошли выходные и все настроены на не менее продуктивную рабочую неделю!
Продолжаю держать в курсе по соревнованию MAP - Charting Student Math Misunderstandings.
Из новостей:
💡 порог 0.950 побит, лучший скор LB 0.951.
Ранее можно было увидеть драматическое падение на LB в область выпадения из серебра.
Как и говорил ранее, это нас не устраивает, мы воюем за серебро! Пришлось сесть поковыряться.
- Что по обновлениям?
🔵 В выходные добавил в решение эмбеддеры больших языковых моделей, чутка дали прирост.
🔵 В комментариях у меня была дискуссия на тему того, можно ли их использовать, решил что нужно.
🔵 Основное ограничение реализации - здравый смысл ресурсы Kaggle (2xT4 GPU), по которой последние решения стали ловить OOM. Пришлось потратить достаточно времени на работу с чистотой оперативы и GPU/
На данный момент произошел прорыв, опять вернулся на 27 место, ребята выше явно что-то знают, что пока мне не открылось. Stay tuned!
Ставь🏆 , если дотянем до конца в серебре!
#соревнования
Надеюсь у всех продуктивно прошли выходные и все настроены на не менее продуктивную рабочую неделю!
Продолжаю держать в курсе по соревнованию MAP - Charting Student Math Misunderstandings.
Из новостей:
Ранее можно было увидеть драматическое падение на LB в область выпадения из серебра.
Как и говорил ранее, это нас не устраивает, мы воюем за серебро! Пришлось сесть поковыряться.
- Что по обновлениям?
На данный момент произошел прорыв, опять вернулся на 27 место, ребята выше явно что-то знают, что пока мне не открылось. Stay tuned!
Ставь
#соревнования
Please open Telegram to view this post
VIEW IN TELEGRAM
🏆8👍4🔥4
Привет всем!👋
Держите handbook по поиску фродовых транзакции в финтехе.
Достаточно хорошая выжимка.
В ней вас проводят по полной постановке задачи, от возможных сценариев экспертной классификации фрода, погружая в проблематику, далее вводят метрики, активно используемые для решения задачи, затем погружают в моделью часть, вплоть до моделей Deep Learning.
Материал достаточно структурированный, подойдет как и начинающим, кто хочет начать работать в данном направлении, но не понимает что и как там делается, так и тем, кто уже работает в антифроде.
Из плюсов отмечу, что в каждой главе сначала теоретический минимум, за которым следует практический пример.
#ds_лайфхаки
Держите handbook по поиску фродовых транзакции в финтехе.
Достаточно хорошая выжимка.
В ней вас проводят по полной постановке задачи, от возможных сценариев экспертной классификации фрода, погружая в проблематику, далее вводят метрики, активно используемые для решения задачи, затем погружают в моделью часть, вплоть до моделей Deep Learning.
Материал достаточно структурированный, подойдет как и начинающим, кто хочет начать работать в данном направлении, но не понимает что и как там делается, так и тем, кто уже работает в антифроде.
Из плюсов отмечу, что в каждой главе сначала теоретический минимум, за которым следует практический пример.
#ds_лайфхаки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤4👍1💯1
Приходите, расскажу, чем мы на работе занимаемся.
UPD: Записи не будет, так что *кхе-кхе* ПЕРВЫЙ И ПОСЛЕДНИЙ РАЗ НА АРЕНЕ ВЫСТУПАЕТ ВЕЛИКИЙ И УЖАСНЫЙ…
#мероприятия #life
UPD: Записи не будет, так что *кхе-кхе* ПЕРВЫЙ И ПОСЛЕДНИЙ РАЗ НА АРЕНЕ ВЫСТУПАЕТ ВЕЛИКИЙ И УЖАСНЫЙ…
#мероприятия #life
🔥4👎1
Forwarded from Центр непрерывного образования ФКН НИУ ВШЭ
Как модели минимизируют риски при кредитовании малого и среднего бизнеса
В финансовом секторе принятие решения о выдаче кредита требует комплексной оценки рисков. Для сегмента малого и среднего бизнеса это особенно важно из-за высокой вариативности показателей, ограниченного объема данных и нестабильности рыночной среды.
На грядущей летней школе «IT-сеанс: погружение в мир данных» от Центра непрерывного образования ФКН будет рассмотрен опыт разработки и применения моделей, которые помогают банкам принимать обоснованные решения о кредитовании.
В выступлении Андрея Дзись, Team Lead Data Scientist в Центре продвинутой аналитики Альфа-Банка и автора канала про DS, будут освещены:
🟣 Типы моделей, применяемые для оценки заемщиков в сегменте МСБ
🟣 Основные источники данных и подходы к их обработке
🟣 Ключевые трудности и ограничения при построении моделей в условиях неполных и нестабильных данных
🟣 Методы минимизации рисков и повышения точности прогнозов
🟣 Особенности внедрения и эксплуатации таких решений в банке
Доклад будет полезен специалистам, интересующимся применением машинного обучения в финансовой сфере и задачах управления рисками.
Когда: 23 августа, 14:15-15:15, DS-трек.
Где: Центр Культур НИУ ВШЭ, г. Москва, Покровский бульвар, 11.
📁 Участие в школе бесплатное для всех желающих, требуется регистрация: по ссылке 📍
В финансовом секторе принятие решения о выдаче кредита требует комплексной оценки рисков. Для сегмента малого и среднего бизнеса это особенно важно из-за высокой вариативности показателей, ограниченного объема данных и нестабильности рыночной среды.
На грядущей летней школе «IT-сеанс: погружение в мир данных» от Центра непрерывного образования ФКН будет рассмотрен опыт разработки и применения моделей, которые помогают банкам принимать обоснованные решения о кредитовании.
В выступлении Андрея Дзись, Team Lead Data Scientist в Центре продвинутой аналитики Альфа-Банка и автора канала про DS, будут освещены:
Доклад будет полезен специалистам, интересующимся применением машинного обучения в финансовой сфере и задачах управления рисками.
Когда: 23 августа, 14:15-15:15, DS-трек.
Где: Центр Культур НИУ ВШЭ, г. Москва, Покровский бульвар, 11.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥7❤6🔥5
Привет всем!👋
Я обычно их сам вычищаю, а тут бац и пачка сама покинула заведение 😂
P.S: Кстати, там немного обновилась информация по выступлению, см. выше.
#офтоп
Я обычно их сам вычищаю, а тут бац и пачка сама покинула заведение 😂
P.S: Кстати, там немного обновилась информация по выступлению, см. выше.
#офтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Привет всем!
На Kaggle встречаются довольно-таки интересные соревнования и, как мне кажется, самые интересные соревнования связаны с тем, что твой соревновательный опыт идет на созидание и создание каких-то инструментов, решающих определенные задачи.
Так в июне закончилось соревнование BirdCLEF+ 2025 - известное соревнование по распознаванию голосов птиц.
А уже 7 июня Google DeepMind релизит новую модель Perch 2.0 - модель распознавания голосов животных.
Модель помогает определять конкретные виды птиц, так например, на Гавайях с помощью модели детектируют и поддерживают популяцию птиц танагр-медососов (honeycreeper, представлена на изображении), значимых для гавайской культуры, распознавая их пение в 50х раз быстрее традиционных методов.
Особенно отмечу, что модель Open-source, исходный код можно посмотреть тут. Также в заметке из блога можно найти ссылку на Kaggle model + arXiv статью про структуру модели.
По сути, соревнование - источник вдохновения для исследователей DeepMind для новых обновлений модели. Плюс сама цель использования модели - сохранение красоты нашего мира в том виде, в котором она пробыла десятки и сотни тысяч лет, что делает ее вдвойне крутой.
По традиции - 🔥, если понравилось.
#статьи
На Kaggle встречаются довольно-таки интересные соревнования и, как мне кажется, самые интересные соревнования связаны с тем, что твой соревновательный опыт идет на созидание и создание каких-то инструментов, решающих определенные задачи.
Так в июне закончилось соревнование BirdCLEF+ 2025 - известное соревнование по распознаванию голосов птиц.
А уже 7 июня Google DeepMind релизит новую модель Perch 2.0 - модель распознавания голосов животных.
Модель помогает определять конкретные виды птиц, так например, на Гавайях с помощью модели детектируют и поддерживают популяцию птиц танагр-медососов (honeycreeper, представлена на изображении), значимых для гавайской культуры, распознавая их пение в 50х раз быстрее традиционных методов.
Особенно отмечу, что модель Open-source, исходный код можно посмотреть тут. Также в заметке из блога можно найти ссылку на Kaggle model + arXiv статью про структуру модели.
По сути, соревнование - источник вдохновения для исследователей DeepMind для новых обновлений модели. Плюс сама цель использования модели - сохранение красоты нашего мира в том виде, в котором она пробыла десятки и сотни тысяч лет, что делает ее вдвойне крутой.
По традиции - 🔥, если понравилось.
#статьи
🔥13❤3👍3🌚1
Привет всем!👋
Пришли приглашения на Practical ML Conf.
Проверяйте почту.
Ставь 🔥, если пойдешь, 🌚 если не пойдешь/не пришло.
#мероприятия #life
Пришли приглашения на Practical ML Conf.
Проверяйте почту.
Ставь 🔥, если пойдешь, 🌚 если не пойдешь/не пришло.
#мероприятия #life
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11🌚6
Привет всем!👋
Вчера выступал в ВШЭ на летней школе.
Фотоотчет с выступления будет чуть позже.
Разбавил выступление приколами с котами, поэтому для баланса пришлось выступать в пиджаке (все-таки серьезные вещи рассказывал).
Крутая аудитория, много вопросов, некоторые ставили в ступор, чем и зацепили.
Вижу, что по результатам выступления в наших рядах прибавилось, поэтому вновь прибывшим настоятельно рекомендую начать с навигации по каналу. Все посты помечены хештегами для удобства.
Топ-1 вопрос с мероприятия - какие скилы нужны для того, чтобы вкатиться в работу DS, тут рекомендую начать с #ds_лайфхаки и #карьера и #статьи, где я подробно описываю важные аспекты, такие как навыки, необходимые для разных направлений и грейдов, на что надо обращать внимание, есть даже статья в какое время года лучше всего искать работу/стажировку. Изучайте, уверен что-то полезное для себя найдете!
Рад всем и добро пожаловать!
P.S. Внутри вышки был впервые, в целом достойно!
#мероприятия #life
Вчера выступал в ВШЭ на летней школе.
Фотоотчет с выступления будет чуть позже.
Разбавил выступление приколами с котами, поэтому для баланса пришлось выступать в пиджаке (все-таки серьезные вещи рассказывал).
Крутая аудитория, много вопросов, некоторые ставили в ступор, чем и зацепили.
Вижу, что по результатам выступления в наших рядах прибавилось, поэтому вновь прибывшим настоятельно рекомендую начать с навигации по каналу. Все посты помечены хештегами для удобства.
Топ-1 вопрос с мероприятия - какие скилы нужны для того, чтобы вкатиться в работу DS, тут рекомендую начать с #ds_лайфхаки и #карьера и #статьи, где я подробно описываю важные аспекты, такие как навыки, необходимые для разных направлений и грейдов, на что надо обращать внимание, есть даже статья в какое время года лучше всего искать работу/стажировку. Изучайте, уверен что-то полезное для себя найдете!
Рад всем и добро пожаловать!
P.S. Внутри вышки был впервые, в целом достойно!
#мероприятия #life
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥19❤12👍8
Привет всем!👋
Небольшой отчет по по соревнованию MAP - Charting Student Math Misunderstandings.
С прошлого раза изменений глобально не было, не считая того факта, что начал удалять из ансамбля откровенно слабые модели. Последний эксперимент дал по LB небольшой аплифт, что изначально подняло меня до 23 места, но за последние 2 недели участники начали сдвигать. Good News, я все еще в серебре. Конкруренты снизу уже гоняют LB probbing во всю, просто докручивая по сотой веса в ансамблях, мы против такого подхода. Как показывает мой опыт соревнований, все-таки, модель переобучать плохо, нужна частная генерализация признаков, поэтому я не люблю делать развесовку моделей а-ля по метрикам кросс-валидации.
Хотелось бы пофитить и потестить предельные для инфраструктруры Kaggle модели, но свободного времени, мягко говоря - отрицательное значение.
Сами посудите:
▪️ Выступление в ВШЭ в прошлую субботу
▪️ Посещение стажерского феста Альфы (в эту среду). Позвали туда в качестве наставника стажеров.
▪️ Забег ради жизни 2025 (5км чистого кайфа в последний день лета)
▪️ Подача документов на загран (в эту субботу, так как у меня в июне закончился 10ти летний)
▪️ А через неделю еще и корпоратив.
Радует, что много интересных вещей, поэтому две недели очень насыщенные на мероприятия.
У меня все как всегда (напишите в комменты если у вас также), либо ничего не происходит, либо все и сразу.
Также, никто, конечно же, не отменял и работу, где задач непочатый край. В течении месяца нужно будет вывести 2 модели и перевести в промышленную эксплуатацию еще 1 модель, которая работает в теневом режиме (ОПЭ). Работы много, но стараемся держаться.
А как у вас дела?
#соревнования #life
Небольшой отчет по по соревнованию MAP - Charting Student Math Misunderstandings.
С прошлого раза изменений глобально не было, не считая того факта, что начал удалять из ансамбля откровенно слабые модели. Последний эксперимент дал по LB небольшой аплифт, что изначально подняло меня до 23 места, но за последние 2 недели участники начали сдвигать. Good News, я все еще в серебре. Конкруренты снизу уже гоняют LB probbing во всю, просто докручивая по сотой веса в ансамблях, мы против такого подхода. Как показывает мой опыт соревнований, все-таки, модель переобучать плохо, нужна частная генерализация признаков, поэтому я не люблю делать развесовку моделей а-ля по метрикам кросс-валидации.
Хотелось бы пофитить и потестить предельные для инфраструктруры Kaggle модели, но свободного времени, мягко говоря - отрицательное значение.
Сами посудите:
Радует, что много интересных вещей, поэтому две недели очень насыщенные на мероприятия.
У меня все как всегда (напишите в комменты если у вас также), либо ничего не происходит, либо все и сразу.
Также, никто, конечно же, не отменял и работу, где задач непочатый край. В течении месяца нужно будет вывести 2 модели и перевести в промышленную эксплуатацию еще 1 модель, которая работает в теневом режиме (ОПЭ). Работы много, но стараемся держаться.
А как у вас дела?
#соревнования #life
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥13🥰3👍2
Привет всем!👋
Вот и фотоотчет подъехал с IT Сеанса.
Знайте, все это было сделано ради первой фотографии.
#life #мероприятия
Вот и фотоотчет подъехал с IT Сеанса.
Знайте, все это было сделано ради первой фотографии.
#life #мероприятия
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1❤13🔥9👍6
Привет всем!👋
В целом, любому кто интересуется и работает в DS важно смотреть по сторонам, чем занимаются и что в тренде. Да и возможно ваша область применения вам наскучила и хотите узнать что и как у соседей за забором.
В целом собрали папку с ребятами, в ней есть много интересных ребят, например:
▪️ Юра рассказывает про опыт внедрения ИИ на производстве. Мне понравились материалы с реальными примерами применения моделей и датасетами в разных индустриях.
▪️ Саша, тот, кто отвечает за цифру в Я.Лавке после слов «Ваш заказ будет через …» научит вас вкатываться в DS бесплатно😂.
▪️ Ваня специализируется на ранжировании и всем, что связано с рекомендациями, пишет отличные посты на эту тему.
▪️ Виталий, который рассказывает как вкатился в аналитику в 30+ лет. У него есть крутой пост про неправильную формулу прироста в учебниках.
▪️ Даня публикует активно различные датасеты.
▪️ Захар специализируется на звуке и рассказывает про свой стартап Audio2MIDI.
Могу продолжать еще долго, советую просто подписаться на папку.
👉папка с крутыми специалистами👈
Кстати про то, как я работаю с папками, писал ранее тут, рекомендую ознакомиться.
#офтоп
В целом, любому кто интересуется и работает в DS важно смотреть по сторонам, чем занимаются и что в тренде. Да и возможно ваша область применения вам наскучила и хотите узнать что и как у соседей за забором.
В целом собрали папку с ребятами, в ней есть много интересных ребят, например:
Могу продолжать еще долго, советую просто подписаться на папку.
👉папка с крутыми специалистами👈
Кстати про то, как я работаю с папками, писал ранее тут, рекомендую ознакомиться.
#офтоп
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥14🥰9⚡7👍4👎2💋2❤1🔥1
Привет всем!👋
Разбавим этот четверг немного техническим материалом.
Сегодня поговорим, про встроенную функцию
Данная функция используется для создания итератора, объединяя элементы из различных итераторов.
Рассмотрим следующий код:
результат работы ниже:
Видим, что мы создали итератор, в котором 2 элемента, объединяющих целых 3 списка.
Функция удобна, но имеет ряд недостатков. Сделаем искусственно 3 списка разной длины и попробует объединить.
Результат исполнения кода довольно-таки интересный:
Видим, что, сгруппировалось по принципу наименьшей длины итератора, в данном случае
- Как решить данную проблему?
Данную проблему решить на 100% не получится, так как, при разных длинах встает вопрос однозначности сопоставления. Но вариант сохранить максимальную размерность есть.
Тут на помощь приходит библиотека
Таким образом, для аналогичного кода:
вывод будет следующим:
Теперь все элементы на месте! Но там, где данных не хватило, появилось значение
- Хочу вместо None другое значение!
Без проблем! За это отвечает атрибут
Кстати, есть еще одно интересное и неочевидное применение
Предположим, у нас есть уже заzipованный итератор
из него мы можем обратно восстановить
Аналогично работает и с
Ставь 🔥, если не знал!
#ds_лайфхаки
Разбавим этот четверг немного техническим материалом.
Сегодня поговорим, про встроенную функцию
zip()
.Данная функция используется для создания итератора, объединяя элементы из различных итераторов.
Рассмотрим следующий код:
names = ['Аня', 'Боря']
scores = [85, 92]
ages = [25, 27]
result = list(zip(names, scores, ages))
print(result)
результат работы ниже:
>> [('Аня', 85, 25), ('Боря', 92, 27)]
Видим, что мы создали итератор, в котором 2 элемента, объединяющих целых 3 списка.
Функция удобна, но имеет ряд недостатков. Сделаем искусственно 3 списка разной длины и попробует объединить.
names = ['Аня', 'Боря', 'Вова'] # Обратите внимание: здесь 3 элемента
scores = [85, 92] # Обратите внимание: здесь 2 элемента
ages = [25, 27, 30, 35] # Обратите внимание: здесь 4 элемента
result = list(zip(names, scores, ages))
print(result)
Результат исполнения кода довольно-таки интересный:
>> [('Аня', 85, 25), ('Боря', 92, 27)]
Видим, что, сгруппировалось по принципу наименьшей длины итератора, в данном случае
scores
.- Как решить данную проблему?
Данную проблему решить на 100% не получится, так как, при разных длинах встает вопрос однозначности сопоставления. Но вариант сохранить максимальную размерность есть.
Тут на помощь приходит библиотека
itertools
с ее вариантом реализации zip_longest()
.Основное отличие zip_longest() от zip() в том, что он тоже объединяет элементы, но работает до тех пор, пока не закончится самый длинный из переданных объектов
Таким образом, для аналогичного кода:
from itertools import zip_longest
names = ['Аня', 'Боря', 'Вова']
scores = [85, 92]
ages = [25, 27, 30, 35]
result = list(zip_longest(names, scores, ages))
print(result)
вывод будет следующим:
>> [('Аня', 85, 25), ('Боря', 92, 27), ('Вова', None, 30), (None, None, 35)]
Теперь все элементы на месте! Но там, где данных не хватило, появилось значение
None
.- Хочу вместо None другое значение!
Без проблем! За это отвечает атрибут
fillvalue
.result = list(zip_longest(names, scores, ages, fillvalue='N/A'))
Кстати, есть еще одно интересное и неочевидное применение
zip()
- обратная распаковка данных. Предположим, у нас есть уже заzipованный итератор
zipped_data
:zipped_data = [('Аня', 85, 25), ('Боря', 92, 27), ('Вова', 78, 30)]
из него мы можем обратно восстановить
names
, scores
, ages
распаковав их следующим образом:names, scores, ages = zip(*zipped_data)
Аналогично работает и с
zip_longest()
:names, scores, ages = zip_longest(*zipped_long, fillvalue='N/A')
Ставь 🔥, если не знал!
#ds_лайфхаки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥26🌚7❤2👍1🥴1