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
🔥82
Как работает метод feature_importances_ в Python и зачем он нужен в Machine Learning?

Метод feature_importances_ — это атрибут некоторых моделей машинного обучения в библиотеке scikit-learn, который позволяет определить, какие признаки (фичи) наиболее влияют на предсказания модели.

Этот метод возвращает значение важности для каждого признака, показывая, как сильно он влияет на конечный результат. Его использование особенно полезно для деревьев решений и ансамблевых моделей, таких как RandomForest и GradientBoosting.

➡️ В примере ниже мы используем RandomForest для анализа важности признаков и визуализации результатов.

from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
import pandas as pd

# Загрузка данных
data = load_iris()
X, y = data.data, data.target

# Создание и обучение модели
model = RandomForestClassifier()
model.fit(X, y)

# Получение и визуализация важности признаков
feature_importances = pd.Series(model.feature_importances_, index=data.feature_names)
feature_importances.sort_values(ascending=False).plot(kind='bar')


🗣 Использование feature_importances_ помогает определить, какие признаки стоит использовать, исключить малозначимые фичи и сделать модель более интерпретируемой.


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

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

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥1
🌱 Не бойся признавать, что чего-то не знаешь

Легко притворяться экспертом и искать решение вслепую, но это затягивает процесс и создаёт ложное впечатление о твоих знаниях.

👉 Совет: если не знаешь ответа — так и скажи. Вопросы — не признак слабости, а стремления разобраться. Более того, честность повышает доверие в команде. Никто не знает всего — даже опытные разработчики иногда гуглят основы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73😁2
👩‍💻 Предсказание цены дома по площади

Построить сверточную нейронную сеть (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
😁5👍31
🤔 Выбираем MLOps инструменты с учётом зрелости команды

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

Читать...
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
👍6
🧠 Языковые модели против мошенников: как LLM помогают бороться с отмыванием денег и финансовым мошенничеством

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

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

Создайте модель на датасете Iris, обучите классификатор KNeighborsClassifier и сделайте предсказание. Это классическая задача для первых шагов в машинном обучении.

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

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score

# Загружаем данные
iris = load_iris()
X, y =
iris.data, iris.target

# Делим на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Обучаем модель
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train, y_train)

# Предсказание
y_pred = model.predict(X_test)

# Оценка качества
print(f"Точность: {accuracy_score(y_test, y_pred):.2f}")
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🔎 Подборка вакансий для джунов

Младший специалист по анализу данных / Junior Data Scientist
🟢Python, R, Математическая статистика, Регрессионный анализ
🟢Уровень дохода не указан | 1–3 года

Data Analyst (Junior)
🟢SQL, Python, A/B тесты, BI, ML Base, EDA
🟢от 70 000 ₽ | Без опыта

Junior Data Specialist
🟢SQL, Excel, ETL, DWH, Power BI, Tableau, Google Data Studio
🟢от 70 000 до 90 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Model Context Protocol (MCP): как подружить нейросети со всеми API за пару кликов

В статье рассказывают, как новый протокол MCP от Anthropic стандартизирует взаимодействие 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
2👍1
🔎 Подборка вакансий для мидлов

Middle/Senior Data Scientist в команду ETA/RTA
🟢Python, SQL, Pandas, Scikit-learn, XGBoost, LightGBM, CI/CD, Docker
🟢Уровень дохода не указан | 3–6 лет

Middle ML Engineer
🟢Python, Go, SQL, PyTorch, TensorFlow, Airflow, Triton Inference Server, Docker, Kubernetes
🟢Уровень дохода не указан | 1–3 года

Data Scientist/Разработчик машинного обучения (ML, NLP, LLM) Middle
🟢Python, numpy, pandas, sklearn, PyTorch, transformers, NLP, LLM
🟢Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
⚙️ Взлом ИИ-асситентов. Абсолютный контроль: выдаём разрешение от имени системы

В статье рассказывают, как уязвимость в ИИ позволяет обмануть систему команд: если подделать приказ, модель выполнит даже запрещённое. Неужели 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
👍1
⚙️ Переходим от legacy к построению Feature Store

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

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
🔎 Подборка вакансий для сеньоров

Senior Big Data Engineer (Data Management Platform) - Lamoda Tech
🟢Hadoop (YARN, HDFS, HBase, Hive), Spark, Airflow, Python, Scala, Java, SQL
🟢Доход не указан | 3–6 лет | Удалёнка/Гибрид

Data Engineer Senior - LIAN
🟢SQL, Hadoop (HDFS, YARN, HIVE), Apache Spark, Airflow, Kafka, Python, Java, Scala
🟢270 000 - 350 000 ₽ | Более 6 лет | Удалёнка

Senior Data Engineer - Sigma Sweden Software AB
🟢Spark (Scala), SQL, AWS (DynamoDB, Kinesis), Docker, Python/Ruby, Data Lake
🟢Доход не указан | 3–6 лет | Удалёнка/Гибрид/На месте
Please open Telegram to view this post
VIEW IN TELEGRAM
1