Анализ данных (Data analysis)
45.3K subscribers
2.14K photos
234 videos
1 file
1.92K links
Data science, наука о данных.

@haarrp - админ

@itchannels_telegram - 🔥 главное в ит

@ai_machinelearning_big_data - ML

@machinelearning_interview - вопросы с собесдований по Ml

РКН: clck.ru/3FmyAp
Download Telegram
January 13, 2024
January 20, 2024
🖥 SQL-metadata

Если вы хотите извлечь определенные компоненты #SQL-запроса для последующей работы с нмим на #Python, используйте sql_metdata.

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

Также предоставляет полезные функции для нормализации SQL-запросов.

pip install sql-metadata

Github
Docs

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
January 28, 2024
February 18, 2024
March 31, 2024
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Tato: Terminal Text Effects

Полезный инструмент для форматирования файлов на Python, который уделяет внимание организации кода в четыре основные секции: импорты, константы, классы и функции.

В отличие от других автоформатеров, ориентированных на выравнивание и оформление кода, Tato делает акцент на упорядочивании структуры файла, что повышает его читаемость и упрощает работу с вашим кодом.

#opensource #python #terminal #полезныйсофт

Github

@data_analysis_ml
Please open Telegram to view this post
VIEW IN TELEGRAM
September 10, 2024
September 26, 2024
Forwarded from Machinelearning
🌟 Numpy QuadDType: Четырехкратная точность в Python.

NumPy-QuadDType (numpy_quaddtype) — это реализация пользовательского типа данных (dtype) для NumPy, которая обеспечивает настоящую арифметику с плавающей точкой четверной точности на разных платформах.

Проект направлен на решение давних проблем с np.longdouble, предлагая согласованный, высокоточный тип с плавающей точкой независимо от базовой архитектуры системы, а также обеспечивая обратную совместимость long double.

Ядро numpy_quaddtype построено вокруг на двух ключевых компонентов:

🟢скалярный тип QuadPrecision, представляющий отдельные скаляры четверной точности;

🟢тип данных NumPy QuadPrecDType, позволяющий использовать эти скаляры четверной точности в массивах и операциях NumPy.

Отличительная черта numpy_quaddtype - его подход с двойным бэкэндом:

🟠SLEEF (библиотека SIMD для оценки элементарных функций): этот бэкэнд использует тип Sleef_quad из библиотеки SLEEF, предоставляя настоящую 128-битную учетверенную точность.

🟠Long Double: этот бэкэнд использует собственный тип long double, который может обеспечивать точность до 80 бит в некоторых системах, обеспечивая совместимость с np.longdouble.

Гибкость архитектуры numpy_quaddtype наследуется от компонентов ее ядра: QuadPrecisionObject, хамелеоноподобная структура, которая может переключаться между формами:

typedef union {  
Sleef_quad sleef_value;
long double longdouble_value;
} quad_value;

typedef struct {
PyObject_HEAD
quad_value value;
QuadBackendType backend;
} QuadPrecisionObject;


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

typedef struct {  
PyArray_Descr base;
QuadBackendType backend;
} QuadPrecDTypeObject;


Он позволяет переключаться между бекэндами Sleef_quad (для SLEEF) и long double во время выполнения:

>>> import numpy as np  
>>> import numpy_quaddtype as npq

# Using SLEEF backend (default)
>>> x = npq.QuadPrecision(3.5)
>>> x = npq.QuadPrecision(3.5, backend='sleef')
>>> repr(x)
QuadPrecision('3.5e+000', backend='sleef')

# Using longdouble backend
>>> y = npq.QuadPrecision(2.5, backend='longdouble')
>>> repr(y)
QuadPrecision('2.5e+000', backend='longdouble')

# Creating a NumPy array with QuadPrecision dtype
>>> z = np.array([x, x], dtype=npq.QuadPrecDType()) # SLEEF
>>> print(z)
[QuadPrecision('3.5e+000', backend='sleef')
QuadPrecision('3.5e+000', backend='sleef')]

>>> z = np.array([y, y], dtype=npq.QuadPrecDType("longdouble")) # longdouble
>>> print(z)
[QuadPrecision('2.5e+000', backend='longdouble')
QuadPrecision('2.5e+000', backend='longdouble')]


В тестах numpy_quaddtype с бэкендом SLEEF показал точность в 34 десятичных знаков. ULP (единица в младшем разряде) для основных арифметических операций ≤ 0,5000000001, а для трансцендентных функций ≤ 1,0.

C бэкендом Long Double показал точность, зависящую от платформы: 18-19 десятичных знаков в Linux и 15-17 в Windows.

В настоящее время ведётся подготовка к выпуску numpy_quaddtype в виде пакета Python, доступного через PyPI и conda. Также планируется направить предложение NEP для интеграции numpy_quaddtype в экосистему NumPy и рассмотреть TLFloat как потенциальную замену SLEEF в будущих версиях.

▶️Читать полную статью с демо возможностей numpy_quaddtype на примере визуализации множества Мандельброта при экстремальном увеличении и моделирование квантового гармонического осциллятора для двухатомных молекул.


@ai_machinelearning_big_data

#AI #ML #DS #Python #NumPy
Please open Telegram to view this post
VIEW IN TELEGRAM
October 10, 2024
🖥 pytorch-cpp-cuda-starter

Cтартовый пакет работы с Pytorch на C/C++ с поддержкой CUDA.

Github

#cpp #python #cuda #nvidia #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
February 5
🐼 Pandas умирает медленной и мучительной смертью.

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

Проблема альтернатив Pandas в том, что никто не хочет изучать новый API.

Давайте посмотрим правде в глаза: люди не будут переносить свои проекты, га другие фреймворки, без особой причины.

Я уже давно работаю с FireDucks 🦆

Эта библиотека в разы быстрее Pandas, и вам не придется менять код старых проектов для перехода на нее.

Вы можете изменить *одну* строку кода и весь остальной код будет работать на FireDucks :


import fireducks.pandas as pd


Вы также можете запустить свой код *не* изменяя ни одной строки, используя хук:

python 
$ python -mfireducks.imhook yourfile[.]py


FireDucks — это многопоточная библиотека с ускорением компилятора и полностью совместимым с pandas API.

Она быстрее, чем Polars. Ниже приведена ссылка на некоторые бенчмарки, сравнивающие Pandas, Polars и FireDucks.

FireDucks побеждает с отрывом.

⛓️Здесь находится репозиторий FireDucks на GitHub:
https://github.com/fireducks-dev/fireducks

⛓️Если вы хотите пощупать либу, откройте этот пример:
https://github.com/fireducks-dev/fireducks/tree/main/notebooks/nyc_demo

⛓️Если вы хотите сравнить FireDucks с Polars и Pandas, вот еще один блокнот:
https://github.com/fireducks-dev/fireducks/blob/main/notebooks/FireDucks_vs_Pandas_vs_Polars.ipynb

⛓️И наконец, бенчмарки, с которыми стоит ознакомиться:

https://fireducks-dev.github.io/docs/benchmarks/

⭐️ Подписаться: @data_analysis_ml

#fireducks #Pandas #dataanalysis #datascience #python #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
February 7
🖥 Aiopandas - легковесный патч для Pandas, который добавляет нативную async поддержку для самых популярных методов обработки данных: map, apply, applymap, aggregate и transform.

Позволяет без проблем передавать async функции в эти методы. Библиотека автоматически запустит их асинхронно, управляя количеством одновременно выполняемых задач с помощью параметра max_parallel.

Ключевые возможности:

Простая интеграция: Используйте как замену стандартным функциям Pandas, но теперь с полноценной поддержкой async функций.
Контролируемый параллелизм: Автоматическое асинхронное выполнение ваших корутин с возможностью ограничить максимальное число параллельных задач (max_parallel). Идеально для управления нагрузкой на внешние сервисы!
Гибкая обработка ошибок: Встроенные опции для управления ошибками во время выполнения: выбросить исключение (raise), проигнорировать (ignore) или записать в лог (log).
Индикация прогресса: Встроенная поддержка tqdm для наглядного отслеживания процесса выполнения долгих операций в реальном времени.

🖥 Github: https://github.com/telekinesis-inc/aiopandas

#python #pandas #asyncio #async #datascience #программирование #обработкаданных #асинхронность
Please open Telegram to view this post
VIEW IN TELEGRAM
March 26
🔥 Promptify: Python library for LLM Prompt Management

В примере на картинке Promptify использует OpenAI для выполнения распознавания именованных сущностей (NER) в медицинском тексте.

Она извлекает ключевые данные, такие как возраст, диагнозы и симптомы, из истории болезни пациента и структурирует их в удобный формат.

- Что она делает:
Берёт предложение: "Пациент — 93-летняя женщина с хронической болью в правом бедре, остеопорозом, гипертонией, депрессией и хронической фибрилляцией предсердий, поступившая для оценки и лечения сильной тошноты, рвоты и инфекции мочевыводящих путей."

Выдаёт структурированные данные, выделяя сущности:
93-летняя → Возраст

хроническая боль в правом бедре → Медицинское состояние

сильная тошнота и рвота → Симптом

Плюс метаданные: Отделение: Внутренняя медицина, Группа: Гериатрия
Почему это круто:
- Упрощает создание промптов для задач NLP.

- Поддерживает модели вроде GPT, PaLM и другие.

- Выдаёт структурированный результат (списки, словари) для лёгкой обработки.

pip3 install promptify

🖥 Github

#Python #ИИ #NLP #Promptify #МашинноеОбучение
Please open Telegram to view this post
VIEW IN TELEGRAM
April 18
🖥 PyXL — первый в мире специализированный процессор для нативного запуска Python

Что это?
PyXL исполняет байт-код CPython прямо на чипе — без JIT, интерпретатора и виртуальных машин. Ваши .py файлы компилируются в байт-код, затем транслируются в набор инструкций PySM, которые обрабатываются процессором.

Ключевые особенности:

Скорость: в тестах обработки GPIO PyXL в 30× быстрее MicroPython на Pyboard (480 нс vs 14 741 нс при 100 MHz vs 168 MHz).

🔧 Прототип на FPGA: реализован на Verilog и тестируется на платах Zynq-7000.

🚀 Без прослоек: доступ к GPIO — напрямую, без Си-функций и внешних вызовов.

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

🛠️ Инструменты: транслятор на Python под неизм. CPython, готов к встраиваемым системам и реальному времени.

Что дальше?
📅 Полные технические детали будут представлены 17 мая на PyCon 2025. Рассматривается открытие кода и выпуск ASIC-чипа.

Автор проекта — Рон Ливне (Ron Livne), эксперт по аппаратному ускорению и оптимизации.

#Python #PyXL #Embedded #FPGA #PyCon2025

https://runpyxl.com/gpio
Please open Telegram to view this post
VIEW IN TELEGRAM
May 3