Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
27 - Telegram Web
Telegram Web
Друзья, OpenBio открывает новое направление – машинное обучение в биологии и медицине.

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

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

Пожелайте нам удачи и присоединяйтесь!
4👍4👏4
С какого момента началась история искусственного интеллекта?

Ответ на этот вопрос не так прост, так как трудно установить момент, когда люди начали использовать статистику для предсказания и классификации. Даже банальная линейная регрессия уже технически – метод машинного обучения (МО).

Как правило, термин «машинное обучение» подразумевает, что модель воплощена в исполняемом коде для компьютера. Если в математической основе лежит статистический расчёт, то говорят о классическом (или статистическом) машинном обучении. Ещё одним примером МО можно назвать наивный байесовский классификатор, работающий в антиспамовых фильтрах. Сюда же относятся метод К-средних, деревья решений и метод случайного леса, уточняющий их предсказания. Основой останется серьезная математика, «зашитая» в код.

Но помимо классических методов, развитие искусственного интеллекта было богато на моменты озарения, пришедшие из биологии. Самым ярким из них было изобретение искусственных нейронных сетей. Попытки создания математических моделей нейронов для применения в распознавании символов встречались уже в 1950-х годах. Но продуктивными они стали только парой десятилетий позже – после расшифровки Хьюбелом и Визелем структуры зрительного центра мозга человека. Попытка воспроизвести модели нейронов в компьютерном воплощении привела к архитектуре свёрточной нейронной сети. Спустя много лет именно эта архитектура ляжет в основу первой модели AlphaFold – программы, умеющей предсказывать трёхмерную структуру белка.

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

📲 Подписывайтесь на наш канал. В следующих постах мы будем рассказывать об основных инструментах и тулах Python для машинного обучения в биологии и медицине.

#openbio_datascience
👍53🔥3🤔1
Как оценить надежность универсальной модели ИИ перед развертыванием?

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

Базовые модели – это массивные модели глубокого обучения, которые натренированы на немаркированных данных общего назначения и спроектированы для ситуации, когда последующие задачи неизвестны, на выходе не дают конкретных результатов, а генерируют абстрактное представление на основе входной информации. Они лежат в основе работы таких приложений, как ChatGPT и DALL-E, и применяются для решения таких задач, как создание изображений или ответы на вопросы клиентов.

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

Принцип оценки. Сначала исследователи берут близкие базовые модели. Затем используя специальный алгоритм и идею «neighborhood consistency» для оценки согласованности представлений, сравнивают результат об одной и той же точке тестовых данных по каждой модели. Если представления согласованы, значит модель надежна.

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

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

#openbio_новости
👍3🔥3🤓2
Подборка свежих вакансий для биологов и биомедиков с компетенциями в области машинного обучения. Успейте отправить резюме, пока они не ушли в архив.

Data Scientist в сеть клиник Ниармедик
Предстоит разрабатывать, тестировать и оптимизировать модели машинного обучения на медицинских протоколах и картах пациентов.

Разработчик ML-сервисов в УралХим
Основные обязанности: проведение экспериментов, разработка моделей машинного обучения и поддержка разработанных решений.

Биоинформатик / Data-Engineer в центр молекулярной онкологии ОнкоАтлас
Ищут маэстро инженерного искусства, который по косвенным признакам может заподозрить ошибку в системе, самостоятельно погрузиться в тысячи строк кода и выявить неполадку. Знание ML приветствуется.

Data Scientist в Inspectrum Clinic
Задачи: подготавливать данные (Feature engineering), создавать модели алгоритмов, разрабатывать метрики для оценки точности алгоритма и внедрять лучшие модели в процессы клиники.

Senior DL Engineer в Care Mentor AI
Предстоит обучать модели классификации, сегментации и детекции на 2D и 3D изображениях (рентгены, КТ, МРТ, ПЭТ-КТ и т.д.), проводить эксперименты по поиску лучшей архитектуры, автоматизировать разметку, а также руководить командой DL инженеров.

