Статьи на тему data science, machine learning, big data, python, математика, нейронные сети, искусственный интеллект (artificial intelligence) Англоязычный канал по DS и Machinelearning -https://t.me/ds_international По сотрудничеству - @g_abashkin
🔎 Подборка вакансий для джунов
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 года опыта
➡️ Семантическая сегментация: самый полный гайд
Статья раскрывает, как семантическая сегментация помогает машинам «видеть», разбивая изображение на классы объектов. Обсуждаются её применение в автономных авто, медицине и обработке спутниковых снимков для точного распознавания контекста.
Читать...
👩💻 Задачка по 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)
🔎 Подборка зарубежных вакансий
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 лет опыта
✔️ Простой и быстрый тест LLM для прототипа: сравниваем 16 open-source-моделей на запросе с разной температурой
В статье рассказывается, как быстро протестировать 16 LLM для создания текстовых прототипов, даже если вы не в теме ML. Берём несколько моделей, сравниваем результаты, оцениваем, подходит ли под задачу.
Читать...
➡️ ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети
В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.
Читать...
📈 Подборка статей для вашей карьеры
• Мои Red-Flags при устройстве в IT-компании: Как не стать гребцом. Часть 2
• Как строить карьеру в корпорации
• История: работа в чешском Red Hat
• Циничные заметки о карьере в IT от «гейткипера»
• Моя петиция EB-1A на грин-карту талантов, одобренная с первой попытки
🤔 Реальная эффективность Qwen 2.5 Coder против ChatGPT (или можно ли сэкономить 20$?)
В статье будет рассмотрена практическая проверка возможностей модели Qwen 2.5 Coder на основе задачи перевода кода из VB в C#. Узнаем, сможет ли она справиться с нюансами цикла и корректно адаптировать формулу.
Читать...
👩💻 FlexiPrompt: Удобное создание динамических промптов в Python
Статья знакомит с FlexiPrompt — лёгкой библиотекой для генерации промптов в Python при работе с языковыми моделями. Рассмотрены её преимущества: быстрая интеграция, гибкая настройка диалога и возможность создания нескольких агентов в одной LLM.
Читать...
🤔 3750 дней разработки AI или почему боты всё ещё не захватили покер
Статья рассматривает создание AI для покера (Техасского безлимитного холдема) и анализирует его сложность как модели бизнес-отношений. Обсуждаются метрики и стратегии, которые игроки используют в изменяющемся контексте для принятия решений.
Читать...
👩💻 Как работает модуль os
в Python для работы с файловой системой?
Модуль os
в Python предоставляет инструменты для взаимодействия с операционной системой. С его помощью можно управлять файлами и директориями, получать информацию о системе и переменных окружения, а также выполнять системные команды. Этот модуль особенно полезен для кроссплатформенных сценариев.
➡️ Пример:
import os
# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)
# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')
🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.Читать полностью…
🔎 Подборка вакансий для джунов
Data-аналитик в области временных рядов (Junior)
🟢Python, pandas, numpy, scipy, matplotlib, seaborn, SQL
🟢от 40 000 ₽ до вычета налогов | 1–3 года опыта
Продуктовый аналитик/junior product менеджер
🟢SQL, Google Analytics, Tableau, Power BI, BigQuery, Looker, UML, Use Case Analysis
🟢от 100 000 ₽ на руки | 1–3 года опыта
Data-инженер
🟢SQL, C#, MS Visual Studio, Big Data
🟢от 140 000 ₽ на руки | 1–3 года опыта
⚙️ Неувядающая классика или «чёрный ящик»: кто кого в битве за прогноз. Глава вторая. Продолжение
Статья продолжает разбор моделирования температурного временного ряда с двойной сезонностью. Основное внимание уделено подбору оптимальных параметров сезонной модели САРПСС для точного описания данных.
Читать...
🔥 Самые интересные статьи за последние дни:
• Не бойтесь потоков в Python, они не кусаются
• Рубрика: VPS на пределе возможностей. LLM на CPU с 12Gb RAM
• Предвзятость русскоязычных LLM: кого машина считает «обычным человеком»?
• Семантический веб: краткий обзор технологий и инструментов
• Инструмент обеспечения качества данных: от теории к практике
✔️ 30k аудиозаписей: наводим порядок
Статья рассказывает, как организовать и обработать огромный архив аудиозаписей дневников, созданных задолго до эпохи современных speech-to-text технологий. Рассматриваются инструменты и подходы для упорядочивания данных.
Читать...
👩💻 Задачка по 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}")
🔥 Самые интересные статьи за последние дни:
• Всё, что вы хотели знать о Django Channels
• Сборка Python проекта с uv и Docker
• DE-1. DIY ассистент на LLM
• Ваши генераторные выражения сломаны: чиним и разбираемся
• Всё, что вы хотели знать о Django Channels
📊 ИИ в Крипто-Торговле: Возможен ли Успех?
Статья описывает процесс создания успешных ИИ-моделей для автоматизированной крипто-торговли на ByBit. Рассматриваются три стратегии, их разработка, оптимизация и результаты, превысившие убытки.
Читать...
🧠 Эмоциональное принятие решений в LLM: исследование, которое мы показали на NeurIPS 2024
На NeurIPS 2024 группа «ИИ в промышленности» представила исследование по эмоциональным большим языковым моделям (LLM). Рассмотрены два подхода: строгая оптимальность и эмоциональный алайнмент. Как LLM правильно эмулируют эмоции? Узнаем!
Читать...
👩💻 Как работает __name__ == "__main__"
в Python?
Конструкция if __name__ == "__main__"
определяет, выполняется ли скрипт как основная программа или импортируется в качестве модуля. Это позволяет запускать код только при непосредственном запуске скрипта, исключая его выполнение при импорте.
➡️ Пример:
def greet():
print("Hello from greet!")
if __name__ == "__main__":
greet() # Этот вызов выполнится только при запуске скрипта напрямую
🗣 В этом примере greet() будет вызвана, если файл запускается напрямую. Если скрипт импортируется как модуль, greet() не вызовется, сохраняя модульную структуру кода.
Приглашаем вас на открытый вебинар: «Технологии за современными LLM»
https://otus.pw/nI3x/
⏰Дата: 20 января в 18:00 мск
Спикер: Мария Тихонова
📚На занятии мы обсудим:
+ Какие современные LLM сегодня используют на практике.
+ Основные концепции языкового моделирования и продвинутые языковые модели.
+ Методы и технологии, благодаря которым создатели ChatGPT совершили прорыв.
+ Что представляет из себя задача языкового моделирования
+ Языковые модели, которые сегодня лежат в основе всех NLP методов
🔥Результаты урока:
- Вы поймете, где применяются методы NLP
- Узнаете основные тренды и перспективы развития методов NLP
- Узнаете современное состояние области в связи с быстрым развитием LLM
Участники открытых уроков получат скидку🎁 на онлайн-курс «NLP / Natural Language Processing»
👉Регистрируйтесь на открытый вебинар по ссылке: https://otus.pw/nI3x/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2VtzqxXrK6s
📝 Подборка вакансий для сеньоров
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 лет опыта
Станьте инженером данных с нуля за 5 месяцев, обучаясь на реальных задачах бизнеса.
Основная проблема обучений – оторванность от задач реального бизнеса. На курсе учился складывать 2+2, а на работе – сразу отправляют считать интегралы.
Курс-симулятор от Simulative построен таким образом, что вы сразу погружаетесь в настоящую работу: например, вы будете формировать продуктовые рекомендации для клиентов крупного телекома с помощью Clickhouse.
Обучение охватывает весь стек, который нужен специалисту: SQL, Python, Metabse, Linux, Docker, Airflow, Clickhouse, Hadoop и Spark. А также готовит к любому собеседованию – в курс включены тестовые задания, пробные интервью (технические и с HR) и многое другое.
С трудоустройством поможем, а на VIP тарифе преподаватели и HR спроектируют вам персональный трек обучения и за руку доведут до оффера. Часть стоимости курса вы оплачиваете только, когда найдёте работу.
Еще успеваете записаться в текущий поток.
По промокоду DEV дарим скидку 12%
👩💻 Задачка по 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]
📝 Подборка вакансий для мидлов
Data-аналитик•
Python, SQL, Apache Hadoop, Kubernetes, Docker•
Уровень дохода не указан | от 2 лет опыта
Data-инженер•
Python, Greenplum, Apache Airflow, Apache Spark, ETL, Apache Hadoop, Linux, PostgreSQL, Kubernetes, SQL•
Уровень дохода не указан | от 2 лет опыта
Data Analyst•
Python, Apache Spark, SQL, Apache Hadoop•
Уровень дохода не указан | от 2 лет опыта
🤔 Prompt Me One More Time. Учим LLM строить графы знаний из текстов
Статья описывает метод, разработанный для автоматического наполнения графов знаний с помощью LLM, что снижает вероятность «галлюцинаций» и повышает точность ответов. Решение Prompt Me One More Time подробно представлено на TextGraphs-17 конференции ACL-2024.
Читать...
👩💻 Задачка по Python
Напишите функцию, которая принимает список email-адресов и возвращает уникальные домены из этого списка. Домен — это часть адреса после символа @
.
➡️ Пример:
["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]
#{"example.com", "test.com", "sample.com"}
def get_unique_domains(emails):Читать полностью…
domains = {email.split('@')[1] for email in emails}
return domains
# Пример использования:
emails = ["user1@example.com", "user2@test.com", "user3@example.com", "user4@sample.com"]
result = get_unique_domains(emails)
print(result) # Ожидаемый результат: {'example.com', 'test.com', 'sample.com'}
Приглашаем вас на открытый вебинар: «Similarity Text Search (STS) - оценка текстовой схожести и семантический анализ»
⏰Дата: 14 января в 20:00 мск
Спикер: Андрей Коняев
🧩На вебинаре вы узнаете:
- Что такое Similarity Text Search
- Зачем это нужно и где применяется.
- Подходы и реальные кейсы, а так же метрики для оценки качества STS
- На практике посмотрим кейсы для русского и английского языков.
🔥В результате вебинара вы узнаете про задачу STS и её применение в современном NLP.
📚Вебинар будет полезен:
- Практикующим Data Scientist и ИТ-специалистам, которые хотят глубже погрузиться в область NLP
- Тем, кто хочет узнать, как реализовать смысловой поиск вместо поиска по полному соответствию
- Людям, освоившими основы машинного обучения, но желающими развиваться в области Data-Science.
Участники всех открытых уроков получат скидку🎁 на большое обучение
👉Регистрируйтесь на открытый вебинар по ссылке: https://vk.cc/cHeLms
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👩💻 Задачка по Python
Напишите скрипт, который удаляет дублирующиеся строки из CSV-файла на основе указанного столбца и сохраняет результат в новый файл.
➡️ Пример:
python remove_duplicates.py input.csv output.csv column_name
id,name,age
1,John,30
2,Jane,25
4,Bob,35
import pandas as pdЧитать полностью…
import sys
if len(sys.argv) < 4:
print("Использование: python remove_duplicates.py <input_file> <output_file> <column_name>")
sys.exit(1)
input_file = sys.argv[1]
output_file = sys.argv[2]
column_name = sys.argv[3]
try:
df = pd.read_csv(input_file)
df = df.drop_duplicates(subset=[column_name])
df.to_csv(output_file, index=False)
print(f"Дубликаты удалены. Результат сохранён в {output_file}")
except Exception as e:
print(f"Ошибка: {e}")
🔎 Подборка зарубежных вакансий
Senior Data Scientist (ML / NLP / RAG)
🟢Python, SQL, Hugging Face transformers, FastAPI, TensorFlow, NumPy, PostgreSQL, pgVector, AWS ML infrastructure
🟢Уровень дохода не указан | 1–3 года опыта
AI R&D Engineer (Intern)
🟢Python, PyTorch, TensorFlow, Machine Learning, Deep Learning, Английский язык, R&D, Multi-agent systems, MLflow
🟢Уровень дохода не указан | 1–3 года опыта
Data Engineer
🟢DBT, Amazon Redshift, Fivetran, Python, ETL, Amazon Web Services, SQL, Английский язык (Intermediate)
🟢Уровень дохода не указан | 5+ лет опыта