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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
📝 Подборка вакансий для мидлов

Бизнес-аналитик / Системный аналитик
BPMN, Анализ данных, UML, Анализ требований, Проектирование, Разработка ТЗ, BI
до 150 000 ₽ | от 3 лет​

Data Analyst
Python, Apache Spark, SQL, Apache Hadoop
Уровень дохода не указан | от 2 лет​

Data Scientist (риски)
Машинное обучение, SQL, Python
Уровень дохода не указан | от 3 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
⚙️ Оценка LLM: метрики, фреймворки и лучшие практики

Статья объясняет, почему оценка LLM важна для бизнеса: модели ИИ не всегда достигают цели и нуждаются в доработке. Разбираются ключевые метрики, инструменты и лучшие практики для повышения надежности и точности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1🐳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
5👍3
⚙️ Как мы создаём Visionatrix: упрощая ComfyUI

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🤔 Насколько хороши LLM?

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

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

Senior Data Engineer
🟢ClickHouse, Aerospike, TiDB, Grafana, Kafka
🟢до 5 000 $ | 3–6 лет​

Senior Data Engineer / Data Platform Architect
🟢S3, MinIO, Parquet, DeltaLake, PostgreSQL, ClickHouse, Python, Airflow, dbt, Docker, Kubernetes, Kafka, RabbitMQ
🟢до 350 000 ₽ | 3–6 лет​

Senior Data Scientist (LLM)
🟢Python, глубокое обучение, LLM, чат-боты
🟢от 350 000 до 450 000 ₽ | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
1
⚙️ Под микроскопом: AI Product Hack

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥1
👩‍💻 Как работает __name__ == "__main__" в Python?

Конструкция if __name__ == "__main__" определяет, выполняется ли скрипт как основная программа или импортируется в качестве модуля. Это позволяет запускать код только при непосредственном запуске скрипта, исключая его выполнение при импорте.

➡️ Пример:
def greet():
print("Hello from greet!")

if __name__ == "__main__":
greet() # Этот вызов выполнится только при запуске скрипта напрямую


🗣 В этом примере greet() будет вызвана, если файл запускается напрямую. Если скрипт импортируется как модуль, greet() не вызовется, сохраняя модульную структуру кода.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52
👀 Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5

Статья раскрывает процесс использования БПЛА и нейросетей для точного распознавания объектов на ортофотопланах. Описаны этапы подготовки данных, разметки и обучения сети на примере поиска пикетных столбиков на ж/д перегонах. Исходный код доступен на GitHub.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
✔️ Простой и быстрый тест LLM для прототипа: сравниваем 16 open-source-моделей на запросе с разной температурой

В статье рассказывается, как быстро протестировать 16 LLM для создания текстовых прототипов, даже если вы не в теме ML. Берём несколько моделей, сравниваем результаты, оцениваем, подходит ли под задачу.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
🕳 Не избегай «странных» багов — изучай их до конца

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

👉 Совет: такие баги — твои лучшие учителя. Разбери их до основания, даже если потратишь на это день. Ты прокачаешься в логике, научишься работать с пограничными случаями и будешь увереннее в своём коде.
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥1
🛍 Как базовые знания кодинга и нейросетей сэкономили нам больше 15 млн ₽ на Wildberries [скрины]

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

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

Напишите функцию, которая принимает список чисел и возвращает все значения, которые являются выбросами. Выбросы определяются как значения, которые находятся ниже первого квартиля (Q1) минус 1.5 * IQR или выше третьего квартиля (Q3) плюс 1.5 * IQR, где IQR — межквартильный размах.

➡️ Пример:

Входной список:
[10, 12, 14, 15, 15, 16, 16, 16, 17, 18, 19, 100]

Ожидаемый вывод:
[100]


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

import numpy as np

def find_outliers(data):
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1
lower_bound = q1 - 1.5 * iqr
upper_bound = q3 + 1.5 * iqr
return [x for x in data if x < lower_bound or x > upper_bound]

# Пример использования:
input_data = [10, 12, 14, 15, 15, 16, 16, 16, 17, 18, 19, 100]
result = find_outliers(input_data)
print(result) # Ожидаемый результат: [100]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍71
🖥 Руководство по созданию приложения для поиска данных на основе агента GraphRAG

Статья описывает приложение, объединяющее GraphRAG и AutoGen-агентов с локальными LLM от Ollama для автономного встраивания и вывода. Рассмотрены ключевые аспекты: интеграция знаний, настройка LLM, вызов функций и интерактивный интерфейс.

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

Напишите функцию, которая принимает DataFrame и заменяет отсутствующие значения (NaN) в каждом числовом столбце на среднее значение этого столбца. Если столбец содержит только NaN, оставьте его без изменений.

➡️ Пример:

   feature1  feature2  feature3
0 1.0 10.0 NaN
1 2.0 NaN NaN
2 NaN 30.0 NaN
3 4.0 40.0 NaN

feature1 feature2 feature3
0 1.00 10.0 NaN
1 2.00 26.7 NaN
2 2.33 30.0 NaN
3 4.00 40.0 NaN


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

import pandas as pd

def fill_missing_with_mean(df):
numeric_columns = df.select_dtypes(include=['float', 'int'])
for column in numeric_columns:
if df[column].notna().any(): # Проверяем, есть ли значения не NaN
df[column] = df[column].fillna(df[column].mean())
return df

# Пример использования:
data = pd.DataFrame({
'feature1': [1.0, 2.0, None, 4.0],
'feature2': [10.0, None, 30.0, 40.0],
'feature3': [None, None, None, None]
})

result = fill_missing_with_mean(data)
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51👍1
🔎 Подборка вакансий для джунов

Data engineer (junior)
🟢SQL, Linux, Scala (желательно), понимание ООП, ФП, MapReduce, архитектуры Hadoop YARN, HDFS, Apache Spark
🟢от 70 000 до 140 000 ₽ | Без опыта​

DATA-аналитик/Аналитик данных (Junior)
🟢T-SQL (MS SQL), Python (pandas, SQLAlchemy, requests), ETL, Excel, Power BI, DAX (приветствуется)
🟢95 000 ₽ | 1–3 года

Data Scientist (Junior)
🟢Python, SQL, машинное обучение, статистика, анализ данных
🟢до 150 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
1
🖥 Ведущий разработчик ChatGPT и его новый проект — Безопасный Сверхинтеллект

Кратко о том, как Суцкевер стал не просто сооснователем OpenAI, а мозгом ChatGPT, почему ушёл в новый проект и зачем вообще создавать "безопасный сверхинтеллект".

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

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

➡️ Пример:

import pandas as pd

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

encoded = pd.get_dummies(df)
print(encoded)


🗣️ В этом примере get_dummies() преобразует колонку Цвет в три бинарных признака: Цвет_красный, Цвет_синий, Цвет_зелёный. Для каждой строки только один из них равен 1, остальные — 0.


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

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

Data Engineer (Middle)
🟢Python, Rust, SQL, ClickHouse, PostgreSQL, Greenplum, Airflow, Dagster, Prefect, Docker, Kubernetes
🟢от 200 000 ₽ | 1–3 года​

Data Scientist
🟢Python, SQL, A/B тесты, MLflow, DVC, Apache Airflow, Hadoop, Spark, LLM, NLP
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👎131🐳1