#openbio_вакансии
👍4🔥3
16 июля в Монреале завершилась ежегодная конференция BOSC 2024 (Bioinformatics Open Source Conference). Это мероприятие проводит Open Bioinformatics Foundation – крупнейшая некоммерческая организация по созданию и продвижению открытого программного обеспечения для биоинформатики.

А у нас есть еще один повод напомнить о библиотеке Python, которую поддерживает эта организация – Biopython.

Варианты установки Biopython:

Через менеджер пакетов pip по названию biopython:
pip install biopython
В conda:
conda install -c conda-forge biopython
В системе Linux:
sudo apt-get install python-biopython
(команда для Debian/Ubuntu-подобных систем)

Что умеет Biopython?
1️⃣ Упрощает разбор («парсинг») биологических баз данных. Модуль Entrez упростит получение информации из геномных баз данных NCBI, а модуль PDB позволит обратиться к одноимённому банку данных.
2️⃣ В нём есть готовые методы работы с последовательностями и выравниваниями. Например, конкатенация и конвертация из одного формата в другой.
3️⃣ Имеет обширный набор инструментов для частных биоинформатических задач. Модуль Bio.PopGen проведёт расчёты по популяционной генетике, а Bio.Phylo отредактирует филогенетические деревья.

Сразу оговоримся, что эти модули предлагают только базовый набор функций, поэтому без других пакетов и программ обойтись нельзя. Чтобы построить филогенетические деревья (а не только редактировать их) – присмотритесь к пакету DendroPy и программам MAFFT и MEGA. А для популяционной генетики много библиотек в языке R.

Biopython – базовый инструментарий. Подробнее в официальном руководстве.

Все изучаем Biopython!

#openbio_datascience
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3🤔1
🔈 Открываем набор на курс повышения квалификации «Машинное обучение в биологии и биомедицине»!

В течение 2,5 месяцев вы изучите классические и продвинутые методы ML в биологии и биомедицине, получите практику по 4-м кейсам и пройдете групповое соревнование по Computer Vision.

В программе:
Задачи классического ML в биологии и биомедицине – база для входа в индустрию.
Методы кластеризации и понижение размерности на примере табличных данных с single-cell RNA-seq.
Нейронные сети и введение в DL, изучение PyTorch+Torchvision, разборы статей с экскурсом в историческое развитие архитектур.
Интеграция мультиомиксных данных, практики понижения размерностей с помощью нейросетей. Автоэнкодеры.
Бинарная классификация и сегментация изображений с помощью технологий Computer Vision – подробно с элементами практической инженерии.

Курс можно проходить в любое время – видеолекции и материалы доступны для самостоятельного изучения. Раз в неделю вас ждут прямые эфиры с экспертами, где вы разберёте домашние задания и получите ответы на интересующие вопросы. Плюс поддержка в чате доступна в течение всего курса.

Старт: 1 октября.
Учебная нагрузка: 8-10 часов в неделю.
Спикеры: опытные преподаватели и действующие эксперты индустрии и науки.
Что нужно знать: базу Python и библиотеки numpy и pandas.

🔤 Мы даем скидки студентам (30%) и аспирантам (10%), а также группам от юрлиц.

Записывайтесь прямо сейчас и начните свой путь к востребованным профессиям в области DataScience!

➡️ Регистрация на курс https://goo.su/XYImAym

#openbio_ML
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3🤔2
Numpy — это база!

Библиотека Numpy для Python — это основа науки о даннных и биоинформатики. При этом, хоть каждому программисту Python и знакомо имя пакета для установки
 pip install numpy

и команда импорта библиотеки,
 import numpy as np

в практических задачах мало кто использует её в явном виде. Это происходит, потому что библиотеки для прикладного анализа данных, такие как pandas, matplotlib, scikit-learn, опираются на Numpy и вызывают её "под капотом". В реальных задачах чаще используются библиотеки самого высокого уровня, но знать Numpy на теоретическом уровне очень важно.

Что умеет Numpy?
Ключевая функция Numpy — оперировать с N-мерными массивами (которые в линейной алгебре известны под именем матриц и векторов) без написания цикла пользователем. Сами циклы запускаются, но выполняются скрыто, а код операций пишется так же, как в тетради по линейной алгебре.

