Big Data Science [RU]
1.62K subscribers
81 photos
9 videos
546 links
Big Data Science [RU] — канал о жизни Data Science.
Для сотрудничества: a.chernobrovov@gmail.com
🌏 — https://t.me/bdscience — Big Data Science channel (english version)
💼 — https://t.me/bds_job — channel about Data Science jobs and career
Download Telegram
🧐ИИ предсказывает, сколько лет детям. Насколько это безопасно?
Сегодня любой контент принято ограничивать по возрасту, указывая минимальное количество лет его потенциального потребителя. Всем известна маркировка фильмов 18+. А в большинстве соцсетей самостоятельно создавать учетные записи могут пользователи старше 13 лет. Неудивительно, что технологии распознавания лиц применяются и для определения возраста потребителей контента или пользователей. Если смотреть дальше, ИИ может спрогнозировать, как человек будет выглядеть в старости: вспомним недавний бум FaceApp.
Аналогично, решения компании Yoti для оценки возраста имеют погрешность менее 3-х лет для диапазона от 6 до 60 лет. Для пользователей младше 25 лет допустимая погрешность составляет менее 1,5 лет. В ближайшие несколько недель они запустятся в крупных сетях супермаркетов в Великобритании, чтобы, например, чтобы предупредить продажу алкоголя несовершеннолетним. Yoti обучила свои нейронные сети с помощью сотен тысяч изображений лиц людей из их официальных документов (паспорта и водительские права). Из-за высокой опасности утечки таких конфиденциальных данных очень значима другие игроки рынка распознавания лиц заявляют, что проверка возраста по возможности должна производиться без анализа самого лица или других биометрических данных.
https://www.wired.com/story/ai-predicts-how-old-children-are/
😜ML для защиты детей
В США каждый седьмой ребенок за последний год подвергся жестокому обращению или пренебрежению. Американские агентства по защите детей ежегодно получают несколько миллионов сообщений о предполагаемом пренебрежении или жестоком обращении. Поэтому некоторые агентства внедряют ML, чтобы помочь специалистам проверять дела и определять, какие следует расследовать дальше. Но эти ML-модели бесполезны, если пользователи не понимают их результатов и не доверяют им.
Поэтому учение из MIT и других организаций разработали инструмент визуальной аналитики, который использует гистограммы, чтобы показать, как конкретные факторы дела влияют на прогнозируемый риск того, что ребенок останется без дома в течение ближайших двух лет. Эта оценка риска основана на более чем 100 демографических и исторических факторах, включая возраст родителей и наличие судимостей. Протестировав созданное решение, разработчики сделали выводы о необходимости улучшить визуализацию и интерпретируемость прогнозов, чтобы избежать опасных искажений в принятии важных решений.
https://news.mit.edu/2021/machine-learning-high-stakes-1028
3 декабря в Москве (и онлайн) пройдет конференция по разговорному AI для разработчиков и бизнеса Conversations 🔥 В этом году ключевые темы конференции — machine learning, синтез речи, речевая аналитика. Среди спикеров Conversations’21 — эксперты Yandex.Cloud, Сколтеха, Replika.ai, DeepPavlov, Skyeng, Speechmate, Huawei, SmartMarket и других компаний.

Вот 5 докладов конференции, которые ну просто нельзя пропустить:

☝🏻Сколтех — о том, как устроена автоматическая детоксикация текстов для борьбы с ненормативной лексикой и как можно фильтровать и перефразировать токсичные реплики в диалоговых системах.

✌️Skyeng — про то, как на основе даже короткой речи оценить уровень знания английского языка и произношение: как устроен препроцессинг с применением эвристик и 1dConv-сетей, зачем потребовалась оптимизация на Rust и как делить на части длинное аудио использования языка на разных уровнях владения (и почему BERT и Fasttext не подошли).

🤟🏻 Yandex.Cloud — о том, сколько MLOps можно оставить на датасайентисте на примере речевых технологий.

🖖🏼 Replika.ai — о том, как они отказались от Open AI и теперь радуются жизни (интригующе!).

🖐 Speechmate — о технологических новшествах smart-аудиоустройств с точки зрения «железа» на примере умных бейджей и о том, как подружить сервисы речевой аналитики с хардверной платформой.

Больше тем и спикеров на сайте Conversations.

🥳 Всем читателям канала организаторы предлагают специальный промокод на покупку билета с 10% скидкой: CONVS*BdS

https://conversations-ai.com/?utm_source=bds_ru&utm_medium=posttelegram&utm_campaign=conversations
📝👀Fastparquet: читаем Parqufet-файлы с помощью Python
Apache Parquet – это бинарный колоночно-ориентированный формат хранения данных, изначально созданный для экосистемы Hadoop. Благодаря сжатому и эффективному представлению данных по столбцам, он очень популярен в мире Big Data. Однако, прочитать данные в формате Parquet – не самая простая задача. PySpark, конечно, справится с этим, но далеко не каждый Data Scientist работает с данными в Apache Spark. В этом случае поможет fastparquet - реализация формата Parquet на Python, которая используется проектами Dask, Pandas и др., обеспечивая высокую производительность при малом размере дистрибутива и небольшой кодовой базе. Fastparquet зависит от набора Python-библиотек (numpy, pandas, cramjam, fsspec), поэтому их следует установить заранее.
После установки через PIP-менеджер пакетов (pip install fastparquet) или с Github (pip install git+https://github.com/dask/fastparquet) содержимое Parquet-файла можно без труда передать в датафрейм в вашей привычной DS-IDE, например, Jupiter Notebook:
from fastparquet import ParquetFile
pf = ParquetFile('myfile.parq')
df = pf.to_pandas()
df2 = pf.to_pandas(['col1', 'col2'], categories=['col1'])

Или записать датафрейм в Parquet-файл, указав количество логических сегментов, кодек сжатия и схему данных:
from fastparquet import write
write('outfile.parq', df)
write('outfile2.parq', df, row_group_offsets=[0, 10000, 20000],
compression='GZIP', file_scheme='hive')

https://github.com/dask/fastparquet
https://www.anaconda.com/blog/whats-new-with-fastparquet
https://blog.datasyndrome.com/using-the-python-ml-stack-inside-pyspark-de1223942c32
https://fastparquet.readthedocs.io/en/latest/
​​Какой город зачастую называют «Воротами в Сибирь»? 

Конечно, это Челябинск ⚡️⚡️
Хакатон по искусственному интеллекту 9/116

👁 Кейс №1 от Росаккредитации: ИИ на страже качества российских товаров

Создать модель для выявление ошибок валидации товаров производителем и автоматического присвоения кода Единого перечня продукции Российской Федерации (ЕП РФ) для новой выпускаемой продукции на основе следующих данных:

▪️текстовое описание продукции (~1 предложение/ абзац) от производителя;   
▪️ код, присвоенный производителем  (может содержать до 5% ошибок);
▪️ категория и подкатегория.

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


👁 Кейс №2 от АО «ЧРЗ Полет»: Цифровой авиадиспетчер

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

Общий призовой фонд: 800 000 рублей 😈
Офлайн: Radisson Blu Hotel Chelyabinsk, ул. Труда, 179

Регистрируйся на сайте до 17 ноября!
Стань частью российского ИИ-сообщества ⚡️⚡️

#hacksai #хакатоныИИ #ИскусственныйИнтеллект

https://hacks-ai.ru/hakaton/chelyabinsk
🌏Цифровой двойник Земли от NVIDIA
Чтобы бороться с климатическими катастрофами, NVIDIA собирается создать самый мощный в мире ИИ-суперкомпьютер для прогнозирования изменения климата. Эта система создаст цифрового двойника Земли во Вселенной и станет аналогом Cambridge-1, самого мощного в мире суперкомпьютера с искусственным интеллектом для медицинских исследований. Объединив три технологии: вычисления с ускорением на GPU, глубокое обучение на нейросетях и суперкомпьютеры AI с множеством наблюдаемых и модельных данных, ученые и инженеры собираются добиться точного моделирования физических, биологических и химических процессов на Земле. Это поможет формировать ранние предупреждения для адаптации и повышения устойчивости городской инфраструктуры, чтобы люди и страны действовали оперативно, предупреждая климатические катастрофы.
https://blogs.nvidia.com/blog/2021/11/12/earth-2-supercomputer/
🕸🐅Более 50 новых графовых алгоритмов в TigerGraph: осенний релиз 2021
TigerGraph - это популярная быстрая и масштабируемая графовая СУБД с массивно параллельной обработкой и поддержкой ACID-транзакций, что делает ее самой быстрой и самой масштабируемой графической платформой. Благодаря эффективному сжатию данных и MPP-архитектуре она может анализировать огромные объемы информации в режиме реального времени. А внутренний язык запросов GSQL очень похож на стандартный SQL, знакомый каждому аналитику.
Октябрьский релиз 2021 года включает 50 новых алгоритмов, например, встроенные графы node2vec и FastRP, алгоритмы подобия («Аппроксимация ближайших соседей», «Евклидово сходство», «Сходство с перекрытием» и «Сходство Пирсона»), алгоритмы структурного подобия для прогнозирования топологических связей и алгоритмы случайного пути. В первой половине 2022 года разработчики обещают добавить нейросети и другие ML-методы для построения аналитических конвейеров на графах. При том, что TigerGraph позиционируется как мощное корпоративное решение, исходный код этой системы открыт и доступен для свободного скачивания с Github.
https://www.tigergraph.com/blogs/about-tigergraph/graph-data-science-library/
https://github.com/tigergraph
🚨Серия митапов про Data Science в геосервисах, логистике и приложениях Smart City продолжается!

📆 23 ноября ждём всех на 4-й Citymobil Data Meetup!

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

🚕 Михаил Дьячков, Data Science Team Lead Ситимобил
«Поисковые подсказки в Ситимобил: от эвристики до машинного обучения».
Миша расскажет, как работает алгоритм формирования поисковых подсказок конечных пунктов назначения в приложении Ситимобил.

🚗 Алексей Венжега, Head of Analytics Wheely
«Системный подход к разработке целевых метрик улучшения качества шоферской базы».

🚙 Алексей Кудинов, Product Manager Почтатех
«Как мы разбираемся с адресными данными, которым больше 100 лет»
Алексей напомнит о сложностях, с которыми компания сталкивалась при внедрении автоматической маршрутизации: о несуществующих адресах, неизвестных геокординатах и проблемы определения габаритов отправлений для оптимального заполнения транспорта.

После докладов будет сессия Q&A.
Регистрация для бесплатного участия по ссылке ниже
https://citymobil.timepad.ru/event/1838143/
🙌🏻Анализ главных компонент: 7 методов сокращения размерности в Scikit-Learn
Одна из главных проблем машинного обучения на больших наборах данных – это огромный размер вычислительных векторов. Поэтому способы снижения размерности для уменьшения количества переменных очень актуальны. Таким способом является анализ главных компонентов (PCA, Principal Component Analysis), суть которого в уменьшении размерности набора данных, сохранив при этом как можно больше «изменчивости», т.е. статистической информации.
PCA - это статистический метод преобразования данных большой размерности в данные низкой размерности путем выбора наиболее важных фич, которые собирают максимум информации о датасете. Фичи выбираются на основе отклонений, которые они вызывают в выходных данных. Признак, вызывающий наибольшую дисперсию, - это первый главный компонент. Признак, отвечающий за вторую по величине дисперсию, считается вторым главным компонентом и пр. Важно, что главные компоненты никак не связаны друг с другом. Помимо ускорения ML-алгоритмов, PCA позволяет визуализировать данные, проецируя их в более низкое измерение, чтобы отобразить в двухмерном или трехмерном пространстве.
Популярная Python-библиотека Scikit-learn включает модуль sklearn.decomposition.PCA, который реализован как объект-преобразователь для множества компонентов в методе fit(). Его также можно использовать для новых данных, чтобы проецировать их на эти компоненты. Чтобы воспользоваться методом PCA в библиотеке Scikit-Learn, следует выполнить 2 шага:
1. Инициализировать класс PCA, передав нужное количество компонентов конструктору;
2. вызвать методы подгонки, а затем преобразовать их, передав им набор фичей. Метод преобразования возвращает указанное количество основных компонентов.
Scikit-learn поддерживает несколько вариантов метода PCA:
• Kernel Principal Component Analysis (KPCA) - метод нелинейного уменьшения размерности с использованием ядра. Ядро PCA было разработано, чтобы помочь с классификацией данных, границы решения которых описываются нелинейной функцией. Идея состоит в том, чтобы перейти в пространство более высокого измерения, в котором граница принятия решения становится линейной. В модуле sklearn.decomposition есть разные ядра: линейное (linear), полиномиальное (poly), ядро гауссовой радиальной базисной функции (rbf), сигмоидальное (sigmoid') и пр. По умолчанию используется линейное (linear), что подходит, если данные линейно разделимы.
• Sparse PCA – разреженный вариант PCA, целью которого является извлечение набора разреженных компонентов, которые наилучшим образом восстанавливают данные. Обычно компоненты, извлеченные методом PCA, имеют исключительно плотные выражения, т.е. ненулевые коэффициенты как линейные комбинации исходных переменных. Это затрудняет интерпретацию результатов. На практике реальные главные компоненты можно более естественно представить как разреженные векторы, например, при распознавании лиц они могут отображать части лиц.
• Incremental Principal Component Analysis (IPCA) - инкрементный метод PCA, когда набор данных для декомпозиции слишком велик для размещения в памяти. IPCA строит приближение низкого ранга для входных данных, используя объем памяти, не зависящий от объема входной выборки. Он по-прежнему зависит от входных фичей, но изменение размера пакета позволяет контролировать использование памяти.
• Fast Independent Component Analysis (ICA) – быстрый независимый PCA используется для оценки источников с учетом зашумленных измерений и восстановления источников, поскольку классический PCA не работает с негауссовскими процессами.
• Linear Discriminant Analysis (LDA) - линейный дискриминантный анализ, как и классический PCA, является методом линейного преобразования. Но PCA не контролируется, т.е. игнорирует метки классов, а LDA - это контролируемое машинное обучение, которое используется для различения двух классов или групп. LDA подходит для контролируемого уменьшения размерности путем проецирования входных данных в линейное подпространство из направлений, которые максимизируют разделение между классами. Размерность вывода обязательно меньше количества классов. В scikit-learn LDA реализуется с помощью LinearDiscriminantAnalysis, где параметр n_components указывает количество возвращаемых функций.
• Non-negative Matrix Factorization (NMF) - неотрицательная матричная факторизация, альтернативный подход к декомпозиции, который предполагает, что данные и компоненты неотрицательны. NMF - это неконтролируемый метод уменьшения линейной размерности. В NMF исходные данные (матрица признаков) разбиваются на несколько матриц (т.е. разлагаются на множители), представляющие скрытые отношения между наблюдениями и их характеристиками. NMF можно подключить вместо PCA, когда матрица данных не содержит отрицательных значений. NMF не предоставляет объясненную дисперсию, как PCA и другие методы, поэтому лучший способ найти оптимальное значение n_components - это попробовать диапазон значений.
• Truncated Singular Value Decomposition (TSVD) - усеченное разложение по сингулярным значениям похоже на PCA. Этот метод выполняет уменьшение линейной размерности с помощью усеченного сингулярного разложения. В отличие от PCA, этот оценщик не центрирует данные перед вычислением разложения по сингулярным значениям и может эффективно работать с разреженными матрицами.
https://medium.com/@deepak.engg.phd/dimensionality-reduction-with-scikit-learn-ee5d2b69225b
Не сбавляем обороты, новая неделя - новый хакатон.
На очереди Самара ✨
10/116

🐯 Кейс №1: Защита редких животных

Создать модель машинного обучения для распознавания амурских тигров (Сихотэ-Алинский природный заповедник) и дальневосточного леопарда (национальный парк «Земля леопарда»).

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

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

Кейсодержатель: Минприроды России


👩‍⚕️🩺 Кейс №2: Спасение жизней с помощью ИИ

На основании представленных дата-сетов, содержащих анонимизированные данные МИС ФГБУ «НМИЦ им. В. А. Алмазова» Минздрава России за 2019 г, необходимо разработать модель машинного обучения, способную прогнозировать риски летального исхода у пациентов, находящихся на стационарном лечении, и выявлять факторы, коррелирующие с целевым признаком.

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

Кейсодержатель: Минздрав РФ


Общий призовой фонд: 800 000 рублей
Офлайн площадка: стадион Солидарность Арена

Регистрация открыта до 24 ноября.
Стань частью российского ИИ-сообщества ⚡️⚡️

https://hacks-ai.ru/hakaton/samara
🐱Визуализация временных изменений категориальных данных: PyCatFlow vs RankFlow
Иногда Data Scientist’у требуется визуализировать ранжированные списки с течением времени, например, изменения в результатах поиска по запросам в Google или YouTube. Для этого можно использовать RankFlow - полезный инструмент с минималистичным UI и довольно затруднительным процессом подготовки данных. RankFlow позволяет сравнивать ранжированные списки с течением времени. Он требует, чтобы входные табличные данные были организованы так, чтобы каждый столбец представлял ранжированный список. Каждый ранжированный список может быть дополнен весами, добавляя к данным еще один уровень информации. Например, для результатов поиска на YouTube, можно взять количество просмотров, голосов за или соотношение голосов за-против. Каждый столбец в таблице данных представлен в виде стека узлов, упорядоченных в соответствии с рангом в данном наборе данных. Кроме того, идентичные узлы соединены между столбцами. Это выводит на первый план непрерывность и изменения данных, позволяя анализировать паттерны.
Создание визуализации RankFlow на основе этих данных требует изменения набора данных. Для каждой версии API должен быть столбец, содержащий ранжированный список разрешений, которые не упорядочиваются по какой-либо метрике релевантности. Поэтому создание порядка для диаграммы RankFlow - это дизайнерское решение, то есть элементы могут быть отсортированы в алфавитном порядке, по частоте их появления в наборе данных или на основе дополнительных данных.
На практике адаптация данных к требуемой структуре данных RankFlow довольна утомительна. Чтобы ускорить пред- и постобработку диаграмм, можно написать собственный скрипт на Python, который обрабатывает XML-данные в файле SVG, созданном RankFlow. Альтернативой является PyCatFlow - инструмент визуализации, аналогичный RankFlow, который хорошо подходит для временных данных без явной информации о ранжировании, но с потенциальными дополнительными категориальными данными. PyCatFlow - это open-source пакет Python, который можно свободно скачать с Github.
https://medium.com/@bumatic/pycatflow-visualizing-categorical-data-over-time-b344102bcce2
https://github.com/bumatic/PyCatFlow
💥Apache Spark на Google Colab? Установка PySpark в DS-облако
Apache Spark – один из самых востребованных вычислительных фреймворков в области Big Data. Благодаря кластерной архитектуре и выполнению заданий MapReduce в памяти он быстро обрабатывает огромные массивы данных. Spark имеет API для популярного в DS языка Python – PySpark и автоматически распараллеливает код, созданный на локальной машине, на все узлы кластера. Но как быть, если у вас нет кластера, а нужно обработать множество данных?
Помогут облачные решения – Google Colab, куда можно установить Spark. Cначала нужно загрузить Java, т.к. фреймворк написан на Scala и работает на JVM:
!apt-get install openjdk-8-jdk-headless -qq > /dev/null
Затем следует загрузить с официального сайта Apache Software Foundation сам фреймворк Spark вместе с Hadoop
!wget -q https://www-us.apache.org/dist/spark/spark-3.1.2/spark-3.1.2-bin-hadoop2.7.tgz
Разархивировать загруженный tgz-файл
!tar xf spark-3.1.2-bin-hadoop2.7.tgz
Далее следует установить библиотеку findspark, чтобы найти Spark в системе и импортировать его.
!pip install -q findspark
Затем следует задать путь к среде Colab, чтобы запустить там PySpark:
import os
os.environ["JAVA_HOME"] = "/usr/lib/jvm/java-8-openjdk-amd64"
os.environ["SPARK_HOME"] = "/content/spark-3.1.2-bin-hadoop2.7"
Чтобы обнаружить Spark в системе, импортируем findspark и используем метод findspark.init(). А метод findspark.find() поможет узнать, где установлен Spark:
import findspark
findspark.init()
findspark.find()
Наконец, можно импортировать сеанс Spark - SparkSession из PySpark.sql и создать точку входа во фреймворк, при необходимости указав имя приложения в конфигурационном параметре appName(“”)
from pyspark.sql import SparkSessionspark= SparkSession \
.builder \
.appName("Spark Application Name") \
.getOrCreate()

https://medium.com/geekculture/how-to-get-your-spark-installation-right-every-time-on-colab-218d57b6091d
🥁Дата-инженерия для DS: SynapseML от Microsoft
Корпорация Microsoft адаптировала Apache Spark к задачам дата-инженеров и DS-специалистов, выпустив SynapseML — фреймворк для создания масштабируемых ML-конвейеров. Ранее эта библиотека с открытым исходным кодом называлась MMLSpark. SynapseML на бвзе SparkML добавляет в экосистему Spark инструменты глубокого обучения и анализа данных, включая бесшовную интеграцию ML-конвейеров с Open Neural Network Exchange (ONNX), LightGBM, Cognitive Services, Vowpal Wabbit и OpenCV. Это позволяет создавать мощные и хорошо масштабируемые прогнозные и аналитические модели для различных источников данных.
Примечательно, что SynapseML умеет работать с неразмеченными датасетами благодаря API-методам готовых ИИ-сервисов для быстрого решения типовых ML-задач. SynapseML требует Scala 2.12, Spark 3.0+ и Python 3.6+. Фреймворк позволяет писать код на любом Spark-совместимом языке: Python, Scala, R, Java, .NET и C#. По протоколу HTTP пользователи могут встраивать любую веб-службу в свои модели SparkML, а кластерная природа Spark обеспечит масштабирование ML-проектов.
https://microsoft.github.io/SynapseML/
https://github.com/microsoft/SynapseML
🎄❄️☃️Последний месяц 2021 года будет продуктивным! DS-события декабря:
1. 1 декабря
– онлайн-митап от VK «Цифровые технологии» для директоров цифровой трансформации нефтегазовой отрасли и всех, кто интересуется цифровизацией https://vk.company/ru/press/events/862/
2. 3-4 декабря – YaTalks – крупная ежегодная конференция от Яндекса для разработчиков. Более 80 экспертов из мировых и российских компаний расскажут о современных тенденциях и лучших практиках Backend- и Frontend-разработки, а также поделятся опытом запуска новых продуктов и мобильных приложений. Для ML предусмотрен отдельный трек. Конференция пройдет онлайн, участие бесплатно по предварительной регистрации: https://yatalks.yandex.ru/
3. 3 декабря - конференция CNews "От чат-ботов к Conversation AI". Москва Radisson Blu Olympiyskiy Hotel https://conversations-ai.com/
4. 10-12 декабря – онлайн-хакатон FintechHack с призовым фондом 900 тысяч рублей. https://codenrock.com/contests/fintechack
5. 11 декабря – онлайн-встреча Big Stream по Backend- и Frontend-разработке, ML и анализу данных. https://simbirsoft.timepad.ru/event/1832864/
6. 14 декабря – DataStart – бесплатная онлайн конференция: Data Science, машинное обучение и нейросети. https://datastart.ru/
7. 16-18 декабря – Fit-M – международный научный форму от НИУ ВШЭ по анализу данных, ML-разработке, технологиям Big Data и компьютерному моделированию. https://fit-m.org/
8. 21 декабря – Очередной митап Ситамобил о применении Data science в городских и геосервисах, логистике и технологиях умных городов.https://citymobil.timepad.ru/events/
🙌🏻XLS-R – новый набор ML-моделей от Facebook AI
Разработчики PyTorch из Facebook опубликовали XLS-R – набор крупномасштабных моделей для самостоятельного обучения кросс-языковому представлению речи на базе wav2vec 2.0. Модели предварительно обучены на 128 языках в течение более 400 тысяч часов немаркированной речи. Благодаря тонкой настройке модели показывают высокий уровень точности распознавания речи и отлично подходят для задач перевода, понимания и идентификации языка. Обучающие данные брались из разных источников, включая аудиокниги и записи судебных заседаний. Нейросетевые модели XLS-R содержат более 2-х миллиардов параметров и являются мультиязыковыми. Причем тестирование показало, что обучение сразу нескольким языкам повышает эффективность нейросетей. Скачать XLS-R можно с Github прямо сейчас.
https://github.com/pytorch/fairseq/tree/main/examples/wav2vec/xlsr
👀Visual Genome: крупнейший размеченный датасет
Ученые Стенфордского университета собрали крупнейший аннотированный датасет с более 100 тысяч изображений. Всего в наборе данных почти 5,5 миллионов описаний объектов, включая атрибуты и отношения. Можно даже не скачивать датасет, а получить нужные данные, обратившись к конечной точке RESTful-API методом GET. Несмотря на то, что последние обновления в датасете датированы 2017 годом, это отличный набор данных для обучения моделей в типовых ML-задачах, от распознавания образов до анализа данных с помощью графовых алгоритмов.
https://visualgenome.org/api/v0/api_home.html
Как читать Parquet-файлы с pandas
Колоночный формат Apache Parquet широко распространен в области Big Data благодаря хранению данных по столбцам и эффективному сжатию. Он позволяет быстро считать нужные данные из конкретного столбца вместо чтения полной строки, что экономит время. Однако, не каждая прикладная система умеет читать бинарные Parquet-файлы. Часто приходится преобразовывать Parquet-файлы в формат CSV или TXT, прежде чем открыть их, например, в MS Excel или Power BI, которые часто используются в работе DS-специалиста. В этом случае поможет Python-библиотека pandas со встроенной функцией считывания данных read_parquet() из Parquet-файла в датафрейм. Затем датафрейм можно сохранить в CSV-файле с помощью метода to_csv() и открывать его практически в любом офисном редакторе таблиц.
https://medium.com/@i.m.mak/workaround-for-reading-parquet-files-in-power-bi-e2d060abcb80
Forwarded from Digital Dinner
This media is not supported in your browser
VIEW IN TELEGRAM
Хирург из Лондона провел операцию на банане в Калифорнии, по удаленке в сети 5G.
💦Что такое CDC-системы и зачем они нужны
Чтобы сократить объем данных, считываемых из корпоративного хранилища или озера, но всегда быть в курсе последних изменений, используется CDC-подход: захват измененных данных или Change Data Capture. Есть готовые инструменты CDC: Oracle Golden Gate, Qlik Replicate и HVR, лучше всего подходят для приема данных из часто обновляемых реляционных СУБД. Также инженеры данных создают собственные решения:
• вычисления CDC с использованием меток времени, маркирующих моменты создания, обновления и истечения срока действия в исходных таблицах. Любой процесс, который вставляет, обновляет или удаляет строку, должен также обновить соответствующий столбец отметки времени. Жесткое удаление не допускается. Недостаток этого способа в том, что необходимо переделать структуру базы данных, чтобы добавить столбец timestamp, а также необходимость тесной связи между исходной таблицей и кодом ETL-процесса.
• вычисления CDC с использованием отрицательного запроса, когда между источником и целевым приемником создается связь, и выполняется минус-запрос SQL для расчета журнала изменений. Этот способ скорее антипаттерн, т.к. работает только, если исходная и целевая базы данных относятся к одному типу, а еще он приводит к тому к увеличению перемещаемого объема данных.
Оба метода CDC, написанного вручную, вызывают значительную нагрузку на исходную базу данных. А специальные инструменты CDC сокращают нагрузку на сеть и источник, анализируя логи для расчета изменений. Однако, основным недостатком готовых CDC-решения является их высокая стоимость. Кроме того, администратор исходной СУБД должен предоставлять CDC-средству привилегированный доступ к журналу базы данных, что воспринимается не очень лояльно по соображениям безопасности.
https://towardsdatascience.com/change-data-capture-cdc-for-data-ingestion-ca81ff5934d2
💥Комбо Python и SQL в FugueSQL: единый SQL-интерфейс для датафреймов Pandas, Spark и Dask
FugueSQL
- это открытая Python-библиотека, которая позволяет комбинировать Python-код с SQL-командами, переключаясь между ними в Jupyter Notebook или Python-скрипте. FugueSQL поддерживает распределенные вычисления и предоставляет унифицированный API для запуска одного и того же кода SQL в Pandas, Dask и Apache Spark.
В отличие от PandaSQL, который имеет единственный сервер SQLite, что приводит к большим накладным расходам при передаче данных между Pandas и базой данных, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite.
При использовании pandas-бэкэнда Fugue напрямую переводит SQL в операции pandas, исключая передачу данных. DuckDB имеет превосходную поддержку pandas, поэтому накладные расходы на передачу данных незначительны. И Pandas, и DuckDB являются предпочтительными серверными модулями FugueSQL для локальной обработки данных. Fugue также поддерживает Spark, Dask и cuDF (через blazingSQL) в качестве бэкэндов.
В Fugue код SQL анализируется с помощью ANTLR и сопоставляется с эквивалентными функциями в API Fugue. FugueSQL имеет множество встроенных возможностей и расширяется с помощью Python-кода. По умолчанию он поддерживает наиболее распространенные на практике функции: заполнение значений NULL, удаление значений NULL, переименование столбцов, изменение схемы и пр. Fugue также добавляет некоторые улучшения в стандартный SQL, чтобы изящно обрабатывать сквозные рабочие процессы данных. Например, создание промежуточных таблиц через присвоение переменных.
В Pandas %% fsql принимает NativeExecutionEngine в качестве параметра по умолчанию. В Dask работа FugueSQL чуть медленнее нативного движка, но более полна с точки зрения реализованных ключевых слов SQL. FugueSQL также работает на Spark, сопоставляя операции %%fsql с операциями Spark и Spark SQL. Это позволяет быстро разрабатывать распределенные приложения. Достаточно создать локальный прототип с помощью NativeExecutionEngine, протестировать его и развернуть в кластере Spark, просто изменив механизм выполнения.
https://towardsdatascience.com/introducing-fuguesql-sql-for-pandas-spark-and-dask-dataframes-63d461a16b27
https://fugue-tutorials.readthedocs.io/tutorials/fugue_sql/index.html