Data Science | Machinelearning [ru]
17.9K subscribers
459 photos
14 videos
29 files
3.32K links
Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence)

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

РКН: https://vk.cc/cJPGXD
Download Telegram
➡️ Что забирает до 90% времени на созвонах и как перестать проводить их впустую

Когда митапов больше, чем решений, пора что-то менять. Мы выработали способ делать онлайн-созвоны короче, полезнее и без «а что мы вообще решили?». Делюсь, как именно.

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

StandardScaler из библиотеки scikit-learn — это инструмент для нормализации данных. Он приводит признаки (столбцы данных) к одному масштабу со средним значением 0 и стандартным отклонением 1.

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

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[10, 200],
[20, 300],
[30, 400]])

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

print(X_scaled)


🗣️ В этом примере значения всех признаков преобразуются так, что каждый столбец имеет среднее значение 0 и одинаковый масштаб. Это ускоряет обучение и повышает качество модели.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ 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
👀 WorkTeam: новый мультиагентный фреймворк для автоматизации сложных бизнес-процессов

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎81😁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
🤡 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
🧠 Философствующий 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