Например, если array1 — это двухмерная матрица, то операция
 array1 + 3

сложит каждый элемент матрицы со скаляром.

Если vector1 и vector2 — векторы одинаковой размерности, то операция
 vector1*vector2

выполнит их адамарово (поэлементное) умножение.

В Numpy есть и другие полезные функции, которые облегчают вычисления. Например, если нужно извлечь квадратные корни из целого массива чисел (например, array1), то функция
 np.sqrt(array1)

извлечёт корень из каждого элемента массива и вернёт корни таким же списком. Такие функции называются универсальными функциями.

🖥 Подробная документация по Numpy представлена на сайте , где в окне браузера можно поработать с Numpy в интерактивном режиме. Если вы только начинаете изучать Python, "поиграйтесь" с ней как с линейно-алгебраическим калькулятором.

📖 Кстати, для изучения прикладной линейной алгебры в том ключе, в котором она реализована в Numpy, подойдет книга Коэн М.И. Прикладная линейная алгебра для исследователей данных / пер. с англ. А. В. Логунова. — М.: ДМК-Пресс, 2023. — 328 с.: ил.

#openbio_numpy
👍30🔥27
Пятничная подборка вакансий для биологов и биомедиков с компетенциями в области ML.

Успейте отправить резюме, пока они не ушли в архив.

Инженер-исследователь в Центр нейробиологии и реабилитации мозга им. Владимира Зельмана Сколтеха
Основные обязанности: разработка алгоритмов управления внешними устройствами на основе физиологических сигналов и генерация гипотез для обработки и интерпретации физиологических данных.

Data Scientist AI/ML в Иннотех
Ищут специалиста на проект, связанный с разработкой интеллектуального помощника для врачей-реаниматологов. Опыт практического применения алгоритмов Machine Learning обязателен.

Ведущий разработчик искусственного интеллекта (NLP) в Геномед
Идеально подойдете, если умеете с нуля реализовать проекты по внедрению AI в процессы компании. Примеры задач, которые предстоит решать: создание чат-бота для общения с клиентами и партнерами, генерация заключений на основе медицинских данных.

Ведущий аналитик в Инвитро
Нужно проработать архитектуру, видение и интеграцию BI системы с существующими решениями. Из требований: умение работать с ML, AI, BigData, LLM, Generative AI.

#openbio_вакансии
🔥19👍3🤔1
Большие языковые модели пока слабо подходят для диагностики заболеваний.

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

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

Для поиска ответа на этот вопрос ученые использовали анонимные данные 2400 пациентов из клиники в США с 4 распространенными абдоминальными патологиями: аппендицит, панкреатит, холецистит и дивертикулит. Все они обратились в неотложку с болью в животе.

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

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

2 часть исследования
Ученые сравнили диагнозы ИИ с диагнозами четырех врачей. Диагнозы врачей были верны в 89% случаях, в то время как лучшая языковая модель достигла только 73%.

При этом диагнозы, поставленные языковой моделью, зависели от порядка, в котором она получала информацию, и от лингвистических тонкостей. Например, результаты отличались, когда у программы запрашивался «основной», «первичный» или «окончательный» диагноз. Хотя в клинической практике эти термины взаимозаменяемы.

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

📲 Ссылка на исследование https://www.nature.com/articles/s41591-024-03097-1

#openbio_новости
🔥12👍4🤔1
Kaggle – учитесь, соревнуйтесь, растите и получайте деньги.

Kaggle – это популярная платформа Google, где пользователи участвуют в соревнованиях и получают за это денежные призы.

Как проходят соревнования
Организатор публикует описание задачи и исходную информацию, устанавливает сроки и критерии оценки. Задача участников – предложить лучшее решение, применив различные методы и алгоритмы. Победитель получает приз. Остальные участники зарабатывают баллы, которые влияют на их рейтинг в общей таблице.

Сейчас для дата-сайентистов в области медицины на Kaggle проходят несколько соревнований с денежными призами:

✔️ ISIC 2024 – Выявление рака кожи с помощью 3D-TBP.
Предстоит разработать алгоритмы ИИ, которые отличают злокачественные поражения кожи от доброкачественных.
💸 Приз 80 000 $

✔️ ICR – Выявление возрастных заболеваний.
Нужно создать модель ML для обнаружения заболеваний на основе медицинских данных.
💸 Приз 60 000 $

✔️ Классификация дегенеративных заболеваний поясничного отдела позвоночника RSNA 2024.
Цель этого конкурса – разработать модели, которые имитируют работу рентгенолога при диагностике заболеваний позвоночника.
💸 Приз 50 000 $

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

А что делать новичкам?
Если вы начинающий дата-сайентист, поучаствуйте в соревнованиях начального уровня. В них нет призового фонда и ограничений по датам, но по структуре они аналогичны Kaggle-соревнованиям с призами.
🔥22👍3🤔1
Numpy: часть 2. Индексирование и транспонирование
(вводную статью серии про Numpy можно посмотреть здесь)

Существуют особо частотные операции библиотеки Numpy, и к ним относятся индексирование и транспонирование. При работе с большими данными их часто придётся вызывать в явном виде.

Индексированием называется выбор элемента в массиве Numpy по его индексу — положению или “номеру” в матрице.

Если my_array — это ваша матрица, то команда вида
my_array[i, j]

вернёт элемент, находящийся на пересечении строки i и столбца j.

Но не всё так просто!

Обратите внимание на левую часть картинки. Пусть my_array — это матрица 4×3, обведённая прямоугольной рамкой. Что будет, если задать элемент my_array[1, 2]? Интуитивно кажется, что программа вернёт 4 — ведь четвёрка в первой строке и втором столбце. Но Python возвращает 47, потому что он считает с нуля. Первый элемент в любом массиве для него — всегда нулевой. Такое языки называются нуль-индексными.

Это делает обращение к строкам и столбцам таблицы по номерам резко неудобным. Но, к счастью, есть хорошее решение — библиотека Pandas с её фреймами данных, которая работает “поверх” Numpy, подробнее расскажем в следующем посте.

Помимо индексирования, часто бывает нужно уложить двумерный массив набок, поменяв местами строки и столбцы. Для этого в Numpy есть целых два решения!

1️⃣ Прежде всего, у каждого массива Numpy как объекта (Python — объектно-ориентированный язык, здесь почти всё — объект) есть метод из одной буквы — T. Он как раз и осуществляет транспонирование.
 my_array.T


2️⃣ Но есть и более привычный вариант — вызов функции transpose из библиотеки Numpy с передачей ей нашей матрицы в качестве аргумента. Например, если вы импортировали Numpy как np (это её стандартное имя при импорте), то транспонирование осуществляется так:
np.transpose(my_array)


Сама по себе операция транспонирования встречается в биоинформатических задачах часто, почти на уровне рутины — некоторые библиотеки и методы лучше работают с данными в строках, некоторые — со столбцами. Знание команд для транспонирования позволяет проводить его “одним махом”, не отвлекаясь на преобразование данных и на написание нового кода.

#openbio_numpy
👍21🔥2🤔1
Этим постом мы начинаем серию публикаций про работу в Pandas.

Двухмерные и N-мерные массивы — очень удобная вещь, но они немного оторваны от реальной жизни:

🔸 У столбцов нет имён, а у строк — явно определяемых номеров;
🔸 Все данные в каждой клеточке — одного типа.

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

🔹 Каждая строка представляет единицу наблюдения, какой-то один элемент данных. Например, одного человека, один ген, один белок и т.д.
🔹 Каждый столбец представляет собой параметр данных. Допустим, для гена столбцами могут быть положение на хромосоме, длина в азотистых основаниях, транскрипционная активность в данном типе клеток и т.п. То есть у столбцов разные форматы данных: в одной и той же таблице будут столбцы со строковыми переменными, числами, а возможно — даже изображениями и последовательностями.

