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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
🚀 Оптимизируй свой AI: разоблачение 6 мифов о работе с векторами в Pgvector

Шесть заблуждений, которые мешают тебе использовать всю мощь векторных баз данных в AI. Развенчав эти мифы, ты сможешь раскрыть истинный потенциал векторов и значительно повысить эффективность твоих AI-проектов.

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

Создайте Python-приложение, которое загружает датасет, использует модель линейной регрессии для предсказания, и сохраняет метрики модели (MAE, RMSE) в файл metrics.json. Программа должна уметь загружать датасет в формате CSV, обучать модель и выводить результаты.

➡️ Пример:

python app.py train data.csv — обучает модель, выводит метрики и сохраняет в metrics.json.

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

import sys
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_absolute_error, mean_squared_error
import json

def train_model(file_path):
# Загружаем данные
data = pd.read_csv(file_path)
X = data.drop('target', axis=1)
y = data['target']

# Разделение на тренировочные и тестовые данные
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

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

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

# Вычисляем метрики
mae = mean_absolute_error(y_test, y_pred)
rmse = mean_squared_error(y_test, y_pred, squared=False)

# Сохраняем метрики
metrics = {'MAE': mae, 'RMSE': rmse}
with open('metrics.json', 'w') as f:
json.dump(metrics, f)

print(f"MAE: {mae}, RMSE: {rmse}")

if __name__ == "__main__":
if len(sys.argv) > 1:
train_model(sys.argv[1])
else:
print("Укажите путь к CSV-файлу.")
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 7 малоизвестных возможностей стандартной библиотеки Python

Стандартная библиотека Python – это кладезь возможностей. Мы представляем семь недооцененных модулей, которые помогут вам улучшить организацию данных, оптимизировать производительность и упростить распространение ваших программ.

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

Data Scientist (Ranking&Search)
🟢Big data (Hadoop, PySpark, Hive), Python, Catboost, Airflow, Docker, SQL, PyTorch
🟢Уровень дохода не указан | 3–6 лет

Senior Data Analyst
🟢SQL, Python, LTV, CPA, RevShare, Tableau
🟢от 3 000 до 3 500 $ | 3–6 лет

Senior Data Scientist MLE
🟢ml, Python, Numpy, SciPy, pandas, sklearn, Clickhouse, PostgreSQL
🟢от 250 000 до 400 000 ₽ | 3–6 лет

Python developer (Middle\Senior)
🟢Python, Flask, FastAPI, PostgreSQL, ClickHouse, Airflow, Docker, Git
🟢Уровень дохода не указан | 3–6 лет

Python-разработчик (middle+,senior)
🟢Python, C++, ML, CI/CD, Docker, SMPL
🟢от 150 000 до 250 000 ₽ | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Grok-2 в деле: Способен ли ИИ от Илона Маска превзойти конкурентов?

В середине августа мы видели анонс бета-версий Grok-2 и Grok-2 mini от стартапа Илона Маска xAI. Что ж, на дворе осень, как пел Anacondaz "на улице дубак, на сердце тлен и мрак", так пусть же Grok 2 сегодня станет тем самым, кто укроет зацензуренным пледом наши тела. Предлагаю начинать.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает кросс-валидация в ML?

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

➡️ Пример применения кросс-валидации с использованием библиотеки scikit-learn:
from sklearn.model_selection import cross_val_score
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris

data = load_iris()
X, y = data.data, data.target
clf = RandomForestClassifier()

scores = cross_val_score(clf, X, y, cv=5)
print(f'Средняя точность: {scores.mean()}')

Здесь модель обучается 5 раз (5-fold) на разных частях данных, и вычисляется средняя точность.

🗣️ Кросс-валидация помогает лучше понять, как модель будет работать на новых данных, улучшая её обобщение.


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

Data Science Lead
🟢Pandas, SciPy, Scikit-learn, Seaborn, Grafana, PowerBI, SQL
🟢Уровень дохода не указан | 3–6 лет

Data Science Lead
🟢MLOps, Hadoop, Python, TensorFlow, PyTorch, R
🟢Уровень дохода не указан | 3–6 лет

Data Science Tech Lead
🟢Python, Apache Spark, Gen AI, Chat GPT
🟢Уровень дохода не указан | 3–6 лет

Tech Lead Python
🟢Python, FastAPI, Flask, Django, NoSQL
🟢Уровень дохода не указан | Более 6 лет

Tech Lead (Python)
🟢Python, Linux, Nginx, Docker, Asyncio, aiohttp, Squid
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Оценка LLM: метрики, фреймворки и лучшие практики

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Карьера — это не про «идеальную работу», а про опыт и умение адаптироваться

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

🎯 Что делать: пообщайся с коллегой из другой области, возьми на себя один проект вне своей зоны, попробуй новый инструмент или язык, устрой «ревизию» навыков — что сейчас реально работает на тебя, а что пора обновить? Простые шаги, но каждый — ключ к росту и новым возможностям.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка валютных вакансий

Data Engineer (Дата инженер)
🟢Stack: Python, SQL, Amazon Web Services, GCP, Azure
🟢от 2 500 до 5 500 $ | 3–6 лет

Data Engineer AI (удаленно)
🟢Python, DWH, PostgreSQL, CRM, ERP, SQL, ETL, Power BI, ML
🟢от 2 200 до 3 400 $ | 3–6 лет

Senior backend developer - Python
🟢Python, PostgreSQL, Redis, FastAPI, Flask, Pyramid, SQLAlchemy, Celery, Pydantic, AWS
🟢от 4 000 $ | Более 6 лет

QA manual/Продакт Разработчик операций AI
🟢Python, SQL, Aiogram, GPT, PostgreSQL, CRM
🟢от 800 до 1 300 $ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Под капотом asyncio: принципы работы и ключевые концепции

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по 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
⚙️ Как мы создаём Visionatrix: упрощая ComfyUI

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

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

Создайте Python-скрипт, который анализирует временной ряд, выявляя тренд и сезонные колебания. Используйте для этого библиотеку statsmodels и визуализируйте результат с помощью matplotlib. Скрипт должен принимать данные в формате CSV и выводить график, на котором будут отображены исходные данные, тренд и сезонные компоненты.

➡️ Пример:

python app.py analyze timeseries.csv — анализирует временной ряд из файла timeseries.csv, разлагает его на тренд и сезонные компоненты и строит график с визуализацией.

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

import sys
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.seasonal import seasonal_decompose

def analyze_timeseries(file_path):
# Чтение данных из CSV
data = pd.read_csv(file_path, parse_dates=['Date'], index_col='Date')

# Проверка, что в данных есть столбец 'Value' для анализа
if 'Value' not in data.columns:
print("Файл должен содержать столбец 'Value' с числовыми значениями.")
sys.exit(1)

# Декомпозиция временного ряда
decomposition = seasonal_decompose(data['Value'], model='additive', period=12)

# Визуализация исходного ряда, тренда, сезонной и остаточной составляющих
plt.figure(figsize=(10, 8))
plt.subplot(411)
plt.plot(data['Value'], label='Исходные данные')
plt.legend(loc='best')
plt.subplot(412)
plt.plot(decomposition.trend, label='Тренд')
plt.legend(loc='best')
plt.subplot(413)
plt.plot(decomposition.seasonal, label='Сезонность')
plt.legend(loc='best')
plt.subplot(414)
plt.plot(decomposition.resid, label='Остатки')
plt.legend(loc='best')
plt.tight_layout()
plt.show()

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Укажите путь к файлу CSV для анализа.")
sys.exit(1)

file_path = sys.argv[1]
analyze_timeseries(file_path)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Стажер Python Back-end (офис)
🟢Python, Git, PostgreSQL, SQL, Linux, JavaScript
🟢Уровень дохода не указан | Без опыта

Junior Data Engineer
🟢SQL, Big Data, DWH, ETL, Airflow, Python
🟢до 130 000 ₽ | 1–3 года

Junior Python developer
🟢Python, SQL/NoSQL, BeautifulSoup, requests, pandas, Selenium, Playwright, FastAPI, pytest, unittest, Docker
🟢от 70 000 ₽ | 1–3 года

Python-разработчик (Junior - Middle)
🟢Python, Django, MySQL, Django REST Framework, Linux, Git, Vue.js, HTML, CSS
🟢от 70 000 ₽ | 1–3 года

Junior Data Analyst / Data Analyst
🟢SQL, Atlassian Jira, Atlassian Confluence
🟢от 60 000 до 110 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Насколько хороши LLM?

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Как работает метод 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
1
🔎 Подборка вакансий для мидлов

Разработчик Python (Middle)
🟢Python, Django, Django Rest Framework, Git, MongoDB, Linux
🟢от 90 000 до 150 000 ₽ | 1–3 года

Middle Python Developer
🟢Python, FastAPI, SQLAlchemy, PostgreSQL, MongoDB, Redis, Docker, GNU/Linux
🟢от 120 000 до 180 000 ₽ | 3–6 лета

Middle Python разработчик
🟢Python, aiohttp, FastAPI, PostgreSQL, MongoDB, RabbitMQ, Kafka, NumPy, OpenCV
🟢от 140 000 до 240 000 ₽ до вычета налогов | 3–6 лет

Data Engineer/Дата инженер (ученик)
🟢Python, SQL, Big Data, MLflow, NoSQL, machine learning, Hadoop, Apache Spark, Scala, Apache Kafka
🟢от 100 000 до 110 000 ₽ | Без опыта

Data Engineer / Дата-инженер
🟢Python, PySpark, SQL, Azure (ADF, SQL DB), Databricks, Power BI, Azure DevOps
🟢от 190 000 ₽ до вычета налогов | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM