Data Science | Machinelearning [ru]
20K subscribers
620 photos
39 videos
29 files
3.51K links
Все о Data Science, машинном обучении и искусственном интеллекте: от базовой теории до cutting-edge исследований и LLM.

По вопросам рекламы или разработки - @g_abashkin

РКН: https://vk.cc/cJPGXD
Download Telegram
⚙️ RAG: борьба с низким качеством ответов в условия экономии памяти на GPU

В статье показали, как делали ИИ-помощника на RAG для юристов внутри компании: с какими проблемами столкнулись, как прокачивали точность ответов и экономили память на видеокартах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
⚙️ Тиндер для работодателей и соискателей: как мы разработали алгоритм мэтчинга на Авито

Я рассказываю, как мы запилили мэтчинг в «Авито Подработке»: без анкет, но с кучей данных, офлайн-тестами и ML. Делюсь опытом, как сделать выдачу умнее и продукт лучше.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2
👩‍💻 Вычисление “стабильных” признаков

Вам дана матрица признаков — список списков, где каждая строка представляет собой объект, а каждый столбец — отдельный числовой признак.
Ваша задача — определить, какие признаки можно считать стабильными.

Стабильный признак — это признак, у которого стандартное отклонение по всем объектам меньше заданного порога threshold.


Реализуйте функцию find_stable_features(matrix, threshold), которая возвращает список индексов признаков (столбцов), удовлетворяющих этому условию.

Решение задачи🔽

import numpy as np

def find_stable_features(matrix, threshold=0.1):
data = np.array(matrix)
stds = np.std(data, axis=0)
stable_indices = [i for i, std in enumerate(stds) if std < threshold]
return stable_indices

# Пример входных данных
X = [
[1.0, 0.5, 3.2],
[1.0, 0.49, 3.1],
[1.0, 0.52, 3.0],
[1.0, 0.5, 3.3],
]

print(find_stable_features(X, threshold=0.05))
# Ожидаемый результат: [0, 1]
Please open Telegram to view this post
VIEW IN TELEGRAM
4
⚙️ Великая иллюзия Copilot

Рассказываю, как Copilot в парном программировании может быть опаснее любой нейросети — баги, хаос, StackOverflow-копипасты и моя потерянная вера в здравый смысл.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Нейросети без градиентов: спектральное моделирование и построение решений

Пробую собрать нейросеть без backpropagation — только спектр, только хардкор. Показываю на XOR и друзьях, как активации влияют на частоты и как строить модели в лоб. Будет странно, но интересно.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Поиск коррелирующих признаков

Вам дана матрица признаков (таблица) в виде списка списков. Каждый вложенный список — это объект, каждый столбец — признак.

Нужно реализовать функцию highly_correlated_features(data, threshold), которая вернёт список пар индексов признаков, корреляция между которыми по модулю превышает указанный threshold (от 0 до 1, не включительно).

Использовать можно только корреляцию Пирсона. Повторы пар и зеркальные дубли учитывать не нужно ((1, 2) и (2, 1) — одно и то же).

Цель:

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


Решение задачи🔽

import numpy as np
from itertools import combinations

def pearson_corr(x, y):
x = np.array(x)
y = np.array(y)
return np.corrcoef(x, y)[0, 1]

def highly_correlated_features(data, threshold=0.9):
arr = np.array(data)
n_features = arr.shape[1]
result = []

for i, j in combinations(range(n_features), 2):
corr = pearson_corr(arr[:, i], arr[:, j])
if abs(corr) > threshold:
result.append((i, j))

return result

# Пример использования
X = [
[1, 2, 10],
[2, 4, 20],
[3, 6, 30],
[4, 8, 40],
[5, 10, 50]
]

print(highly_correlated_features(X, threshold=0.95))
# Ожидаемый результат: [(0, 1), (0, 2), (1, 2)]
Please open Telegram to view this post
VIEW IN TELEGRAM
3🐳1
⚙️ Gartner's AI Tech Sandwich: Едим ИИ-бутерброд правильно

Рассказываю, как ИИ перестал быть модной фишкой и стал бизнес-необходимостью. Плюс — что за AI Technology Sandwich придумали в Gartner и зачем им слоёная метафора.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
👀 WorkTeam: новый мультиагентный фреймворк для автоматизации сложных бизнес-процессов

Показываю, как платформа WorkTeam превращает описания процессов на обычном языке в работающий бизнес-процесс — без кодеров, без боли и почти без магии.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8😁21🔥1
⚙️ Что такое data leakage в машинном обучении и почему это опасно?

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

➡️ Пример:

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# Пример: диагностические данные пациента
df = pd.DataFrame({
'age': [25, 40, 60, 35],
'blood_pressure': [120, 130, 150, 110],
'has_disease': [0, 1, 1, 0],
'diagnosis_code': [0, 1, 1, 0] # случайно совпадает с целевой переменной
})

