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
👩‍💻 Построй визуализацию распределения признаков с автоматической категоризацией

Создайте функцию 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
6
🤔 Насколько хороши LLM?

Статья описывает создание и адаптацию бенчмарка для оценки русскоязычных LLM в российском контексте. Основное внимание уделено подбору вопросов, актуализации содержания и корректировке оценок для соответствия современным общественным реалиям.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
👩‍💻 Задача: Реализация собственного Score-функционала для оценки модели

Напишите свою метрику custom_score, которая будет вычислять "взвешенную точность": за TP даём +2, за TN — +1, FP и FN — 0. Это может быть полезно в задачах, где ложноположительные и ложноотрицательные результаты имеют разный вес

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

from sklearn.metrics import confusion_matrix

def custom_score(y_true, y_pred):
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
score = tp * 2 + tn * 1
return score / (tp + tn + fp + fn) # нормализуем

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

print(custom_score(y_true, y_pred)) # Примерный вывод: 0.71
Please open Telegram to view this post
VIEW IN TELEGRAM
2🐳1
🔎 Подборка вакансий для джунов

Junior Data Scientist (A/B-testing)
🟢Python, Spark, Airflow, MLFlow, Postgres, Git, DVC, Docker
🟢Уровень дохода не указан | 1–3 года​

Junior ML Engineer / Data Scientist
🟢Python, SciPy, scikit-learn, LightGBM, CatBoost, Git, Docker, MLflow, Airflow
🟢от 120 000 до 200 000 ₽ | 1–3 года​

Junior Data Scientist
🟢Python, SQL, pandas, numpy, matplotlib, seaborn, Scikit-learn, PyTorch, XGBoost, CatBoost, TensorFlow, transformers, pymorphy2, NLTK, Gensim, spaCy, regexp
🟢Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
4
⚙️ Под микроскопом: AI Product Hack

Статья анализирует результаты AI Product Hack, рассматривая спорное судейство и кейс компании Raft по мониторингу токсичного контента в AI-продуктах. Исследуются риски и последствия неконтролируемого поведения LLM в реальных проектах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
⚙️ Что такое one-hot encoding и зачем он нужен в Data Science?

One-hot encoding — это способ представления категориальных признаков в виде бинарных векторов. Он используется для подготовки данных к моделям машинного обучения, которые не могут работать напрямую с текстовыми значениями.

➡️ Пример:

import pandas as pd

df = pd.DataFrame({'цвет': ['красный', 'синий', 'красный', 'зелёный']})

encoded = pd.get_dummies(df['цвет'])
print(encoded)


🗣️ В этом примере get_dummies превращает колонку с названиями цветов в три бинарные колонки — по одному на каждый уникальный цвет. Это позволяет моделям легче обрабатывать категориальные данные.


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

​Middle Data Scientist (лидогенерация)
🟢Python, Airflow, MLflow, Hadoop (Hive, Spark), Oracle (SQL, PL/SQL), Linux, Bash, Git
🟢Уровень дохода не указан | 1–3 года​

Data Engineer (Middle)
🟢Python (pandas, Airflow), PostgreSQL, MongoDB, ClickHouse, AWS, Yandex Cloud, Kafka, Spark
🟢Уровень дохода не указан | 1–3 года​

Python Developer (Middle)
🟢Python, Flask, FastAPI, React.js, PostgreSQL, Airflow, Git, Docker, ElasticSearch, Kafka
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
1
➡️ Человек, которого выбрал ИИ

Рассказывается, как ИИ научили выбирать сперматозоиды для ЭКО, и один из них уже стал человеком. Не теория, а реальный кейс: без философии, с метриками и видео процедур.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👩‍💻 Обучите модель для классификации текста с помощью Naive Bayes

Создайте простую модель машинного обучения, которая определяет, является ли текст позитивным или негативным. Используем sklearn и алгоритм Naive Bayes

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

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import make_pipeline

# Обучающие данные
texts = ["Это отличный фильм", "Ужасный опыт", "Мне понравилось", "Очень скучно", "Прекрасная история"]
labels = ['positive', 'negative', 'positive', 'negative', 'positive']

# Модель
model = make_pipeline(CountVectorizer(), MultinomialNB())
model.fit(texts, labels)

# Прогноз
print(model.predict(["Фильм был ужасен"])) # ['negative']
print(model.predict(["Обожаю это кино"])) # ['positive']
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
👀 Рептилоиды победили… но это не точно

ИИ всё ещё не рептилоид: в статье — скептический разбор "интеллекта" нейросетей. Проверка на слонах, эволюция ответов Алисы, трезвый взгляд на истерики СМИ и разница между AGI и автокомплитом.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
👀 WorkTeam: новый мультиагентный фреймворк для автоматизации сложных бизнес-процессов

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
👩‍💻 Задачка по Python

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

Очистка данных: удаление записей с пустыми значениями в столбцах price или quantity.

Агрегация: подсчет общего количества проданных товаров и общей суммы по каждому продукту.

➡️ Пример:

python app.py sales_data.csv — создает новый файл aggregated_data.csv с общей суммой и количеством проданных товаров по каждому продукту.

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

import pandas as pd
import sys

def clean_and_aggregate(file_path):
# Загружаем данные
data = pd.read_csv(file_path)

# Удаляем строки с пустыми значениями в колонках 'price' и 'quantity'
data.dropna(subset=['price', 'quantity'], inplace=True)

# Преобразуем колонки в числовой формат, ошибки игнорируем
data['price'] = pd.to_numeric(data['price'], errors='coerce')
data['quantity'] = pd.to_numeric(data['quantity'], errors='coerce')

# Удаляем строки с некорректными значениями
data.dropna(subset=['price', 'quantity'], inplace=True)

# Агрегируем данные
aggregated_data = data.groupby('product_id').agg(
total_quantity=('quantity', 'sum'),
total_sales=('price', 'sum')
).reset_index()

# Сохраняем в новый CSV
aggregated_data.to_csv('aggregated_data.csv', index=False)
print("Агрегация завершена. Данные сохранены в 'aggregated_data.csv'.")

if __name__ == "__main__":
if len(sys.argv) != 2:
print("Использование: python
app.py <путь к файлу CSV>")
sys.exit(1)

file_path = sys.argv[1]
clean_and_aggregate(file_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
➡️ Секреты Spark в Arenadata Hadoop: как мы ускорили построение витрин для задач ML

Покажем, как связали нашу платформу ИИ и Озеро данных, чтобы модели удобно работали с витринами через Spark. Немного архитектуры, немного боли, немного магии.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥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
1
VI российский саммит и Премия CDO/CDTO Summit & Awards 2025 собрали лидеров цифровой трансформации из различных отраслей.

Это событие стало площадкой для обсуждения актуальных вопросов цифровизации, развития инфраструктуры на основе российского ПО и технологий, а также обмена опытом между представителями бизнеса и органов власти.

Сразу две награды получила МТС Web Services:

🟢 Платформа MWS Octapi получила Гран-при в номинации «Digital-платформа года». Octapi позволяет бесшовно интегрировать сервисы в экосистему, обеспечивая их эффективное взаимодействие и повышая надежность.

🟢 Павел Воронин генеральный директор МТС Web Services стал лауреатом премии CDO/CDTO, войдя в тройку лучших СЕО 2025 года в номинации «СЕО года цифровой компании».
Please open Telegram to view this post
VIEW IN TELEGRAM
2
📝 Подборка вакансий для лидов

Data Architect
Apache Hadoop, Apache Airflow, Greenplum, Apache NiFi, DWH, Apache Spark
Уровень дохода не указан | Без опыта

Team Lead Data Platform
Python, SQL, Git, Apache Hadoop, Apache Spark, Apache Airflow, Apache Kafka
Уровень дохода не указан | Без опыта

Data Science Tech Lead/Product owner
Python, SQL, Hadoop, Spark, Airflow
Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
🤡 Endless Fun Machine: бесконечный генератор смешных картинок

Расскажу про проект Endless Fun Machine: как я собрал генератор, где ИИ сам придумывает шутки и рисует их в мемы. И заодно покажу, как это можно адаптировать для синтетических данных

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2👎1🔥1
🔎 Подборка зарубежных вакансий

Data Scientist рекомендательные системы (full time office)
🟢Python, pandas, sklearn, scipy, matplotlib, catboost, SQL, Git, Docker
🟢Уровень дохода не указан | 3–6 лет

Senior Data Scientist (Recommender Systems)
🟢Python, PyTorch, PySpark, ClickHouse, Jenkins, Airflow, ONNX
🟢от 5 000 до 6 500 € | 3–6 лет

Data Scientist (Кипр)
🟢Python, SQL, pandas, numpy, seaborn, ML, Big Data, Deep Learning
🟢от 4 000 € | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1