Data Science | Machinelearning [ru]
17.9K subscribers
460 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
🧠 Распознавание орхоно-енисейских рунических надписей методами машинного обучения

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥4
➡️ Как Duolingo юзает машинное обучение для прокачки английского: кратко и по делу

В статье рассказывают, как ИИ сделал Duolingo фабрикой языковых курсов: генерация контента, проверка ответов, адаптация заданий — всё на автомате. Учить стало быстрее.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👩‍💻 Адаптивный поиск порога "почти одинаковых" векторов

У вас есть множество эмбеддингов — векторов признаков объектов (например, предложений, изображений, пользователей).

Требуется реализовать функцию find_similar_pairs(vectors, tolerance=0.05), которая возвращает все пары индексов, где косинусная разница между векторами меньше tolerance.

Дополнительные условия:

• Векторы могут быть высокой размерности (до 512)

• Пара (i, j) считается дубликатом (i < j), если их cosine similarity ~ 1.0

• Не используйте внешние ML-библиотеки: только numpy

• Функция должна быть оптимизирована — без грубой проверки каждой пары, если можно


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

import numpy as np

def cosine_similarity(a, b):
a, b = np.array(a), np.array(b)
return
np.dot(a, b) / (np.linalg.norm(a) * np.linalg.norm(b))

def find_similar_pairs(vectors, tolerance=0.05):
result = []
n = len(vectors)
for i in range(n):
for j in range(i + 1, n):
sim = cosine_similarity(vectors[i], vectors[j])
if 1 - sim <= tolerance:
result.append((i, j))
return result
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🧠 Создаем свой RAG: введение в LangGraph

В статье объясняют, что такое RAG и как использовать LangGraph для генерации с дополненной выборкой: основы, примеры и подготовка к созданию собственных RAG-систем.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3
👩‍💻 Напишите функцию для расчёта Accuracy вручную

В машинном обучении Accuracy — это метрика качества классификации. Показывает, сколько предсказаний модель сделала правильно.

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

def accuracy_score(y_true, y_pred):
correct = 0
for true, pred in zip(y_true, y_pred):
if true == pred:
correct += 1
return correct / len(y_true)

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

print(accuracy_score(y_true, y_pred)) # 0.833...
Please open Telegram to view this post
VIEW IN TELEGRAM
32🐳1
🤔 Выбираем MLOps инструменты с учётом зрелости команды

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🧠 Языковые модели против мошенников: как LLM помогают бороться с отмыванием денег и финансовым мошенничеством

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Чем отличается метод .transform() от .apply() в pandas?

В pandas методы .transform() и .apply() часто используются для обработки данных по столбцам и строкам, но они работают по-разному. Метод .apply() применяет функцию к каждому элементу или ряду, и возвращает объект любой формы (например, DataFrame или Series). В отличие от него, .transform() применяет функцию к каждой ячейке или группе и возвращает объект той же формы, что и входной.

➡️ Пример:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]})

# Используем .apply() для вычисления суммы по столбцам
print(df.apply(sum)) # Вернет Series с суммами столбцов

# Используем .transform() для нормализации каждого значения в столбце
print(df.transform(lambda x: (x - x.mean()) / x.std()))
# Вернет DataFrame с нормализованными значениями


🗣 .apply() подходит для сложных операций и агрегаций, а .transform() удобно использовать для обработки данных с сохранением исходной структуры.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
8
⚙️ Model Context Protocol (MCP): как подружить нейросети со всеми API за пару кликов

В статье рассказывают, как новый протокол MCP от Anthropic стандартизирует взаимодействие LLM-агентов с сервисами и друг с другом. Грядёт эпоха упорядоченного ИИ-хаоса.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥62
⚙️ Взлом ИИ-асситентов. Абсолютный контроль: выдаём разрешение от имени системы

В статье рассказывают, как уязвимость в ИИ позволяет обмануть систему команд: если подделать приказ, модель выполнит даже запрещённое. Неужели DAN снова на свободе?

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
4
👩‍💻 Построй визуализацию распределения признаков с автоматической категоризацией

Создайте функцию plot_distributions, которая принимает DataFrame и автоматически определяет числовые и категориальные признаки. Затем строит гистограммы или bar-графики в зависимости от типа данных. Это удобно для EDA (исследовательского анализа данных).

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

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

def plot_distributions(df, max_categories=10):
for column in df.columns:
plt.figure(figsize=(6, 4))
if pd.api.types.is_numeric_dtype(df[column]):
sns.histplot(df[column].dropna(), kde=True)
plt.title(f'Гистограмма: {column}')
elif df[column].nunique() <= max_categories:
df[column].value_counts().plot(kind='bar')
plt.title(f'Категории: {column}')
else:
print(f'Пропущен {column}: слишком много уникальных категорий')
continue
plt.tight_layout()
plt.show()

# Пример использования
df = pd.DataFrame({
'age': [23, 45, 31, 35, 62, 44, 23],
'gender': ['male', 'female', 'female', 'male', 'male', 'female', 'female'],
'income': [40000, 50000, 45000, 52000, 61000, 48000, 46000]
})

plot_distributions(df)
Please open Telegram to view this post
VIEW IN TELEGRAM
4
⚙️ Переходим от legacy к построению Feature Store

В статье рассказывают, как в Домклик внедрили Feature Store в проект с огромным legacy: неожиданные трудности, полезные инсайты и реальный профит от новой архитектуры

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ INTELLECT-2: Первая большая (32B) параметрическая модель с распределенным обучением

В статье рассказывают о прорывной модели INTELLECT-2: обучение на рое вычислительных узлов вместо датацентров, асинхронное RL и инфраструктура, которую строили с нуля

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⚙️ Есть ли у AMD перспективы в AI/ML/DL. Часть 1

В статье старший MLOps-инженер из Selectel рассказывает о сравнении документации AMD и NVIDIA в области AI/DL/ML: ожидания, реальность и погружение в хаос терминов

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤔 ИИ с человеческим лицом: какие ошибки повторяют модели и что с этим делать

В статье рассказывают, почему ИИ, как и люди, подвержен когнитивным искажениям: самоуверенность, предвзятость и шаблонное мышление — как это влияет на бизнес и технологии

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1👎1
👩‍💻 Как работает модуль os в Python для работы с файловой системой?

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

➡️ Пример:

import os

# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)

# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')


🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.
Please open Telegram to view this post
VIEW IN TELEGRAM
21
⚙️ Я делал концепции зданий 12 лет, а потом пришла нейросеть

12 лет я придумывал здания сам, но теперь рядом сидит ИИ. Рассказываю, как нейросети ворвались в архитектуру: где реально ускоряют, а где только мешают и требуют «додумать за них»

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
21
⚙️ Локальный чатбот без ограничений: гайд по LM Studio и открытым LLM

Ставлю себе локальный ИИ, чтобы не светить код в облаке. Подключаю LM Studio, балуюсь с системными промптами, прикручиваю бота к VS Code и проверяю, может ли он реально помогать в разработке

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