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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
👩‍💻 Задачка по Python

Напишите функцию, которая принимает DataFrame и возвращает имена двух столбцов с наибольшей положительной корреляцией.

➡️ Пример:

data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2, 4, 6, 8],
'C': [1, 0, 1, 0],
'D': [10, 20, 30, 40]
})

print(find_highest_correlation(data))
# Ожидаемый результат: ('B', 'D')


Решение задачи ⬇️

def find_highest_correlation(df):
corr_matrix = df.corr()
max_corr = 0
columns = (None, None)

for col1 in corr_matrix.columns:
for col2 in corr_matrix.columns:
if col1 != col2 and corr_matrix[col1][col2] > max_corr:
max_corr = corr_matrix[col1][col2]
columns = (col1, col2)

return columns

# Пример использования:
import pandas as pd

data = pd.DataFrame({
'A': [1, 2, 3, 4],
'B': [2, 4, 6, 8],
'C': [1, 0, 1, 0],
'D': [10, 20, 30, 40]
})

print(find_highest_correlation(data)) # Ожидаемый результат: ('B', 'D')
Please open Telegram to view this post
VIEW IN TELEGRAM
3🐳1
⚙️ Когда обучение не идет. Loss is NaN. Причины и решения

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Напишите функцию для расчёта 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
3👍2
🔎 Подборка вакансий для джунов

​Data Engineer (Junior)
🟢Scala или Python, SQL, Apache Spark, Hadoop, NiFi
🟢Уровень дохода не указан | 1–3 года​

Junior/Middle Data Engineer (Финансовый блок)
🟢Scala, Python, Java, SQL, Apache Spark, Hadoop, Apache Airflow
🟢Уровень дохода не указан | 1–3 года​

Data Analyst (Junior)
🟢SQL, Python, A/B тесты, BI, ML Base, EDA, продуктовая аналитика
🟢от 70 000 ₽ | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Организация ML-проекта с примерами

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

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

One-Hot Encoding — это способ преобразования категориальных признаков (текста) в числовой формат для обучения моделей машинного обучения.

Каждое уникальное значение категории превращается в отдельную колонку с 0 или 1.

➡️ Пример:

import pandas as pd

data = pd.DataFrame({
'Color': ['Red', 'Green', 'Blue', 'Red']
})

# Применяем One-Hot Encoding
encoded = pd.get_dummies(data)

print(encoded)

Color_Blue Color_Green Color_Red
0 0 0 1
1 0 1 0
2 1 0 0
3 0 0 1


🗣️ В этом примере категориальный столбец Color преобразован в три колонки с бинарными значениями. Такой формат данных необходим для многих моделей, например, линейной регрессии и деревьев решений.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🔎 Подборка вакансий для мидлов

​Data Scientist (Middle)
🟢Python, SQL, Pandas, NumPy, Matplotlib
🟢Уровень дохода не указан | 3–6 лет​

Инженер данных / Data engineer (middle)
🟢Scala, Python, SQL, Apache Spark, Hadoop, NiFi
🟢Уровень дохода не указан | 1–3 года​

Аналитик данных/Data Analyst
🟢SQL (ClickHouse, Postgres, MS SQL), Python, Jupyter, Git, BI-системы (Datalens)
🟢от 200 000 до 300 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Постройте простую модель классификации с использованием 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
👍1
⚙️ Рекомендательная система для вашего каталога научных работ (и не только!)

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

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
⚙️ Как я сделала свой первый AI-продукт с ChatGPT и капелькой любви

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

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
⚙️ Что такое 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
3
⚙️ Как обучить русскоязычную модель рассуждений — LRM?

В статье разбор мультиязычных моделей рассуждений от Lightblue: как они научили DeepSeek "думать" на русском, откуда взяли датасет и зачем запускали LLM как фильтр рассудительности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
👩‍💻 Под капотом asyncio: принципы работы и ключевые концепции

Библиотека asyncio предоставляет полный набор инструментов для организации параллельного выполнения кода в Python с использованием концепции асинхронности. Но как на самом деле работает asyncio? Давайте разберемся в ключевых принципах и понятиях.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
🌌 Делай мини-проекты из собственных болей

Бесит, что каждый день ищешь одну и ту же команду в истории? Или вручную обрезаешь скриншоты? Это подсказки.

👉 Совет: собирай такие мелкие «боли» и превращай их в свои pet-проекты или утилиты. Это не только помогает себе, но и тренирует навык быстрого решения задач и проектирования под реальную жизнь.
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍3🔥1
🔎 Подборка зарубежных вакансий

​Senior Data Analyst
🟢Python, SQL, Amplitude, Firebase, аналитические платформы, маркетинговые метрики
🟢до 3 000 $ | 3–6 лет​

Senior Data Engineer
🟢Python, SQL, Apache Airflow, Exasol, ClickHouse, StarRocks, Snowflake, BigQuery, Redshift, ETL/ELT, S3, Docker, Kubernetes
🟢Уровень дохода не указан | более 6 лет​

Team Lead Data Scientist
🟢Python, RecSys, Uplift modeling, Churn prediction, LTV prediction, Forecasting, MLOps, CI/CD
🟢от 5 000 до 7 250 $ | более 6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⚙️ Как мы создаём Visionatrix: упрощая ComfyUI

В этой статье мы расскажем о нашем опыте работы с ComfyUI и разработке Visionatrix — надстройки, которая упрощает генерацию медиа. Мы обсудим ключевые проблемы, с которыми сталкиваются пользователи, наш подход к их решению, а также вкратце поделимся тем, как мы использовали ChatGPT и Claude для ускорения разработки в условиях ограниченного времени.

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

Создайте функцию 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.noscript(f'Гистограмма: {column}')
elif df[column].nunique() <= max_categories:
df[column].value_counts().plot(kind='bar')
plt.noscript(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
6