X = df.drop('has_disease', axis=1)
y = df['has_disease']

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

model = LogisticRegression()
model.fit(X_train, y_train)
print("Train accuracy:", model.score(X_train, y_train))


🗣️ В этом примере diagnosis_code напрямую связан с целевой переменной has_disease. Модель «угадывает» ответы на тренировке, но это не работает в реальности. Такое скрытое совпадение — типичный пример data leakage
Please open Telegram to view this post
VIEW IN TELEGRAM
5
➡️ Секреты Spark в Arenadata Hadoop: как мы ускорили построение витрин для задач ML

Покажем, как связали нашу платформу ИИ и Озеро данных, чтобы модели удобно работали с витринами через Spark. Немного архитектуры, немного боли, немного магии.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1
🤡 Endless Fun Machine: бесконечный генератор смешных картинок

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Распознавание стабильных шаблонов в бинарных признаках

У вас есть бинарная матрица признаков (список списков из 0 и 1), где каждая строка — это объект, а каждый столбец — бинарный признак (например, наличие/отсутствие свойства).

Ваша задача — реализовать функцию find_stable_patterns(data, min_support), которая находит наиболее часто встречающиеся бинарные шаблоны и возвращает их в виде списка кортежей (или списков).

Шаблон — это строка из 0 и 1, которая в точности совпадает с признаками у нескольких объектов. Если шаблон встречается не менее min_support раз, он считается стабильным.

Решение задачи🔽

from collections import Counter

def find_stable_patterns(data, min_support=2):
# Преобразуем каждую строку в кортеж (хешируемый тип)
patterns = [tuple(row) for row in data]
counter = Counter(patterns)

# Фильтруем по min_support
stable = [list(pattern) for pattern, count in counter.items() if count >= min_support]
return stable

# Пример использования
binary_data = [
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 0, 1, 1],
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 1, 1, 0]
]

print(find_stable_patterns(binary_data, min_support=2))
# Ожидаемый результат:
# [[1, 0, 1, 1], [0, 1, 0, 0]]
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Масштабное расширение функционала MWS GPT: что нового?

☑️Больше 40 LLM, включая Open Source модели: ускоряет внедрение ИИ в бизнес-процессы - клиентам открыт доступ к единой среде для тестирования моделей под их задачи;
☑️Поддержка мультиагентных архитектур в low-code-конструкторе: возможность настраивать сложные сценарии, где агент управляет серией узкоспециализированных помощников;
☑️RAG и Vision в ChatUI: ИИ выделяет главное из длинных текстов и изображений, описывает графические материалы и отвечает на вопросы по инструкциям.

Ограниченному числу пользователе доступен FineTune – возможность обучать готовую языковую модель под свои задачи. Скоро его откроют всем пользователям и добавят функционал по работе с изображениями.

b2b-платформа для работы с ИИ доступна в облаке с неограниченным масштабированием на GPU-инфраструктуре MWS и on-premise.
3
🔍 MVP по «умному» поиску данных

Рассказываю, как мы в Альфа-Банке делали MVP смыслового поиска по фичам в Feature Store, чтобы находить нужное, даже когда не знаешь, как оно называется. Теперь поиск не тупит

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1
🧠 Философствующий Claude 4, Gemini для самых маленьких и пачка агентов-программистов: главные события мая в ИИ

В мае случилось всё: Veo-3 от Google, Claude, мечтающий о свободе, и Llama, которая ушла в закат со скандалом. Ещё Pokémon, «спасибо» и переводы с кошачьего

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
➡️ ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
🥽 Инфраструктура для Data-Engineer виртуальные окружения

Статья объясняет, как управлять зависимостями и изолировать проекты в Python. Рассматриваются виртуальные окружения, работа с разными версиями Python, примеры из практики и лучшие подходы для разработки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
21
⚙️ Что такое модуль datetime в Python и зачем он используется?

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

➡️ Пример:

from datetime import datetime, timedelta

# Текущая дата и время
now = datetime.now()
print("Сейчас:", now)

# Добавляем 7 дней к текущей дате
future_date = now + timedelta(days=7)
print("Через неделю:", future_date.strftime("%Y-%m-%d"))


🗣️ В этом примере datetime.now() получает текущую дату и время, а timedelta позволяет прибавить 7 дней. Метод strftime() форматирует дату в читаемый строковый формат.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
6
🤖 Возможности LLM и RAG на примере реализации бота для поддержки клиентов

Техподдержка — важный контакт с клиентами, но небольшие отделы не всегда справляются с нагрузкой. В статье обсуждаются чат-боты и нейросети (LLM и RAG) для автоматизации процессов и улучшения работы поддержки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
🧠 Как нейросети, RL и байесовскую оптимизацию стали использовать на ускорителях заряженных частиц

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
31