40 Полезных инструментов Дата Саентиста.
В мире науки о данных существует бесчисленное множество библиотек и инструментов, которые помогают ускорить работу и повысить эффективность анализа. Но что если я расскажу вам о некоторых полезных библиотеках, о которых вы скорее всего не слышали? В этой статье мы собрали разнообразные инструменты, способные значительно облегчить вашу повседневную работу. Мы регулярно публикуем свежие библиотеки и тестим их в нашем канале для датасаентистов, а здесь мы собрали целую папку для всех, кто любит машинное обучение.
Сегодня, благодаря активному сообществу разработчиков, практически для любой задачи на Python можно найти готовый и полезный инструмент, который поможет вам в решении самых сложных задач.
🛠 DataDreamer
DataDreamer – это мощная библиотека Python с открытым исходным кодом для легкого создания промптов, синтетических данных и рабочих моделей машинного обучения.
Установка:
pip3 install datadreamer.dev
▪ Github
🛠 Code to Flow
Code to Flow – бесплатная инновационная нейросеть для анализа, объяснения и визуализации кода.
Это мощный инструмент для разбиения кода на шаги и его объяснения.
Используя ИИ, Code to Flow работает с различными языками программирования и фреймворками.
Он пригодится как при обучении, так и при реальной работе, помогая лучше понимать структуру и логику кода.
🛠 MakeReal в jupyter-tldraw ✨.
Теперь вы можете вручную рисовать графики мышкой и MakeReal будет превращать их в код c использованием matplotlib прямо в блокноте!
▪ GitHub
🛠 Twin Matcher
Идея для ML проекта 💡
Создадим мл-приложение по поиску вашего близнеца среди знаменитостей 🔎👸 ↓
Здесь приведен полный пример с исходным кодом, чтобы узнать, как создать полноценное ML-приложение, которое найдет похожую на вас знаменитость.
▪ GitHub
🛠 Lightwood
При работе мы дата саентисты тратим много времени на написание одного и того же кода для очистки, подготовки данных и построения моделей ⌛️.
Рекомендую попробовать lightwood – AutoML фреймворк, который принимает на вход данные, целевую переменную и генерирует для вас целый конвейер машинного обучения.
pip3 install lightwood
▪ GitHub
🛠 Pandaral·lel
Если вы хотите распараллелить операции #Pandas на всех доступных процессорах, добавив всего одну строку кода, попробуйте pandarallel.
pip install pandarallel
from pandarallel import pandarallel
pandarallel.initialize(progress_bar=True)
# df.apply(func)
df.parallel_apply(fun
▪ Github
▪ Docs
🛠 Smaug-72B – лучшая модель с открытым исходным кодом в мире!
Она находится в топе HuggingFace LLM LeaderBoard, Smaug является первой моделью со средним баллом 80.
Это делает ее лучшей в мире LLM моделью с открытым исходным кодом.
В таблице приведено сравнение с открытыми и проприетарными моделями Mistral, Gemini Pro и GPT-3.5.
https://huggingface.co/abacusai/Smaug-72B-v0.1
🛠 PyForest
Писать одни и те же импорты снова и снова – это пустая трата времени.Попробуйте pyforest, этот инструмент сделает работу по импорту библиотек за вас.
С помощью pyforest вы можете использовать все свои любимые библиотеки Python, не импортируя их перед этим.
Если вы используете пакет, который еще не импортирован, pyforest импортирует его за вас и добавит код в первую ячейку Jupyter.
🛠 tfcausalimpact
Библиотека для поиска причинно-следственных связей на Python, основанная на пакете R от Google. Построена с использованием TensorFlow Probability.
Вы проводите маркетинговую кампанию и видите, что количество пользователей увеличивается. Но как узнать, связано ли это с вашей кампанией или это просто совпадение?
Вот тут-то и пригодится tfcausalimpact. Библиотека помогает прогнозировать будущие тренды и тенденции в данных и сравнивает ваши показатели с фактическими данными для получения статистических выводов.
pip install tfcausalimpact
▪ GitHub
🛠 PALLAIDIUM
PALLAIDIUM – генеративный искусственный интеллект для Blender VSE.
AI-генерация видео, изображений и аудио из текстовых промптов.
▪ Github
🛠 SQL-metadata
Если вы хотите извлечь определенные компоненты #SQL-запроса для последующей работы с ними на #Python, используйте sql_metdata.
Извлекает имена столбцов и таблиц, используемых в запросе. Автоматически выполняет разрешение псевдонимов столбцов, разрешение псевдонимов подзапросов, а также разрешение псевдонимов таблиц.
Также предоставляет полезные функции для нормализации SQL-запросов.
pip install sql-metadata
▪ Docs
🛠 RoMa
RoMa: простая в использовании, стабильная и эффективная библиотека для работы с кватернионами, векторами вращения, пространственными преобразованиями в PyTorch.
pip install roma
▪Docs
🛠 Lazy Predict
Lazy Predict позволяет быстро создавать прототипы для анализа данных и сравнивать несколько базовых моделей без необходимости вручную писать код или настраивать параметры.
Это помогает специалистам по анализу данных выявлять перспективные подходы в работе с даными и быстрее реализовывать модели.
pip install lazypredict
▪ Github
🛠 DataTrove .
DataTrove – это библиотека для обработки, фильтрации и очистки текстовых данных в очень больших масштабах. Она предоставляет набор готовых часто используемых функций обработки данных и фреймворк для простого добавления собственной функциональности.
Его конвейеры обработки не зависят от платформы и могут работать как локально, так и на кластере slurm.
Низкое потребление памяти и удобная конструкция делают его идеальным для больших рабочих нагрузок, например для обработки обучающих данных LLM. ✨
from datatrove.pipeline.readers import CSVReader
from datatrove.pipeline.filters import SamplerFilter
from datatrove.pipeline.writers import JsonlWriter
pipeline = [
CSVReader(
data_folder="/my/input/path"
),
SamplerFilter(rate=0.5),
JsonlWriter(
output_folder="/my/output/path"
)
]
🛠 DeepSpeed-FastGen
DeepSpeed-FastGen обеспечивает высокопроизводительную генерацию текста для LLM с помощью MII и DeepSpeed-Inference.
Производительность генераций повышается в 2,3 раза, задержка в 2 раза ниже по сравнению с системами SotA, такими как vLLM
▪ Github
🛠 Jupyter-ai
Попробуйте поработать с Jupyter AI в Jupyter Notebook и Jupyter Lab для создания и редактирования кода с помощью генеративного искусственного интеллекта.
▪ GitHub
🛠 NASA Earth Data
НАСА размещает на #AWS более 9 000 продуктов данных о нашей планете!
🚀В этом хранилище представлен полный список данных НАСА по наукам о Земле, доступных для исследований и анализа. Данные управляются и поддерживаются программой НАСА “Системы данных по наукам о Земле” (ESDS), которая обеспечивает доступность и удобство использования данных.
Узнайте, как легко найти и загрузить данных с помощью последнего руководства по #leafmap. 📚🔎
📓 Notebook: https://leafmap.org/notebooks/88_nasa_earth_data
🗂️ Data Catalog: https://github.com/opengeos/NASA-Earth-Data
🎥 Video: https://youtu.be/0ytxNNvc2Hg
Swarms in Torch – это экспериментальный репозиторий, созданный для работы с роевыми алгоритмами.
Благодаря целому ряду полезных алгоритмов, включая Particle Swarm Optimization (PSO), Ant Colony, Sakana, Mambas Swarm и других, реализованных с помощью PyTorch, вы сможете легко использовать мощь роевых технологий в своих проектах.
▪ Github
🛠 Mergekit
🛠 mergekit – это инструмент для слияния предварительно обученных языковых моделей.
Может выполняться полностью на CPU или ускоряться с помощью всего 8 ГБ VRAM.
Проект поддерживает множество алгоритмов.
🛠 Facets
Проект Facets предоставляет инструменты визуализации для понимания и анализа наборов данных машинного обучения: Facets Overview и Facets Dive.
Визуализации реализованы в виде веб-компонентов Polymer и могут быть легко встроены в блокноты Jupyter или веб-страницы.
Прмеры визуализаций можно найти на странице описания проекта Facets: pair-code.github.io/facets/
▪ Github
🛠 nbgather: 🧽✨ Spit shine for Jupyter notebooks
nbgather предоставляет инструменты для очистки кода, восстановления потерянного кода и сравнения версий кода в Jupyter Lab.
Загрузите расширение alpha с помощью следующей команды:
jupyter labextension install nbgather
▪ Github
🛠 DataStack
Datastack – это фреймворк с открытым исходным кодом, который позволяет легко создавать веб-приложения, информационные панели , формы ввода данных или прототипы в режиме реального времени, используя только Python – опыт работы с фронтендом не требуется.
В DataStack доступно много готовых виджетов, включая запись текста, выбор из выпадающего списка, списки, кнопки, формы ввода, HTML формы , iframe, разделитель страниц, dataframe, таблицы и многое другое.
pip install pydatastack
from datastack import datastack
ds = datastack(main=True)
ds.subheader('DataStack click counter app')
count = 0
def inc_count():
global count
count += 1
ds.button('Click', on_click=inc_count)
ds.write('counts: ' + str(count))
▪ Github
🛠 SuperDuperDB: Добавьте искусственный интеллект в свою базу данных.
Проект, который позволяет интегрировать, обучать и управлять любыми моделями ИИ непосредственно для работы с базами данных и данными.
Поддерживает основные баы данных SQL и табличные форматы: PostgreSQL, MySQL, SQLite, DuckDB, Snowflake, BigQuery, ClickHouse, DataFusion, Druid, Impala, MSSQL, Oracle, pandas, Polars, PySpark и Trino (а также MongoDB).
▪ Github
▪ Project
🛠 Grist – это гибрид базы данных и электронной таблицы, то есть:
🔹 Столбцы работают так же, как и в базах данных: им присваиваются имена, и в них хранятся данные одного типа.
🔹Столбцы могут быть заполнены формулами в стиле электронных таблиц с автоматическим обновлением при изменении ссылающихся ячеек.
▪ GitHub
Еще ряд интересных инструментов для дата саентистов, которые были признаны лучимим Python-библиотека 2023 года по версии Tryolabs.
▪ LiteLLM — библиотека, которая обеспечивает бесшовную интеграцию с различными языковыми моделями. Она позволяя использовать унифицированный формат как для ввода, так и для вывода вне зависимости от применяемой LLM.
▪ MLX — это проект от Apple для машинного обучения на процессорах Apple Silicon.
▪ Taipy — инструмент, который позволяет дата-сайентистам создавать интерактивный Web UI для ML-проектов.
▪ PyApp — упрощает распространение и установку Python-приложений. Это достигается за счёт встраивания Python в самоустанавливающийся пакет, совместимый со всеми операционными системами.
▪ Unstructured — набор инструментов для предварительной обработки текста.
▪ ZenML и AutoMLOps — два мощных инструмента для создания MLOps-пайплайнов.
▪WhisperX — библиотека для распознавания речи, способная обнаружить нескольких говорящих на аудио.
▪AutoGen — инструмент, который позволяет создавать LLM-приложения с несколькими агентами, способными общаться друг с другом для решения задач.
▪ Temporian — библиотека для легкой и эффективной предобработки и фича-инжиниринга временных данных в Python.
▪ Guardrails — инструмент помогает LLM возвращать структурированные, качественные ответы определённого типа.
Полезные библиотеки для анализа данных. Полезных библиотек для работы с данными.
▪ fastparquet – библиотека, ускоряющая ввод-вывод Pandas в 5 раз. fastparquet – это высокопроизводительная реализация формата Parquet на Python, предназначенная для бесперебойной работы с фреймами данных Pandas. Она обеспечивает быструю производительность чтения и записи, эффективное сжатие и поддержку широкого спектра типов данных.
▪ SciencePlots – полезная библиотека для создания графиков matplotlib для презентаций, исследовательских работ.
▪ CleverCSV – библиотека, которая устраняет различные ошибки синтаксического анализа при чтении CSV-файлов с помощью Pandas
▪ PyGWalker – инструмент, который упрощает рабочий процесс анализа и визуализации данных в Jupyter Notebook, превращая фрейм данных pandas в пользовательский интерфейс в стиле Tableau для визуального исследования.
▪ Feather – библиотека, которая предназначена для чтения и записи данных с устройств. Данная библиотека отлично подходит для перевода данных из одного языка в другой. Также она способна достаточно быстро считывать большие массивы данных
▪ Dask – эта библиотека позволяет эффективно организовывать параллельные вычисления. Коллекции больших данных хранятся здесь как параллельные массивы/списки и позволяют работать с ними через Numpy/Pandas
▪ Ibis – обеспечивает доступ между локальным окружение в Python и удаленными хранилищами данных (например, Hadoop)
▪ Lightwood – AutoML фреймворк, который принимает на вход данные, целевую переменную и генерирует для вас целый конвейер машинного обучения.
▪ Jless — полезный инструмент для просмотра JSON-файлов в командной строке.Отображение данных в удобном виде — с подсветкой синтаксиса для отдельных элементов объекта. Инструмент позволяет обрабатывать и расширять массивы.
▪ scdb – это легкий и быстрый механизм хранения данных типа “ключ-значение”, отличающийся простотой и скоростью работы, написанная на Go.