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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
🌱 Рост идёт от дискомфорта

Если задачи всегда кажутся «понятными», значит, ты топчешься на месте.

👉 Совет: бери задачи, от которых чуть некомфортно. Не настолько, чтобы парализовало, а настолько, чтобы пришлось учиться новому. Этот дискомфорт — главный двигатель развития в IT.
Please open Telegram to view this post
VIEW IN TELEGRAM
196👍1
⚙️ Линейная регрессия в ML для самых маленьких

Поясняю линейную регрессию так, чтобы стало понятно, зачем вообще эта прямая на графике и как с её помощью предсказывать результат по набору чисел. Без лишней математики.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍31
⚙️ Как построить хороший пайплайн разработки ML-модели

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

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

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

Требуется реализовать функцию 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
👍31
🚀 Правда или нет, что Google победил Cursor?

В статье сравнивают два AI-инструмента для разработки: Firebase Studio от Google и Cursor от Anysphere. Кто круче — облачная платформа или интегрированный редактор?

Читать...
🔥1
🧠 Распознавание орхоно-енисейских рунических надписей методами машинного обучения

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
51
👩‍💻 Предсказание цены дома по площади

Построить сверточную нейронную сеть (CNN) для классификации изображений из набора данных CIFAR-10.

Модель должна предсказывать класс объекта на изображении. Датасет CIFAR-10 содержит 60,000 изображений размером 32x32 пикселя, разделенных на 10 классов:

— Самолет, Автомобиль, Птица, Кот, Олень, Собака, Лягушка, Лошадь, Корабль, Грузовик.

Требования к модели:

• Использовать сверточные слои для выделения признаков.
• Применить слои подвыборки (пулинг) для уменьшения размеров карты признаков.
• Добавить полносвязные слои для классификации на основе выделенных признаков.
• Использовать функцию активации ReLU для скрытых слоев и softmax для выходного слоя.
• Оценить точность модели на тестовых данных.

Входные данные: изображения размера 32x32 с тремя каналами (RGB).

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

import tensorflow as tf
from tensorflow.keras.datasets import cifar10
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D, MaxPooling2D, Flatten, Dense

# Загрузка данных
(X_train, y_train), (X_test, y_test) = cifar10.load_data()

# Нормализация данных
X_train, X_test = X_train / 255.0, X_test / 255.0

# Создание модели CNN
model = Sequential([
Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
MaxPooling2D((2, 2)),
Conv2D(64, (3, 3), activation='relu'),
MaxPooling2D((2, 2)),
Flatten(),
Dense(128, activation='relu'),
Dense(10, activation='softmax')
])

# Компиляция модели
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

# Обучение модели
model.fit(X_train, y_train, epochs=10, validation_data=(X_test, y_test))

# Оценка модели
loss, accuracy = model.evaluate(X_test, y_test)
print(f"Точность модели: {accuracy:.2f}")
Please open Telegram to view this post
VIEW IN TELEGRAM
👎311😁1
➡️ Как Duolingo юзает машинное обучение для прокачки английского: кратко и по делу

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82
🧠 Создаем свой RAG: введение в LangGraph

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
51
🤔 Выбираем MLOps инструменты с учётом зрелости команды

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

Читать...
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
51
⚙️ Когда обучение не идет. Loss is NaN. Причины и решения

В статье разберут, почему при обучении нейросети loss внезапно становится NaN и модель ломается. Расскажут, какие бывают причины этого трэша и как спасти обучение без лишней боли.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
21
👩‍💻 Напишите функцию для расчёта 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
👍41
⚙️ Организация ML-проекта с примерами

Организация - это важно. То же относится к ML-проектам. Из каких компонент он должен состоять? Как оформить проект, чтобы всего хватало и было удобно это масштабировать? Рассмотрим организацию по шаблону CookieCutter с примерами.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41👍1
⚙️ Рекомендательная система для вашего каталога научных работ (и не только!)

Показано, как собрать рекомендательную систему на своём архиве документов, даже если там куча форматов. NLP + графы = машинный архивариус, который сам подсовывает нужные файлы.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
51
⚙️ Анализ данных: от EDA до Tinder-битвы графиков

Расскажу, как мы в МТС учили студентов EDA не лекциями, а игрой по типу Tinder, только для графиков. Был фан, был хардкор и крутые визуализации.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
41
⚙️ Что такое StandardScaler из scikit-learn и зачем он нужен?

StandardScaler — это инструмент из библиотеки scikit-learn, который стандартизирует данные: приводит их к распределению со средним 0 и стандартным отклонением 1. Это важно перед обучением моделей, особенно для алгоритмов, чувствительных к масштабу (например, SVM, KNN, линейная регрессия).

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[10, 200], [15, 300], [14, 250]])

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

print(X_scaled)


➡️ После трансформации признаки будут нормализованы, что помогает улучшить сходимость и стабильность модели.

🗣️ StandardScaler — must-have шаг в пайплайне предварительной обработки данных для большинства классических ML-моделей


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
31
⚙️ Как я сделала свой первый AI-продукт с ChatGPT и капелькой любви

В этой статье я расскажу о моем опыте самостоятельного изучения основ Python и Machine Learning и создании первого проекта OneLove на базе собственной модели искусственного интеллекта (ИИ).

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
5
⚙️ Архитектура проекта автоматического обучения ML-моделей

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

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