🗓 1 октября стартовал курс повышения квалификации «Машинное обучение в биологии и медицине».
Участники начали с первого модуля с основных задач ML в виде логической и линейной регрессии, cкоро знакомимся с библиотеками Numpy, Pandas, Sklearn, Seaborn, и изучим каталог методов классического ML!
Впереди 10 недель обучения, общения с единомышленниками и несколько встреч по карьерному развитию в биотехе.
Желаем всем участникам плавного и комфортного погружения в мир машинного обучения, и надеемся, что с нами изучение новой сферы будет увлекательным и по-настоящему качественным.
🔗 Присоединиться еще не поздно! Сделать это можно по ссылке (спойлер: есть возможность получить скидку)
Участники начали с первого модуля с основных задач ML в виде логической и линейной регрессии, cкоро знакомимся с библиотеками Numpy, Pandas, Sklearn, Seaborn, и изучим каталог методов классического ML!
Впереди 10 недель обучения, общения с единомышленниками и несколько встреч по карьерному развитию в биотехе.
Желаем всем участникам плавного и комфортного погружения в мир машинного обучения, и надеемся, что с нами изучение новой сферы будет увлекательным и по-настоящему качественным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Двусторонняя поддержка: взаимодействие индустрии и сферы образования для развития ИТ-сектора 👩🏻🎓📈
Требования к профессиональным навыкам в сфере информационных технологий (ИТ) постоянно меняются. В то время как высшее образование в России часто акцентируется на теории, приводя к недостатку практических навыков у выпускников, для успешного перехода в индустрию образование в ИТ должно ориентироваться на практику.
Крупные компании и университеты объединяют усилия в подготовке кадров и сокращают разрыв между теорией и практикой. Приведем примеры инициатив в области вычислительной биологии и биомедицины в России.
🔸 В рамках программы «Анализ данных в биологии и медицине», с сентября 2024 года эксперты компании Genotek ведут курсы по молекулярной биологии, биоинформатике и персонализированной медицине на Факультете Компьютерных Наук НИУ ВШЭ. Также магистерскую программу в ВШЭ для решения задач фармакологии открыл BIOCAD. Программы предлагают студентам и теоретические знания и практические навыки, а также открывают возможность трудоустройства в ведущих биомедицинских компаниях.
🔸 Научно-учебная лаборатория Яндекса на базе ФКН НИУ ВШЭ фокусируется на компьютерном зрении, NLP и машинном обучении, предоставляя студентам возможность стажировок и взаимодействия с исследователями Yandex Research. С 2015 по 2023 год факультет уже выпустил 3385 специалистов.
🔸 Программа «Машинное обучение в биологии» от ФББ МГУ совместно с фондом “Интеллект” обучает студентов методам ИИ, включая нейронные сети. Междисциплинарный подход позволяет решать задачи медицины и биотехнологии через командные проекты.
🔸 Международная магистратура "Большие данные и машинное обучение" в университете ИТМО предлагает углубленное образование в области машинного обучения и анализа больших данных на английском языке. Программа ориентирована на студентов ИТ-специальностей и профессионалов, готовящихся к карьере в таких ролях, как ML Engineer или AI Architect.
🔸 В рамках программы «Цифровая экономика РФ» на базе 106 университетов страны открываются "Цифровые кафедры" для подготовки специалистов с практическими навыками. Курсы длятся около 10 месяцев и включают проектную работу, а обучение ведется совместно с ведущими компаниями, такими как Росатом и Сбер.
🔹 Дополнительное образование в сфере анализа данных также возможно благодаря таким платформам, как OpenBio, что позволяет осваивать новейшие достижения в ИТ для медицины.
С учетом растущего спроса на ИТ-специалистов, образовательные программы нового формата становятся актуальными для рынка труда в РФ, где средняя зарплата middle ML-разработчиков составляет 190 тысяч рублей. Сотрудничество между учебными заведениями и бизнесом становится ключевым фактором для подготовки квалифицированных кадров, способных работать в изменчивом мире технологий, и помогает выпускникам уверенно выходить на рынок труда.
#openbio_career
Требования к профессиональным навыкам в сфере информационных технологий (ИТ) постоянно меняются. В то время как высшее образование в России часто акцентируется на теории, приводя к недостатку практических навыков у выпускников, для успешного перехода в индустрию образование в ИТ должно ориентироваться на практику.
Крупные компании и университеты объединяют усилия в подготовке кадров и сокращают разрыв между теорией и практикой. Приведем примеры инициатив в области вычислительной биологии и биомедицины в России.
🔸 В рамках программы «Анализ данных в биологии и медицине», с сентября 2024 года эксперты компании Genotek ведут курсы по молекулярной биологии, биоинформатике и персонализированной медицине на Факультете Компьютерных Наук НИУ ВШЭ. Также магистерскую программу в ВШЭ для решения задач фармакологии открыл BIOCAD. Программы предлагают студентам и теоретические знания и практические навыки, а также открывают возможность трудоустройства в ведущих биомедицинских компаниях.
🔸 Научно-учебная лаборатория Яндекса на базе ФКН НИУ ВШЭ фокусируется на компьютерном зрении, NLP и машинном обучении, предоставляя студентам возможность стажировок и взаимодействия с исследователями Yandex Research. С 2015 по 2023 год факультет уже выпустил 3385 специалистов.
🔸 Программа «Машинное обучение в биологии» от ФББ МГУ совместно с фондом “Интеллект” обучает студентов методам ИИ, включая нейронные сети. Междисциплинарный подход позволяет решать задачи медицины и биотехнологии через командные проекты.
🔸 Международная магистратура "Большие данные и машинное обучение" в университете ИТМО предлагает углубленное образование в области машинного обучения и анализа больших данных на английском языке. Программа ориентирована на студентов ИТ-специальностей и профессионалов, готовящихся к карьере в таких ролях, как ML Engineer или AI Architect.
🔸 В рамках программы «Цифровая экономика РФ» на базе 106 университетов страны открываются "Цифровые кафедры" для подготовки специалистов с практическими навыками. Курсы длятся около 10 месяцев и включают проектную работу, а обучение ведется совместно с ведущими компаниями, такими как Росатом и Сбер.
🔹 Дополнительное образование в сфере анализа данных также возможно благодаря таким платформам, как OpenBio, что позволяет осваивать новейшие достижения в ИТ для медицины.
С учетом растущего спроса на ИТ-специалистов, образовательные программы нового формата становятся актуальными для рынка труда в РФ, где средняя зарплата middle ML-разработчиков составляет 190 тысяч рублей. Сотрудничество между учебными заведениями и бизнесом становится ключевым фактором для подготовки квалифицированных кадров, способных работать в изменчивом мире технологий, и помогает выпускникам уверенно выходить на рынок труда.
#openbio_career
👍3🤓1
Digital pathology: что это и с чем его едят? Рассказывает эксперт 👾
Александр Сарачаков – эксперт OpenBio и руководитель команды Digital Pathology в BostonGene. Его команда обрабатывает изображения тканей, окрашенных гематоксилином и эозином, а также занимается мультиплексной иммунофлюоресценцией. Они работают с большими данными, что невозможно без глубокого машинного обучения.
Мы попросили Александра рассказать подробнее об этой области.
▫️ Как обычно выглядит ваша задача?
Наша команда получает образцы тканей пациентов с онкологическими заболеваниями для подтверждения диагноза. При биопсии ткань окрашивается, и на компьютере получается гигантское изображение размером 40000 на 60000 пикселей. В случае мультиплексного изображения число цветовых каналов зависит от числа маркеров — отдельных белков, которые мы визуализируем, и их может быть до 60. Это позволяет анализировать пространственные отношения между клетками опухоли и иммунной системы.
Например, мы хотим узнать, может ли иммунная система пациента атаковать опухоль: если мы наблюдаем плотный комок опухоли в центре, а вокруг – иммунные клетки, которые не могут попасть внутрь, то можно предположить, что иммунотерапия будет неэффективна и нужно рассмотреть другие подходы.
▫️ С какими проблемами вы сталкиваетесь в работе?
Обычно для обучения модели необходимо разметить данные с помощью врача-патолога – он должен найти и указать все типы тканей на слайде. Эта задача требует много средств и усилий, а также патологи могут делать разметку по-разному, что приводит к неточностям при обучении.
С появлением метода self-supervised learning в 2019 году ситуация изменилась. Самообучение требует огромного количества данных, но не разметки – она может пригодиться, только чтобы проверить качество работы алгоритма. Сеть разбивает изображения ткани на небольшие области и сама учится генерировать репрезентации. Это значительно снизило необходимость в разметке: теперь достаточно разметить лишь 10 слайдов для проверки алгоритма, вместо 1000 слайдов для обучения. И хотя такие модели требуют больших вычислительных ресурсов, их качество сопоставимо с обучением с учителем.
▫️ Какие методы обработки изображений сейчас актуальны?
Технологии движутся фармацевтической отраслью: успехи препарата KEYTRUDA – моноклонального антитела, связывающего белок PD1 и способствующего активизации иммунных клеток – не дают покоя многим. Любая фармкомпания хочет открыть биомаркеры, которые будут предсказывать ответ на терапию.
Мультиплексная иммунофлюоресценция, или пространственная протеомика, помогает визуализировать клетки и белки в опухоли, которые могут быть связаны с терапией. В частности, это помогает принимать решения о назначении иммунотерапии и активно используется клинических испытаниях.
👨🏼💻 Еще больше о методах машинного обучения в цифровой патологии Александр расскажет в своем модуле на курсах OpenBio.
#openbio_webinar
#openbio_interview #openbio_expert
Александр Сарачаков – эксперт OpenBio и руководитель команды Digital Pathology в BostonGene. Его команда обрабатывает изображения тканей, окрашенных гематоксилином и эозином, а также занимается мультиплексной иммунофлюоресценцией. Они работают с большими данными, что невозможно без глубокого машинного обучения.
Мы попросили Александра рассказать подробнее об этой области.
▫️ Как обычно выглядит ваша задача?
Наша команда получает образцы тканей пациентов с онкологическими заболеваниями для подтверждения диагноза. При биопсии ткань окрашивается, и на компьютере получается гигантское изображение размером 40000 на 60000 пикселей. В случае мультиплексного изображения число цветовых каналов зависит от числа маркеров — отдельных белков, которые мы визуализируем, и их может быть до 60. Это позволяет анализировать пространственные отношения между клетками опухоли и иммунной системы.
Например, мы хотим узнать, может ли иммунная система пациента атаковать опухоль: если мы наблюдаем плотный комок опухоли в центре, а вокруг – иммунные клетки, которые не могут попасть внутрь, то можно предположить, что иммунотерапия будет неэффективна и нужно рассмотреть другие подходы.
▫️ С какими проблемами вы сталкиваетесь в работе?
Обычно для обучения модели необходимо разметить данные с помощью врача-патолога – он должен найти и указать все типы тканей на слайде. Эта задача требует много средств и усилий, а также патологи могут делать разметку по-разному, что приводит к неточностям при обучении.
С появлением метода self-supervised learning в 2019 году ситуация изменилась. Самообучение требует огромного количества данных, но не разметки – она может пригодиться, только чтобы проверить качество работы алгоритма. Сеть разбивает изображения ткани на небольшие области и сама учится генерировать репрезентации. Это значительно снизило необходимость в разметке: теперь достаточно разметить лишь 10 слайдов для проверки алгоритма, вместо 1000 слайдов для обучения. И хотя такие модели требуют больших вычислительных ресурсов, их качество сопоставимо с обучением с учителем.
▫️ Какие методы обработки изображений сейчас актуальны?
Технологии движутся фармацевтической отраслью: успехи препарата KEYTRUDA – моноклонального антитела, связывающего белок PD1 и способствующего активизации иммунных клеток – не дают покоя многим. Любая фармкомпания хочет открыть биомаркеры, которые будут предсказывать ответ на терапию.
Мультиплексная иммунофлюоресценция, или пространственная протеомика, помогает визуализировать клетки и белки в опухоли, которые могут быть связаны с терапией. В частности, это помогает принимать решения о назначении иммунотерапии и активно используется клинических испытаниях.
👨🏼💻 Еще больше о методах машинного обучения в цифровой патологии Александр расскажет в своем модуле на курсах OpenBio.
#openbio_webinar
#openbio_interview #openbio_expert
1👍2🤓1
От А до Я в разработке классификатора изображений
Часто у начинающих в области машинного обучения есть страх: получится ли вообще все это понять? Например, “бинарная классификация” – что это такое? Насколько это сложно?
Мы попросили Артема Васильева, специалиста в компьютерном зрении и спикера OpenBio, кратко объяснить ход мыслей разработчика при решении задачи классификации изображения.
Допустим, у нас есть задача: понять по гистологическому образцу, содержится ли в нем злокачественная опухоль или он весь состоит из нормальной ткани. Что нужно, чтобы ее решить?
Работу над решением можно представить в виде следующих общих шагов:
1️⃣ Оценка необходимости машинного обучения
Прежде всего, определите, можно ли решить задачу без использования машинного обучения. Изучите литературу и существующие методы в рамках похожих задач. Часто оказывается, что задача не требует дорогого и сложного решения с ML.
2️⃣ Формулирование задачи
Четко сформулируйте задачу классификации: определите, какие классы вам нужны на выходе.
3️⃣ Сбор и разметка данных для обучения
Необходимо понять, требуется ли в задаче собственная разметка обучающих данных или будет достаточно общедоступной информации. Исследуйте собственные данные и открытые публичные датасеты с лицензией, которые можно использовать для решения.
Обучающие данные должны включать все сценарии, которые могут вас заинтересовать – убедитесь, что у вас достаточно разметки для всех возможных классов (например, нормальная ткань, доброкачественная опухоль, злокачественная опухоль и их сочетания). Убедитесь, что данные разнообразны и репрезентативны для вашей задачи.
4️⃣ Обучение модели
Начните с простых моделей – выбирайте известные инструменты для решения похожих задач. Например, используйте библиотеку Torch Image Models для работы с 2D-изображениями, выберите небольшую модель и доучите ее на собранных данных.
5️⃣ Тестирование качества модели
Проведите тестирование модели на различных данных и оцените ее качество по метрикам (например, точность, полнота). Покажите результаты эксперту в области – на основе обратной связи станет понятно, нужно ли улучшить процесс разметки или попробовать другие модели и методы обработки данных.
6️⃣ Разработка и внедрение
После успешного обучения модели подумайте о том, как ее интегрировать в рабочий процесс. Определите ограничения по времени и ресурсам. Если необходимость в сложной интеграции отсутствует, модель можно запускать как питоновский скрипт.
7️⃣ Мониторинг и обновление
Регулярно проверяйте качество работы модели, особенно при изменении источника данных или условий работы (например, при смене микроскопа в лаборатории). Если во время эксплуатации сервиса не проверять, что данные не изменились, можно получить на выходе произвольное качество.
А чтобы узнать, как реализовывать эти шаги на практике и применять их к своим задачам, приходите на курсы OpenBio.
#openbio_webinar
#openbio_interview #openbio_expert
Часто у начинающих в области машинного обучения есть страх: получится ли вообще все это понять? Например, “бинарная классификация” – что это такое? Насколько это сложно?
Мы попросили Артема Васильева, специалиста в компьютерном зрении и спикера OpenBio, кратко объяснить ход мыслей разработчика при решении задачи классификации изображения.
Допустим, у нас есть задача: понять по гистологическому образцу, содержится ли в нем злокачественная опухоль или он весь состоит из нормальной ткани. Что нужно, чтобы ее решить?
Работу над решением можно представить в виде следующих общих шагов:
1️⃣ Оценка необходимости машинного обучения
Прежде всего, определите, можно ли решить задачу без использования машинного обучения. Изучите литературу и существующие методы в рамках похожих задач. Часто оказывается, что задача не требует дорогого и сложного решения с ML.
2️⃣ Формулирование задачи
Четко сформулируйте задачу классификации: определите, какие классы вам нужны на выходе.
3️⃣ Сбор и разметка данных для обучения
Необходимо понять, требуется ли в задаче собственная разметка обучающих данных или будет достаточно общедоступной информации. Исследуйте собственные данные и открытые публичные датасеты с лицензией, которые можно использовать для решения.
Обучающие данные должны включать все сценарии, которые могут вас заинтересовать – убедитесь, что у вас достаточно разметки для всех возможных классов (например, нормальная ткань, доброкачественная опухоль, злокачественная опухоль и их сочетания). Убедитесь, что данные разнообразны и репрезентативны для вашей задачи.
4️⃣ Обучение модели
Начните с простых моделей – выбирайте известные инструменты для решения похожих задач. Например, используйте библиотеку Torch Image Models для работы с 2D-изображениями, выберите небольшую модель и доучите ее на собранных данных.
5️⃣ Тестирование качества модели
Проведите тестирование модели на различных данных и оцените ее качество по метрикам (например, точность, полнота). Покажите результаты эксперту в области – на основе обратной связи станет понятно, нужно ли улучшить процесс разметки или попробовать другие модели и методы обработки данных.
6️⃣ Разработка и внедрение
После успешного обучения модели подумайте о том, как ее интегрировать в рабочий процесс. Определите ограничения по времени и ресурсам. Если необходимость в сложной интеграции отсутствует, модель можно запускать как питоновский скрипт.
7️⃣ Мониторинг и обновление
Регулярно проверяйте качество работы модели, особенно при изменении источника данных или условий работы (например, при смене микроскопа в лаборатории). Если во время эксплуатации сервиса не проверять, что данные не изменились, можно получить на выходе произвольное качество.
А чтобы узнать, как реализовывать эти шаги на практике и применять их к своим задачам, приходите на курсы OpenBio.
#openbio_webinar
#openbio_interview #openbio_expert
👍2😍1
Сегодня делимся фрагментом интервью с Артемом Васильевым – спикером курса OpenBio и специалистом по компьютерному зрению. Выделим здесь несколько пунктов о ключевых шагах на пути к освоению ML.
▫️ Ваш бэкграунд в физике помог вам при погружении в машинное обучение?
Я не думал, что эта технология станет основной в моей карьере, поэтому не имел четкого плана по ее изучению. Моя математическая подготовка была хорошей, но, возможно, избыточной для начала. Если бы мне нужно было начать с нуля, я бы сосредоточился на базовой теории вероятностей и простых математических концепциях — этого было бы достаточно для чтения статей и понимания алгоритмов.
▫️ Где биологам чаще всего придется использовать методы машинного обучения?
Все, что связано с обработкой последовательностей, включает в себя машинное обучение – например, анализ последовательностей ДНК, РНК или белковых молекул. В этой области накоплено большое количество данных, и исследователям приходится находить более эффективные инструменты для работы с ними.
▫️ Было ли сложно знакомым вам биологам разработать свой первый алгоритм?
Студенты биологического факультета имеют базу математической подготовки, поэтому старт не совсем холодный. Для первых контактов с машинным обучением многим достаточно подтянуть программирование на Python. Порог входа невысок, даже для тех, кто знакомится с базовыми библиотеками. На курсе мы также изучим основной инструментарий, который пригодится при первом контакте с задачами в компьютерном зрении.
▫️ Сколько времени новичок обычно тратит на разработку алгоритма?
Если новичок решает прикладную проблему, то часто кто-то решал ее и раньше. Поэтому важно потратить время на анализ существующих решений – почитать BioRxiv, посмотреть открытый код на GitHub. Это может занять от дней до неопределенного количества времени. Затем идет написание кода для обучения модели, а код широко переиспользуется: например, после прохождения нашего курса у вас останется код, в который можно подставить ваши данные.
▫️ Что спрашивают на собеседованиях на позицию Junior специалиста в машинном обучении?
Необходимо знать метрики качества и их значение. Это отсекает тех, кто не разобрался, что же там на самом деле считается, хотя это самое важное. Могут быть вопросы о структуре моделей: зачем нужны определенные слои в нейросетях, чем различаются архитектуры UNet и ResNet, и так далее. При найме в исследовательскую команду обязательно спросят про новые статьи и конференции – важна способность понимать новые идеи и делать из них выводы.
Маст-хэв – знание теории вероятности и статистики. Полезно будет знать библиотеку PyTorch, особенно если вы хотите работать в компьютерном зрении; пригодится практический опыт с Torch Image Models и Segmentation Models PyTorch. По умолчанию, необходимо умение программировать на Python.
✍🏻 Читайте полную версию интервью по ссылке.
▫️ Ваш бэкграунд в физике помог вам при погружении в машинное обучение?
Я не думал, что эта технология станет основной в моей карьере, поэтому не имел четкого плана по ее изучению. Моя математическая подготовка была хорошей, но, возможно, избыточной для начала. Если бы мне нужно было начать с нуля, я бы сосредоточился на базовой теории вероятностей и простых математических концепциях — этого было бы достаточно для чтения статей и понимания алгоритмов.
▫️ Где биологам чаще всего придется использовать методы машинного обучения?
Все, что связано с обработкой последовательностей, включает в себя машинное обучение – например, анализ последовательностей ДНК, РНК или белковых молекул. В этой области накоплено большое количество данных, и исследователям приходится находить более эффективные инструменты для работы с ними.
▫️ Было ли сложно знакомым вам биологам разработать свой первый алгоритм?
Студенты биологического факультета имеют базу математической подготовки, поэтому старт не совсем холодный. Для первых контактов с машинным обучением многим достаточно подтянуть программирование на Python. Порог входа невысок, даже для тех, кто знакомится с базовыми библиотеками. На курсе мы также изучим основной инструментарий, который пригодится при первом контакте с задачами в компьютерном зрении.
▫️ Сколько времени новичок обычно тратит на разработку алгоритма?
Если новичок решает прикладную проблему, то часто кто-то решал ее и раньше. Поэтому важно потратить время на анализ существующих решений – почитать BioRxiv, посмотреть открытый код на GitHub. Это может занять от дней до неопределенного количества времени. Затем идет написание кода для обучения модели, а код широко переиспользуется: например, после прохождения нашего курса у вас останется код, в который можно подставить ваши данные.
▫️ Что спрашивают на собеседованиях на позицию Junior специалиста в машинном обучении?
Необходимо знать метрики качества и их значение. Это отсекает тех, кто не разобрался, что же там на самом деле считается, хотя это самое важное. Могут быть вопросы о структуре моделей: зачем нужны определенные слои в нейросетях, чем различаются архитектуры UNet и ResNet, и так далее. При найме в исследовательскую команду обязательно спросят про новые статьи и конференции – важна способность понимать новые идеи и делать из них выводы.
Маст-хэв – знание теории вероятности и статистики. Полезно будет знать библиотеку PyTorch, особенно если вы хотите работать в компьютерном зрении; пригодится практический опыт с Torch Image Models и Segmentation Models PyTorch. По умолчанию, необходимо умение программировать на Python.
✍🏻 Читайте полную версию интервью по ссылке.
👍4
Который час, друзья? 🤔 С точностью до минуты не подскажем, но уверены — сейчас самое время готовиться ко второму потоку курса «Машинное обучение в биологии и биомедицине» от OpenBio! 🎉👩🏻🎓
Весенний набор стартует 25 февраля, а подача заявок на него уже открыта. Присоединяйтесь к единственной программе переквалификации с кейсами по Computer Vision в биомедицине и ML в NGS в одном курсе.
Итак, начинаем подготовку! 🤓
#openbio_pandas
Весенний набор стартует 25 февраля, а подача заявок на него уже открыта. Присоединяйтесь к единственной программе переквалификации с кейсами по Computer Vision в биомедицине и ML в NGS в одном курсе.
Итак, начинаем подготовку! 🤓
#openbio_pandas
👍2
Первичная обработка данных в pandas ✨
Первичная обработка данных — важный этап, который помогает избежать ошибок в дальнейшем анализе и моделировании. В продолжение рубрики о знакомстве с pandas мы рассмотрим основные методы первичной обработки данных с помощью этой библиотеки.
А дальше можно браться и за построение моделей, о чем мы подробно рассказываем на курсе по Машинному обучению в биологии и биомедицине 😎
1️⃣ Визуализация данных
Перед тем как начать анализ, важно понять, с чем мы имеем дело. Для этого pandas предлагает несколько удобных методов.
▫️ Методы df.head() и df.tail() позволяют увидеть первые и последние строки датафрейма. Это помогает оценить структуру и содержимое данных.
▫️ Метод df.shape() возвращает количество строк и столбцов в датафрейме. Это полезно для быстрой оценки объема данных.
▫️ Метод df.describe() предоставляет сводную статистику для числовых столбцов, включая среднее, стандартное отклонение и квартили. Это позволяет быстро оценить распределение значений.
2️⃣ Работа с пропущенными значениями
Отсутствующие данные могут серьезно исказить результаты анализа и привести к неправильным выводам. Проблему можно решить разными способами:
▫️ Метод df.dropna() позволяет удалить из таблицы все строки с пропущенными значениями. Стоит учитывать, что удаление может привести к потере важной информации.
▫️ С помощью метода df.replace() можно заменить пропущенные числовые значения на среднее по столбцу. Это позволяет сохранить данные и избежать искажений, хотя и вносит некоторую степень "додумывания" информации.
3️⃣ Замена типов данных
Для разработки моделей с помощью машинного обучения часто нужно преобразовать категориальные данные в числа, так как большинство алгоритмов требуют числовых входных данных.
▫️ Это также можно сделать с помощью метода df.replace(). Для этого передадим методу словарь, где ключами будут исходные категории, а значениями - числа:
▫️ Альтернатива - метод df.get_dummies(), который преобразует категориальные данные в числовые. Его ключевое отличие в том, что он позволяет получить только бинарную числовую классификацию - 0 или 1. Для работы в аргументах метода нужно указать нужный датафрейм и его столбцы, в которых необходимо преобразование.
4️⃣ Удаление дубликатов
Дубликаты могут искажать результаты анализа и приводить к неправильным выводам, поэтому от них стоит избавляться.
▫️ С этим поможет метод df.drop_duplicates(), который удаляет дубликаты из датафрейма.
5️⃣ Фильтрация данных
Фильтрация позволяет выделить подмножество датафрейма по определенным критериям для дальнейшей работы. Отфильтрованный датафрейм можно сохранить в новой переменной.
Мы рассмотрели основные методы первичной обработки данных в pandas. Эти инструменты помогут вам эффективно готовить данные для дальнейшего анализа и построения моделей 👨💻💪
#openbio_pandas
Первичная обработка данных — важный этап, который помогает избежать ошибок в дальнейшем анализе и моделировании. В продолжение рубрики о знакомстве с pandas мы рассмотрим основные методы первичной обработки данных с помощью этой библиотеки.
А дальше можно браться и за построение моделей, о чем мы подробно рассказываем на курсе по Машинному обучению в биологии и биомедицине 😎
1️⃣ Визуализация данных
Перед тем как начать анализ, важно понять, с чем мы имеем дело. Для этого pandas предлагает несколько удобных методов.
▫️ Методы df.head() и df.tail() позволяют увидеть первые и последние строки датафрейма. Это помогает оценить структуру и содержимое данных.
import pandas as pd
# Пример данных
data = {
'Название': ['Роза', 'Тюльпан', 'Лаванда', 'Гербера'],
'Цвет': ['Красный', 'Желтый', 'Фиолетовый', 'Разноцветный'],
'Высота': [50, 30, 40, 60]
}
df = pd.DataFrame(data)
print(df.head()) # По дефолту печатает первые 5 строк
print(df.head(2)) # При передаче числового аргумента печатает указанное количество строк
▫️ Метод df.shape() возвращает количество строк и столбцов в датафрейме. Это полезно для быстрой оценки объема данных.
print(df.shape) # Вывод: (4, 3)
▫️ Метод df.describe() предоставляет сводную статистику для числовых столбцов, включая среднее, стандартное отклонение и квартили. Это позволяет быстро оценить распределение значений.
print(df.describe())
2️⃣ Работа с пропущенными значениями
Отсутствующие данные могут серьезно исказить результаты анализа и привести к неправильным выводам. Проблему можно решить разными способами:
▫️ Метод df.dropna() позволяет удалить из таблицы все строки с пропущенными значениями. Стоит учитывать, что удаление может привести к потере важной информации.
▫️ С помощью метода df.replace() можно заменить пропущенные числовые значения на среднее по столбцу. Это позволяет сохранить данные и избежать искажений, хотя и вносит некоторую степень "додумывания" информации.
# Заменяем пропущенные значения на среднее по столбцу
mean_height = df['Высота'].mean()
df['Высота'].replace(to_replace=None, value=mean_height, inplace=True)
3️⃣ Замена типов данных
Для разработки моделей с помощью машинного обучения часто нужно преобразовать категориальные данные в числа, так как большинство алгоритмов требуют числовых входных данных.
▫️ Это также можно сделать с помощью метода df.replace(). Для этого передадим методу словарь, где ключами будут исходные категории, а значениями - числа:
# Замена цветовых категорий на числовые значения
color_mapping = {'Красный': 1, 'Желтый': 2, 'Фиолетовый': 3, 'Разноцветный': 4}
df['Цвет'] = df['Цвет'].replace(color_mapping)
▫️ Альтернатива - метод df.get_dummies(), который преобразует категориальные данные в числовые. Его ключевое отличие в том, что он позволяет получить только бинарную числовую классификацию - 0 или 1. Для работы в аргументах метода нужно указать нужный датафрейм и его столбцы, в которых необходимо преобразование.
df_dummies = pd.get_dummies(df, columns=['Цвет'])
print(df_dummies)
4️⃣ Удаление дубликатов
Дубликаты могут искажать результаты анализа и приводить к неправильным выводам, поэтому от них стоит избавляться.
▫️ С этим поможет метод df.drop_duplicates(), который удаляет дубликаты из датафрейма.
# Удаляем дубликаты
df = df.drop_duplicates()
print(df)
5️⃣ Фильтрация данных
Фильтрация позволяет выделить подмножество датафрейма по определенным критериям для дальнейшей работы. Отфильтрованный датафрейм можно сохранить в новой переменной.
filtered_df = df[df['Высота'] > 40]
print(filtered_df)
Мы рассмотрели основные методы первичной обработки данных в pandas. Эти инструменты помогут вам эффективно готовить данные для дальнейшего анализа и построения моделей 👨💻💪
#openbio_pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1🤓1
🎉Наша регулярная рубрика: подборка актуальных вакансий для биологов и медиков с компетенциями в области ML.
Отправляйте резюме, пока эти позиции не ушли в архив!
🦠Биоинформатик
Ключевые задачи, которые вас ждут на этой позиции:
- Анализ молекулярных данных раковых опухолей и их моделей;
- Создание систем классификации и диагностики опухолей через молекулярные профили с использованием ML;
- Выявление соматических изменений в опухолях/моделях опухолей и определение их свойств;
- Решение задач по моделированию структуры белков, передачи сигналов в органах и между клетками.
Во всех направлениях подразумевается также участие в научных публикациях.
💻Computer Vision Engineer (обработка и анализ медицинских данных)
Для быстрой апробации гипотез по анализу медицинских исследований, в том числе снимков, компании нужен сильный разработчик в области машинного зрения и, возможно, в области генеративных методов.
🧪TNLP researcher в команду фармакологии (Sber AI Lab)
Ищут талантливого и мотивированного специалиста для исследования и разработки новых инструментов и методов для дизайна белковых молекул, а также исследование подходов для генерации малых химических молекул.
👨💻Middle Data Scientist
Ждут опытного и увлеченного специалиста, которому предстоит:
- Развивать классические ML модели, которые помогут в планировании, оптимизации распределения ресурсов и т.д.;
- Создавать и внедрять модели ComputerVision, применяя их для классификации, детекции и сегментации;
- Совершенствовать и разрабатывать AI-ассистентов для клиентов и сотрудников;
- Разрабатывать процессы, которые помогут выявлять недобросовестное использование систем;
- Погружаться в исследовательские проекты;
- Создавать парсеры для сбора данных из внешних источников;
- Посещать конференции и/или участвовать в соревнованиях.
#openbio_вакансии
Отправляйте резюме, пока эти позиции не ушли в архив!
🦠Биоинформатик
Ключевые задачи, которые вас ждут на этой позиции:
- Анализ молекулярных данных раковых опухолей и их моделей;
- Создание систем классификации и диагностики опухолей через молекулярные профили с использованием ML;
- Выявление соматических изменений в опухолях/моделях опухолей и определение их свойств;
- Решение задач по моделированию структуры белков, передачи сигналов в органах и между клетками.
Во всех направлениях подразумевается также участие в научных публикациях.
💻Computer Vision Engineer (обработка и анализ медицинских данных)
Для быстрой апробации гипотез по анализу медицинских исследований, в том числе снимков, компании нужен сильный разработчик в области машинного зрения и, возможно, в области генеративных методов.
🧪TNLP researcher в команду фармакологии (Sber AI Lab)
Ищут талантливого и мотивированного специалиста для исследования и разработки новых инструментов и методов для дизайна белковых молекул, а также исследование подходов для генерации малых химических молекул.
👨💻Middle Data Scientist
Ждут опытного и увлеченного специалиста, которому предстоит:
- Развивать классические ML модели, которые помогут в планировании, оптимизации распределения ресурсов и т.д.;
- Создавать и внедрять модели ComputerVision, применяя их для классификации, детекции и сегментации;
- Совершенствовать и разрабатывать AI-ассистентов для клиентов и сотрудников;
- Разрабатывать процессы, которые помогут выявлять недобросовестное использование систем;
- Погружаться в исследовательские проекты;
- Создавать парсеры для сбора данных из внешних источников;
- Посещать конференции и/или участвовать в соревнованиях.
#openbio_вакансии
😍3👍2
Утверждаем: курс «Машинное обучение в биологии и биомедицине» от OpenBio — лучшее предложение на рынке для профильных специалистов.
✅ Команда проекта более 4 лет создает образовательные курсы в сфере биотеха, знает, что сейчас актуально на рынке в сфере ML, и привлекла в качестве методистов курса одних из лучших специалистов в своем деле.
✅ Наши спикеры уже на момент «сейчас» создали успешную карьеру (и продолжают ее развивать), годами преподают тематические дисциплины. Такой сплав профильных знаний и преподавательского опыта позволяет успешно реализовать главную задачу курса — передать навыки обработки биомед данных современными методами машинного обучения тем, кто только начинает свой путь в ML.
✅ За 3,5 месяца с учебной нагрузкой по 8-10 часов в неделю вы овладеете полной базой для входа в сферу DataScience, что будет подтверждено официальным удостоверением о повышение квалификации государственного образца.
🗓 Старт весеннего потока — 25 февраля, а набор на него уже открыт.
✍️ Оставляйте заявку на бесплатную консультацию и фиксируйте за собой место на курсе по актуальной на данный момент цене. Ведь уже завтра, 2 декабря, цены вырастут ;)
А всем, кто оставит заявку на бесплатную консультацию сегодня, мы подарим гайд со списком литературы и ресурсов по изучению ML.
Начните свой путь в ML в биологии и биоинформатике вместе с командой профессионалов!
#openbio_ML
А всем, кто оставит заявку на бесплатную консультацию сегодня, мы подарим гайд со списком литературы и ресурсов по изучению ML.
Начните свой путь в ML в биологии и биоинформатике вместе с командой профессионалов!
#openbio_ML
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Начнем эту неделю с хороших новостей: мы возобновляем цикл онлайн-встреч из серии «Личный путь в сеньора биоинформатика» разговором с Александром Сарачаковым! 🤩
Александр уже был гостем одного из эпизодов цикла, но вместить в один разговор более 9 лет опыта в сфере ML невозможно, и мы договорились с Александром на еще один вебинар.
🗓 Встреча состоится 10 декабря в 19:00 по Мск.
Александр — ex-квант в хедж-фонде, в настоящее время Team Leader команды Imaging & Deep learning в BostonGene, а также преподает в Сбер.Университете на курсах «Байесовские методы машинного обучения» и «Компьютерное зрение», а так же в МФТИ и Санкт-Петербургской школе компьютерных наук.
На встрече будем обсуждать тренды отрасли, передовые достижения ML в биоинформатике, и, конечно, карьерные треки и лайфхаки для начинающих.
Встреча пройдет в формате разговора, где в дружеской атмосфере можно будет задать волнующие вас вопросы и подчерпнуть опыт спикера.
Стартуем 10 декабря, вторник, в 19:00 по Мск.
✍️ Пишите ваши вопросы в комментариях к этому посту, чтобы они точно были озвучены в эфире.
❗️ Регистрируйтесь на сайте, чтобы получить ссылку на эфир.
#openbio_webinar
#openbio_interview
#openbio_expert
Александр уже был гостем одного из эпизодов цикла, но вместить в один разговор более 9 лет опыта в сфере ML невозможно, и мы договорились с Александром на еще один вебинар.
Александр — ex-квант в хедж-фонде, в настоящее время Team Leader команды Imaging & Deep learning в BostonGene, а также преподает в Сбер.Университете на курсах «Байесовские методы машинного обучения» и «Компьютерное зрение», а так же в МФТИ и Санкт-Петербургской школе компьютерных наук.
На встрече будем обсуждать тренды отрасли, передовые достижения ML в биоинформатике, и, конечно, карьерные треки и лайфхаки для начинающих.
Встреча пройдет в формате разговора, где в дружеской атмосфере можно будет задать волнующие вас вопросы и подчерпнуть опыт спикера.
Стартуем 10 декабря, вторник, в 19:00 по Мск.
#openbio_webinar
#openbio_interview
#openbio_expert
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4⚡2😍2🤔1
Группировка и агрегация данных с помощью pandas 📊
Продолжаем знакомиться с функционалом pandas! В этот раз поговорим об еще одном важном инструменте — объединении данных в группы для раздельного анализа. Библиотека pandas предоставляет простой набор команд, который позволяет вычислить статистику для отдельных групп внутри датасета и создать сводные таблицы для отчетности и визуализации.
▫️ Как это делать?
Метод
Агрегация в pandas предоставляет различные функции, которые выполняют математические или логические операции над набором данных.
Самые частые из них:
●
●
●
●
●
●
●
●
▫️ Примеры использования
Для иллюстрации возможностей группировки в pandas рассмотрим вымышленный датасет с данными о пациентах:
Мы можем сгруппировать данные по одному из параметров, например, диагнозу, и подсчитать количество пациентов с каждым диагнозом:
Чтобы сгруппировать данные по нескольким параметрам, нужно передать их функции в виде списка - в квадратных скобках.
К числовым значениям можно применять математические функции, такие как суммирование, вычисление среднего и другие:
Таким образом, сочетание разных подходов к группировке и множества агрегирующих функций обеспечивает возможность глубокого и гибкого анализа.
▫️ Где еще это пригодится?
Группировка и агрегация данных необходима для построения некоторых графиков.
Рассмотрим один пример: посчитаем сумму затрат на лечение для каждого диагноза (как мы уже сделали в примере выше) и построим пайчарт.
🧑🏼💻 Попробуйте сами! Не стесняйтесь копировать код из постов и пробовать работать с ним — это точно поможет лучше разобраться в новых методах.
И неспроста мы коснулись темы графиков — в следующих постах нас ждет обсуждение библиотек для визуализации данных в Python!
#openbio_pandas #openbio_visualization
Продолжаем знакомиться с функционалом pandas! В этот раз поговорим об еще одном важном инструменте — объединении данных в группы для раздельного анализа. Библиотека pandas предоставляет простой набор команд, который позволяет вычислить статистику для отдельных групп внутри датасета и создать сводные таблицы для отчетности и визуализации.
▫️ Как это делать?
Метод
groupby()
при применении к датафрейму pandas разделяет его на группы на основании определенного критерия. В простейшем случае данные можно группировать по значениям в отдельных столбцах таблицы — тогда критерием будет название нужного столбца.Агрегация в pandas предоставляет различные функции, которые выполняют математические или логические операции над набором данных.
Самые частые из них:
●
sum()
Сумма значений в столбце●
min()
Минимальное значение●
max()
Максимальное значение●
mean()
Среднее значение●
count()
Количество значений в столбце●
std()
Стандартное отклонение ●
var()
Дисперсия значений●
sem()
Стандартная ошибка среднего▫️ Примеры использования
Для иллюстрации возможностей группировки в pandas рассмотрим вымышленный датасет с данными о пациентах:
import pandas as pd
data = {
'Пациент': ['А', 'Б', 'В', 'Г', 'Д', 'Е', 'Ж', 'З'],
'Возраст': [25, 30, 22, 35, 28, 40, 22, 30],
'Страховка': ['Есть', 'Нет', 'Нет', 'Есть', 'Нет', 'Есть', 'Есть', 'Нет'],
'Диагноз': ['Грипп', 'Грипп', 'ОРВИ', 'Грипп', 'ОРВИ', 'ОРВИ', 'Грипп', 'ОРВИ'],
'Стоимость лечения': [1000, 1200, 800, 1500, 900, 1100, 1300, 950]
}
df = pd.DataFrame(data)
df
Мы можем сгруппировать данные по одному из параметров, например, диагнозу, и подсчитать количество пациентов с каждым диагнозом:
grouped = df.groupby('Диагноз')['Пациент'].count()
print(grouped)
● В круглых скобках (в аргументе функции) записывается название столбца, на основании которого мы будем выделять группы.
● В квадратных скобках мы обозначили, с какими данными мы хотим работать после группировки. К ним будут применяться функции для агрегации.
Чтобы сгруппировать данные по нескольким параметрам, нужно передать их функции в виде списка - в квадратных скобках.
grouped = df.groupby(['Диагноз', 'Страховка'])['Пациент'].count()
print(grouped)
К числовым значениям можно применять математические функции, такие как суммирование, вычисление среднего и другие:
# Суммарные затраты на лечение для каждого диагноза
sum_grouped = df.groupby('Диагноз')['Стоимость лечения'].sum()
print(sum_grouped)
# Средний возраст пациентов с каждым диагнозом
age_grouped = df.groupby('Диагноз')['Возраст'].mean()
print(mean_age_grouped)
Таким образом, сочетание разных подходов к группировке и множества агрегирующих функций обеспечивает возможность глубокого и гибкого анализа.
▫️ Где еще это пригодится?
Группировка и агрегация данных необходима для построения некоторых графиков.
Рассмотрим один пример: посчитаем сумму затрат на лечение для каждого диагноза (как мы уже сделали в примере выше) и построим пайчарт.
import matplotlib.pyplot as plt
# 1. Группировка данных по диагнозу и подсчет суммы затрат на лечение
diagnosis_costs = df.groupby('Диагноз')['Стоимость лечения'].sum()
# 2. Построение пайчарта
plt.figure(figsize=(8, 6)) # Создаем рисунок размером 8х6
plt.pie(diagnosis_costs, # Создаем пайчарт
labels=diagnosis_costs.index, # Подписываем каждый сектор названием диагноза
autopct='%1.1f%%') # Добавляем на диаграмму процентные значения
plt.show()
🧑🏼💻 Попробуйте сами! Не стесняйтесь копировать код из постов и пробовать работать с ним — это точно поможет лучше разобраться в новых методах.
И неспроста мы коснулись темы графиков — в следующих постах нас ждет обсуждение библиотек для визуализации данных в Python!
Уверены, что это поможет вам укрепить техническую базу и подготовиться к курсу «Машинное обучение в биологии и биомедицине» от OpenBio 🎓👾
#openbio_pandas #openbio_visualization
👍2🔥2
Опубликован материал, созданный совместно с редакцией N+1 методистом нашего курса «Машинное обучение в биологии и биомедицине» Анной Новокрещеновой!
Приходите на курс, чтобы узнать больше о тонкостях работы в этой сфере и научиться создавать эффективные и полезные модели машинного обучения для ваших задач.
Приятного чтения!
#сми_о_нас
Приходите на курс, чтобы узнать больше о тонкостях работы в этой сфере и научиться создавать эффективные и полезные модели машинного обучения для ваших задач.
Приятного чтения!
#сми_о_нас
edu.openbio.ru
Машинное обучение в биологии и биомедицине
Курсы по машинному обучению в биологии и биомедицине
👍3🔥3😍2