Data Science | Machinelearning [ru]
17.9K subscribers
459 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
👀 Рептилоиды победили… но это не точно

ИИ всё ещё не рептилоид: в статье — скептический разбор "интеллекта" нейросетей. Проверка на слонах, эволюция ответов Алисы, трезвый взгляд на истерики СМИ и разница между 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
🧹 Заводи «технический долг» как отдельную задачу

Фраза «потом починим» без тикета = «никогда не починим».

👉 Совет: всё, что требует доработки, выноси в явные задачи или хотя бы в отдельный трекер. Технический долг нужно видеть, чтобы его гасить. Складывать его «в голове» — значит накапливать долги втайне до катастрофы.
Please open Telegram to view this post
VIEW IN TELEGRAM
10🐳1
🤔 Размер имеет значение: как исторические данные помогают на этапе дизайна A/B-теста

Статья изучает применение метода CUPED в A/B-тестах для повышения чувствительности и сокращения выборок. Рассматривается его использование на этапе дизайна эксперимента без потери статистической мощности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
3👎1
👩‍💻 Проверка, являются ли две строки анаграммами

Напишите функцию, которая принимает две строки и проверяет, являются ли они анаграммами. Анаграммы — это слова, которые содержат одинаковые буквы в одинаковом количестве, но в разном порядке. Игнорируйте регистр и пробелы.

Пример:

result1 = are_anagrams("listen", "silent")
print(result1) # Ожидаемый результат: True

result2 = are_anagrams("hello", "world")
print(result2) # Ожидаемый результат: False


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

def are_anagrams(str1, str2):
# Удаляем пробелы и приводим к одному регистру
str1 = ''.join(str1.lower().split())
str2 = ''.join(str2.lower().split())

# Проверяем, равны ли отсортированные символы
return sorted(str1) == sorted(str2)

# Пример использования:
result1 = are_anagrams("listen", "silent")
print(result1) # Ожидаемый результат: True

result2 = are_anagrams("hello", "world")
print(result2) # Ожидаемый результат: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👎2
⚙️ Пишем свою Diffusion модель с нуля

Статья предлагает разобраться в устройстве Diffusion моделей, их математике и принципах работы. Автор делится простыми объяснениями, примерами кода и результатами генерации изображений на собственной модели.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍61
👩‍💻 Поиск самого часто встречающегося элемента в списке

Напишите функцию, которая принимает список и возвращает элемент, который встречается чаще всего. Если таких элементов несколько, вернуть любой из них.

Пример:

numbers = [1, 3, 2, 3, 4, 1, 3, 2, 1]
result = most_frequent(numbers)
print(result)
# Ожидаемый результат: 3 (или 1, если в списке оба встречаются одинаково часто)


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

from collections import Counter

def most_frequent(lst):
count = Counter(lst)
return max(count, key=count.get)

# Пример использования:
numbers = [1, 3, 2, 3, 4, 1, 3, 2, 1]
result = most_frequent(numbers)
print(result) # Ожидаемый результат: 3
Please open Telegram to view this post
VIEW IN TELEGRAM
🐳31
🔎 Подборка вакансий для джунов

Junior Data Engineer
🟢Python, C#, SQL, Spark, Kafka, Airflow, DeltaLake, Kubernetes
🟢до 200 000 ₽ | 1–3 года

Data Analyst (Junior) | Аналитик Данных (Младший)
🟢Python, SQL, Power BI, Grafana, PostgreSQL, ClickHouse, Docker
🟢Уровень дохода не указан | 1–3 года

Data инженер DWH Junior (Hadoop)
🟢Hadoop, Hive, Spark, SQL, Java, Airflow, Git, Jira, Confluence
🟢Уровень дохода не указан | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
3
⚙️ Рейтинг 6 нейросетей для сокращения текста, ч. 1: промты рвут контент на части

В статье собрали 25 промтов для сжатия текста и сравнили, как разные нейросети вроде ChatGPT-4o и Gemini-2.5 превращают километры букв в понятные и короткие саммари.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
⚙️ Что такое Feature Scaling в ML и зачем он нужен?

Feature Scaling (масштабирование признаков) — это приведение всех признаков к одному масштабу, чтобы модель обучалась корректно.

Некоторые алгоритмы (например, k-NN, SVM, градиентный спуск) чувствительны к разнице в диапазонах данных

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[1, 100], [2, 300], [3, 500]])

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

print(X_scaled)


🗣️ В этом примере признаки приводятся к виду с нулевым средним и единичным стандартным отклонением.


Без масштабирования одна "большая" переменная может полностью доминировать над другими..

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

Data Scientist в области языковых моделей (Middle)
🟢Python, pandas, numpy, matplotlib, Hugging Face, transformers, машинное обучение, LLM
🟢от 351 000 ₽ | 3–6 лет

Middle Data Engineer
🟢SQL, Python, PostgreSQL, MongoDB, ClickHouse, Airflow, dbt, Docker, Kubernetes, Kafka
🟢от 4 000 € | 3–6 лет

Data Scientist
🟢Python, PySpark, Pandas, PyTorch, Scikit-learn, RecBole, Airflow, MLFlow
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
1