Такие таблицы в программировании называются фреймами данных (data frame). Примером фрейма данных является любая электронная таблица Excel или база данных MS Access. Но у Access слишком слаб вычислительный функционал, а Excel, помимо ограничений на количество строк и объём таблицы, имеет несколько важных недостатков:

🔻 Его расчётный функционал сложно автоматизировать и дополнить своим кодом. Как и у всего MS Office, у него есть встроенный язык VBA (Visual Basic for Applications), но его гибкость в плане расширения библиотеками весьма ограничена. Так что для биоинформатики он подходит мало;

🔻 Сам он не умеет читать многие биоинформатические форматы: файл FASTA или филогенетическое дерево он просто не сможет корректно открыть. Наоборот, Python может открыть буквально всё — за счёт импорта соответствующих библиотек.

Поэтому возникает естественная необходимость в библиотеке Python, которая может работать с фреймами данных как цельными объектами, удобно обращаться к отдельным элементам фрейма и делать с ними почти всё то же, что офисные пакеты делают с электронными таблицами. Итак, вашему вниманию — Pandas!

Если вы импортировали Pandas как pd (его общепринятое “имя”)
import pandas as pd

то фрейм данных будет описываться как
pd.DataFrame


(Каждому фрейму также можно присвоить любое имя. Python — язык с динамической типизацией, поэтому фрейму будет присвоено то имя, под которым вы впервые упомянете его в коде).

У фрейма есть заголовки столбцов и метки строк, которые называются индексами. Понятие индекса в Pandas аналогично понятию ключевого поля в MS Access. Если “ключа” (индекса) нет, то Pandas создаст его сам, просто присвоив строками порядковый номер. Есть один минус — начинаться он будет с нуля (Python всегда считает с нуля, он нуль-индексный).

Индекс представляет собой отдельный столбец, и ему тоже можно присвоить заголовок столбца. Если ваш фрейм данных носит имя df, то переименовать индекс можно так:
df.index.name = “имя_индекса_которое_вам_нравится”


Индекс можно сменить:
df.reset_index().set_index(“имя_столбца_который_вы_хотите_сделать_индексом”)


Если в Excel обратиться к значению ячейки можно было просто по её координатам, то в Pandas такого нет. Для выбора даже одиночного значения придётся выполнить что-то вроде мини-запроса. Например, метод loc объекта DataFrame:
df.loc[индекс_строки, “заголовок столбца”]


Подробнее об индексации и выборе элементов в Pandas читайте в наших следующих постах. Но сначала научимся открывать и сохранять файлы в Pandas (да, он умеет!). Не переключайтесь!

💡Интересный факт
В языке R тоже есть фрейм данных (data.frame), и он присутствует даже в стандартной комплектации языка. Но для комфортного индексирования фрейма и продуктивной работы с ним всё равно придётся поставить дополнительные библиотеки.

#openbio_pandas
👍19🔥4🤔1
🔥 Свежая подборка вакансий и стажировок для биологов и биомедиков с компетенциями в области ML. Успейте отправить резюме, пока они не ушли в архив.

Data Scientist в Сбер
Нужен человек, который будет работать над развитием существующих и созданием новых сервисов, выведением их на цифровые поверхности и улучшением клиентского опыта в здравоохранении.

Стажер ML/DL в центр медицины Sber AI Lab
Предлагается заняться построением таксономии медицинских изображений и подготовкой Q&A задачи для включения в медицинский бенчмарк. Желание освоить ML-алгоритмы приветствуется.

Руководитель продукта в Инвитро
Нужно проработать архитектуру и интеграцию CDP с существующими решениями и запустить процесс допродаж по треку здоровья. Знания AI, ML, BigData, LLM, Generative AI обязательны.

ML/AI специалист на стажировку
Sr.Director Data Science в GLUE, ex-Novartis Анна Костикова ищет в команду ML/AI специалиста, который хочет перейти в отрасль Al for drug discovery (разработка лекарств).

#openbio_вакансии
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥3
С развитием технологий AI биологи и биомедики все чаще обращаются к методам ML для оптимизации исследований. Эффективный анализ данных требует использования специализированных библиотек для обработки и интерпретации информации.

