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
📝 Подборка вакансий для сеньоров

Database Administrator
ClickHouse, PostgreSQL, Debian/Ubuntu, Systemd, TCP/IP, iptables, SSH, x509-сертификаты, Bash, LVM
до 5 000 $ | от 3 лет опыта

Data engineer
SQL, Hive-SQL, Spark, AirFlow, Git, DWH, реляционные и NoSQL базы данных
Уровень дохода не указан | от 2 лет опыта

Data-аналитик (Senior)
SQL, PostgreSQL, Greenplum, ETL, DWH, оконные функции, оптимизация запросов
Уровень дохода не указан | от 2 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Эмоциональное принятие решений в LLM: исследование, которое мы показали на NeurIPS 2024

На NeurIPS 2024 группа «ИИ в промышленности» представила исследование по эмоциональным большим языковым моделям (LLM). Рассмотрены два подхода: строгая оптимальность и эмоциональный алайнмент. Как LLM правильно эмулируют эмоции? Узнаем!

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

Senior Data Scientist (Recommender Systems)
🟢Python, PyTorch, PySpark
🟢от 5 000 до 6 500 € до вычета налогов | 3–6 лет опыта

Senior Data Engineer в международный проект HealthTech
🟢Python, Apache Spark, AWS, SQL, NoSQL
🟢Уровень дохода не указан | 3–6 лет опыта

Data Engineer
🟢DBT, Amazon Redshift, Fivetran, Python, ETL, Amazon Web Services, SQL
🟢Уровень дохода не указан | 3–6 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
📊 ИИ в Крипто-Торговле: Возможен ли Успех?

Статья описывает процесс создания успешных ИИ-моделей для автоматизированной крипто-торговли на ByBit. Рассматриваются три стратегии, их разработка, оптимизация и результаты, превысившие убытки.

Читать...
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
1
➡️ Семантическая сегментация: самый полный гайд

Статья раскрывает, как семантическая сегментация помогает машинам «видеть», разбивая изображение на классы объектов. Обсуждаются её применение в автономных авто, медицине и обработке спутниковых снимков для точного распознавания контекста.

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

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

➡️ Пример:

python count_rows.py large_file.csv
Количество строк: 3


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

import csv
import sys

def count_rows(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
reader = csv.reader(file)
# Используем enumerate для подсчёта строк, исключая заголовок
row_count = sum(1 for _ in reader) - 1 # Минус 1 для исключения заголовка
return row_count

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Использование: python count_rows.py <file_path>")
sys.exit(1)

file_path = sys.argv[1]
try:
result = count_rows(file_path)
print(f"Количество строк: {result}")
except Exception as e:
print(f"Ошибка: {e}")
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Junior Data Analyst
🟢Python, SQL, ETL, Airbyte, dbt
🟢Уровень дохода не указан | Без опыта

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

Младший Data engineer
🟢Python, SQL, Debezium, Airflow
🟢Уровень дохода не указан | 1–3 года опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как обеспечить Data Quality терабайтов данных и зачем: опыт СИБУРа

Статья посвящена опыту СИБУРа в создании DQ-сервиса для обеспечения качества данных. Рассматриваются задачи DQ, архитектура решения и универсальные подходы, применимые для анализа данных в крупных компаниях.

Читать...
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
📝 Подборка вакансий для мидлов

LLM Engineer
Проектирование и создание инфраструктуры для запуска ИИ-агентов, включая работу с RAG, tools, механизмами памяти
Уровень дохода не указан | Требуемый опыт не указан

Tech Lead Data Engineer
Oracle, Greenplum, ETL, DWH
до 430 000 ₽ | от 2 лет опыта

Бизнес-аналитик / Системный аналитик
BPMN, UML, Анализ данных, Разработка ТЗ
до 150 000 ₽ | Средний (Middle)
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Как я учился писать промпты для RAG пайплайна. Разбор 3-го места на AI Journey 24 E-com AI assistant

Статья описывает опыт создания RAG-пайплайна с использованием Gigachat API для участия в AI Journey. Автор делится инсайтами, полученными в процессе разработки ассистента для рекомендаций товаров, который занял 3-е место.

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

Напишите функцию, которая принимает строку и возвращает новую строку, из которой удалены все гласные буквы (a, e, i, o, u в любом регистре).

➡️ Пример:

print(remove_vowels("Hello World"))  # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"


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

def remove_vowels(s):
vowels = "aeiouAEIOU"
return ''.join(char for char in s if char not in vowels)

# Пример использования:
print(remove_vowels("Hello World")) # Ожидаемый результат: "Hll Wrld"
print(remove_vowels("Python is great")) # Ожидаемый результат: "Pythn s grt"
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥1
🤔 Прогнозирование продаж с использованием библиотеки Prophet

Статья посвящена прогнозированию продаж FTTB-FMC для ежедневной отчетности. Рассматриваются подходы к анализу данных, ключевые KPI и методы, используемые для прогнозирования продаж в сегменте ШПД и конвергентных продуктов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Размер имеет значение: как исторические данные помогают на этапе дизайна A/B-теста

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM