Анализ данных (Data analysis)
Data science, наука о данных. @haarrp - админ РКН: clck.ru/3FmyAp
Показати більше📈 Аналітичний огляд Telegram-каналу Анализ данных (Data analysis)
Канал Анализ данных (Data analysis) (@data_analysis_ml) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 50 250 підписників, посідаючи 2 653 місце в категорії Технології та додатки та 12 492 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 50 250 підписників.
За останніми даними від 24 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 38, а за останні 24 години на -6, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 9.10%. Протягом перших 24 годин після публікації контент зазвичай збирає 6.25% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 4 571 переглядів. Протягом першої доби публікація в середньому набирає 3 142 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 29.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як llm, контекст, openai, архитектура, deepseek.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Data science, наука о данных.
@haarrp - админ
РКН: clck.ru/3FmyAp”
Завдяки високій частоті оновлень (останні дані отримано 25 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
valid_dish = ["Pizza", "Noodles", "Pho"]
# определение текстовой подсказки
order_maker = guidance("""The following is a order in JSON format.
```json
{
"name": "{{name}}",
"age": {{gen 'age' pattern='[0-9]+' stop=','}},
"delivery": "{{#select 'delivery'}}Yes{{or}}No{{/select}}",
"order": "{{select 'order' options=valid_dish}}",
"amount": {{gen 'amount' pattern='[0-9]+' stop=','}}
}```""")
# генерация имени заказчика доставки
order_maker(
name="Alex",
valid_dish=valid_dish
)
**Вывод**
The following is a order in JSON format.
```json
{
"name": "Alex",
"age": 25,
"delivery": "Yes",
"order": "Noodles",
"amount": 10
}```
Как видно, мы легко составили текстовую подсказку, предварительно определили несколько пунктов и добились от LLM точного их выполнения. Скорректировали регулярное выражение для поля age с помощью {{gen ‘age’ pattern=’[0–9]+’ stop=’,’}}.
Это значит, что оно принимает только цифры и заканчивается на ,. Кроме того, используя valid_dish, ограничили тип заказанной еды с помощью “{{select ‘order’ options=valid_dish}}”. Более подробная информация предоставлена по официальной ссылке на GitHub.
Агент ReAct с Guidance и Wizard-Mega-13B-GPTQ
Примечание. С кодом данного раздела можно ознакомиться по ссылке.
Перед запуском необходимо разместить LLM на локальном ПК. В данном случае для этой цели применяется wizard-mega-13B-GPTQ. Вы можете выбрать и другие модели. Сначала загружаем модель и позволяем Guidance ее использовать:
model_para = 'YOUR_MODEL_DIR'
checkpoint_para = 'YOUR_MODEL_FILE'
model = load_quant(model_para, checkpoint_para, 4, 128)
model.to(DEV)
tokenizer = AutoTokenizer.from_pretrained(model_para)
llama = guidance.llms.Transformers(model=model, tokenizer=tokenizer, device=0)
guidance.llm = llama
Испытаем на простой текстовой подсказке. С помощью формата ReAct проверяем, насколько корректно работает модель.
📌 Читатьpandas добавляет промежуточный слой Block и BlockManager. Он управляет этими массивами, обеспечивая максимальную эффективность операций. Это одна из причин, почему в Pandas методы, работающие с несколькими столбцами, могут быть очень быстрыми. Далее более подробно рассмотрим упомянутые слои.
Массивы
Фактические данные датафрейма могут храниться в наборе массивов NumPy или Pandas ExtensionArray. Этот слой обычно направляет к базовой реализации, например использует NumPy API при условии хранения данных в массивах NumPy. Pandas хранит в них данные и вызывает свои методы без расширения интерфейса.
Массивы NumPy обычно являются двумерными и дают ряд преимуществ в производительности, о которых речь пойдет далее. На данный момент Pandas ExtensionArray в основном представляют собой одномерные структуры данных, благодаря чему операции становятся предсказуемыми.
Однако не обошлось и без недостатков: в ряде случаев страдает производительность.
ExtensionArray допускает применение датафреймов, которые поддерживаются массивами PyArrow и другими типами данных Pandas.
Block
Датафрейм обычно состоит из столбцов, представленных по крайней мере одним массивом. Как правило, имеется коллекция массивов, так как один массив может хранить только один определенный тип данных. Эти массивы хранят данные, но не владеют информацией о том, какие столбцы они представляют. Каждый массив из датафрейма обернут соответствующим блоком Block.
✔ Block добавляет дополнительную информацию в массивы, например расположение представленных им столбцов.
✔Block служит слоем вокруг фактических массивов с возможностью расширения вспомогательными методами, необходимыми для операций Pandas.
✔ При выполнении фактической операции с датафреймом Block гарантирует, что метод направляется в базовый массив. Например, при вызове astype он убедится, что эта операция вызывается в массиве.
Данный слой не располагает информацией о других столбцах в датафрейме, являясь автономным объектом.
BlockManager
Как следует из названия, BlockManager управляет всеми Block, связанными с одним датафреймом. Он содержит сами Block и информацию об осях датафрейма, например имена столбцов и метки Index.
И самое главное в том, что он направляет большинство операций к фактическим Block:
df.replace(...)
BlockManager гарантирует, что replace выполняется для каждого Block.
Понятие консолидированного датафрейма
Мы исходим из того, что датафреймы поддерживаются типами данных NumPy, например их данные могут храниться в двумерных массивах.
При создании датафрейма Pandas гарантирует, что на каждый тип данных приходится только один Block:
df = pd.DataFrame(
{
"a": [1, 2, 3],
"b": [1.5, 2.5, 3.5],
"c": [10, 11, 12],
"d": [10.5, 11.5, 12.5],
}
)
У этого датафрейма есть 4 столбца, представленные двумя массивами: один из них хранит целочисленный тип данных, а другой — числа с плавающей точкой. Это и есть консолидированный датафрейм.
Добавим новый столбец к этому датафрейму:
df["new"] = 100
У него такой же тип данных, как и у существующих столбцов "a" и "c". Рассмотрим 2 возможных варианта дальнейших действий:
1. Добавление нового столбца в существующий массив, содержащий целочисленные столбцы.
2. Создание нового массива только для хранения нового столбца.
◾️ Первый вариант предусматривает добавление нового столбца в существующий массив. Для этого требуется скопировать данные, поскольку NumPy не поддерживает эту операцию без копирования. В итоге добавление одного столбца оборачивается слишком большими затратами.
◾️ Второй вариант
📌 Читать
@data_analysis_ml40% меньшее количество итераций.
🔹 Высочайшая эффективность вычислений: на 40% меньше итераций и в 3 раза быстрее, чем в Stable Diffusion v1.5, что привело к снижению затрат почти на 66%.
pip install diffusers --upgrade
pip install invisible_watermark transformers accelerate safetensors
▪Colab
▪Model
▪Demo
@data_analysis_ml
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