В вакансиях по ML примерно в 50% случаях в требованиях указывают знание библиотек. Самая популярная Scikit-learn, далее идут Numpy, SciPy, Pandas и Matplotlib практически без отрыва. Расскажем про них чуть подробнее.

1️⃣ Scikit-learn (Sklearn)
Эта библиотека включает в себя алгоритмы для классификации, регрессии, кластеризации и уменьшение размерности.

2️⃣ Numpy
Эта библиотека – основа для научных вычислений в Python. Она поддерживает работу с многомерными массивами и матрицами. А также включает в себя большое количество математических функций для выполнения операций над этими массивами.
*️⃣Следите за серией постов о Numpy в нашем телеграм-канале по хештегу #openbio_numpy

3️⃣ SciPy
Строится на основе Numpy и предназначена для глубоких и сложных научных вычислений, анализа данных и построения графиков.

4️⃣ Pandas
Нужна для обработки и анализа структурированных табличных данных. С её помощью можно фильтровать, сортировать, агрегировать и преобразовывать данные, а также интегрироваться с источниками для чтения и записи.

5️⃣ Matplotlib
Используют для визуализации данных любой сложности. Библиотека позволяет создавать разные виды графиков: линейные, круговые диаграммы, построчные гистограммы, – а также комбинировать их в зависимости от задач.

Берите на вооружение и изучайте точечно – при работе с данными точно пригодится!

#openbio_python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
⚡️ До повышения цены на курс «Машинное обучение в биологии и биомедицине» осталось меньше 24 часов!

Программа спроектирована таким образом, чтобы вы могли освоить самые популярные задачи в ML в области биологии и биомедицины. Однако даже их можно будет экстраполировать на смежные задачи. Например, для модуля 5 по Computer Vision в медицинском секторе это могут быть:

1️⃣ Автоматическая обработка изображений с медицинскими данными пациентов.
Это могут быть данные различной модальности, представляющиеся в виде изображений:
▪️ Данные лучевой диагностики (разнообразные рентгены, КТ, МРТ),
▪️ Записи (гастро)колоноскопии и подобных эндоскопических исследований,
▪️ Фото/видео пациента, полученные в рамках телемедицины. Методы компьютерного зрения тут могут быть применены для разработки систем поддержки принятия врачебных решений (СППВР).

2️⃣ Автоматизация обработки лабораторных исследований
▪️ Анализ крови,
▪️ Обработка гистологических данных, в том числе и работа со слайдами, окрашенными при помощи H&E или в рамках мультиплексной иммунофлюоресценции (MxIF),
▪️ Обработка изображений спектров, полученных методами MALDI-TOF, с времяпролетных газовых хромато-масс-спектрометров и подобной лабораторной техники. В рамках этого направления можно автоматизировать рутинные задачи по поиску и подсчету числа клеток на изображениях, автоматизировать определение типов тканей, решать задачи поиска раковых клеток на изображении.

3️⃣ Видео аналитика для медицинских учреждений и производства.
В рамках этого подхода решаются задачи мониторинга безопасности пациентов и контроля качества оказания медицинского ухода, а также контроля качества и безопасности на производстве.

и другие.

🔣 Записаться на консультацию и зафиксировать текущую стоимость участия можно на сайте edu.openbio.ru/mlforbiomed

#openbio_ML
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3🤔1
This media is not supported in your browser
VIEW IN TELEGRAM
Открываем и сохраняем файлы в pandas (и интегрируем его с Excel)
Это второй пост из серии про pandas.

Pandas идеально подходит для работы с табличными данными - он способен открывать файлы Excel и проводить внутри преобразования. Более того, сохранить датафрейм тоже можно в файл Excel. Это делает удобной интеграцию pandas с офисным пакетом: результаты можно сразу красиво оформить для выступления на конференции или передачи коллегам, которые занимаются только “мокрой” биологией и не работают с инструментами data science.

Давайте посмотрим как это делается. Если мы импортировали pandas под именем pd:
import pandas as pd


то считать фрейм данных из файла Excel можно следующим образом:
df = pd.read_excel(”your_excel_file.xlsx”)


Эта строчка создаст фрейм данных df и перенесёт в него данные из файла.

‼️ Так как в Python нет процедуры объявления переменных в явном виде и типизация динамическая, помните, что метод pd.read_excel всегда возвращает фрейм данных. И любая переменная, в которую записывается результат его работы, сама становится фреймом данных.

По умолчанию метод pd.read_excel считывает данные, начиная с ячейки A1 слева направо сверху вниз. Если они расположены иначе, необходимо “навести” его на таблицу с данными:

✔️ пропустить заданное число строк перед таблицей параметром skiprows;
✔️ захватить нужные столбцы параметром usecols.

Предположим, что импортируемая таблица занимает в файле Excel ячейки C2:F6. Тогда pandas для её считывания должен перескочить одну строку и использовать столбцы C:F. Давайте ещё предположим, что в файле несколько листов, а эта таблица располагается на рабочем листе с названием “Sales” — его можно указать в параметре sheet_name. В итоге получится команда:
df = pd.read_excel(”your_excel_file.xlsx”, sheet_name=”Sales”, skiprows=1, usecols=”C:F”) 


Допустим, расчёты завершены, и хорошо бы сохранить получившуюся таблицу в файл Excel. Если ваш фрейм данных называется df, то метод df.to_excel позволит это сделать легко и быстро:
df.to_excel(”your_resulting_file.xlsx”)


Функционал pandas по работе с файлами Excel очень широк — он может производить чтение с нескольких рабочих листов за один раз, запись на несколько листов, выполнять большой спектр расчётов и строить (с помощью библиотеки Matplotlib) графики, которые не умеет строить Excel. О некоторых из этих функций мы расскажем в следующих постах. А интеграцию pandas с Excel можно подробнее изучить по книге:
📓 Зумштейн Ф. Python для Excel: Пер. с англ. — СПб.: БХВ-Петербург, 2023 – 336 с., ил.

#openbio_pandas
🔥3👍2
В предыдущем посте мы рассказывали, как наладить интеграцию pandas и Excel. В основном она рассчитана на тех пользователей, которые хранят данные и работают с ними на локальном компьютере. Но у нас есть хорошие новости для тех, кто предпочитает облачные сервисы компании Google.

22 июля этого года Google анонсировала возможность работы с Google Таблицами прямо в интерактивном блокноте Google Colab – с последующим импортом их в качестве фреймов данных pandas. Для этого надо импортировать модуль sheets из библиотеки google.colab:
from google.colab import sheets


Далее нужно создать объект InteractiveSheet() из этого модуля. Он создаётся простым упоминанием (помните, что явного объявления переменных нет?)
sh = sheets.InteractiveSheet()


При выполнении в первый раз может появиться окно запроса доступа: приложению Colaboratory Runtimes необходим доступ к вашему Google Диску. Авторизуйте его и продолжите работать.

Если у Colaboratory Runtimes уже есть все разрешения, то в следующей ячейке появится пустой интерактивный рабочий лист Google Таблиц (см. рисунок). Это и есть InteractiveSheet(). Зайдя в свой аккаунт Google Таблиц, вы увидите копию этого листа там – Colab установил связь с аккаунтом Google Таблиц и теперь может выполнять действия от имени пользователя.

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

Чтобы превратить эту таблицу во фрейм данных df, напишите в следующей ячейке кода команду:
df = sh.as_df()


‼️ Помните, что функция as_df объекта InteractiveSheet тоже всегда возвращает фрейм данных!

Проконтролировать правильность импорта можно, просто набрав в следующей ячейке кода имя фрейма данных
df

и запустив её на выполнение. Если программа не выдала ошибку, а перед вами появилась ваша же таблица, но красиво отформатированная в формате HTML – значит, всё прошло успешно.

Удачной всем работы в облаке!

#openbio_pandas
👍3🔥3🤔1
2025/07/12 00:49:26
Back to Top
HTML Embed Code: