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
👩‍💻 Задачка по Python

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

➡️ Пример:

python process_data.py data.csv age 30 — фильтрует строки, где значение в столбце age больше 30, и подсчитывает общее количество таких записей и среднее значение в другом числовом столбце, например, salary.

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

import csv
import sys

def process_large_csv(file_path, filter_column, threshold, aggregate_column):
count = 0
total_sum = 0.0

with open(file_path, 'r', encoding='utf-8') as file:
reader = csv.DictReader(file)

for row in reader:
# Преобразование значений для фильтрации и агрегации
try:
filter_value = float(row[filter_column])
aggregate_value = float(row[aggregate_column])
except ValueError:
continue # Пропускаем строки с некорректными данными

# Фильтрация строк по заданному условию
if filter_value > threshold:
count += 1
total_sum += aggregate_value

# Вывод итоговой статистики
if count > 0:
average = total_sum / count
print(f"Обработано записей: {count}")
print(f"Среднее значение {aggregate_column} для записей, где {filter_column} > {threshold}: {average:.2f}")
else:
print("Записи, соответствующие условиям фильтрации, не найдены.")

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

file_path = sys.argv[1]
filter_column = sys.argv[2]
threshold = float(sys.argv[3])
aggregate_column = sys.argv[4]

process_large_csv(file_path, filter_column, threshold, aggregate_column)
Please open Telegram to view this post
VIEW IN TELEGRAM
👀 Распознавание ж/д пикетных столбиков по фотографиям с беспилотника на основе PyTorch и YOLOv5

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

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

Senior Python Developer (Highload, Crypto)
🟢Python 3.10-3.12, FastAPI, PostgreSQL, Redis, MongoDB, Pydantic, SQLAlchemy, Alembic
🟢до 500 000 ₽ | более 6 лет

Python Developer (Senior)
🟢Python, asyncio, aiohttp, FastAPI, PostgreSQL, Redis, Cassandra, Kafka, RabbitMQ, ElasticSearch, ClickHouse
🟢от 360 000 до 480 000 ₽ | 3–6 лет

Senior Python-разработчик
🟢Python, FastAPI, RabbitMQ, Kubernetes, PostgreSQL, asyncio, Alembic, Docker, SQLAlchemy, Git, CI/CD, S3, Airflow
🟢до 500 000 ₽ | более 6 лет

Senior Machine Learning Engineer (Computer Vision)
🟢Python, PyTorch, OpenCV, Scikit-Image, FFmpeg
🟢от 600 000 ₽ | 3–6 лет

Senior/Middle Data Scientist
🟢Python, SQL, классический ML, anti-fraud системы
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ ИИ в логистике: отслеживаем транспортные средства на производственной территории с помощью нейросети

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

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

Team Lead backend/Python (remote)
🟢Python (синхронный и асинхронный), Pyramid, AIOHttp, SQLAlchemy, Redis, Docker, Pytest, Alembic, PostgreSQL, Vue.js
🟢Уровень дохода не указан | Опыт от 3 лет

Python Team Lead
🟢Python, Django Rest Framework, SQL, NoSQL, Celery, Docker, RabbitMQ, управление командой
🟢от 250 000 ₽ | Опыт 3–6 лет

Python-разработчик Machine Learning / Computer Vision
🟢Python, TensorFlow, PyTorch, Keras, Scikit-learn, Pandas, AWS, SQL (PostgreSQL), Apache Spark, Apache Kafka, Apache Airflow
🟢от 400 000 ₽ | Опыт 3–6 лет

Senior/Lead Backend Developer (Python)
🟢Python3, Asyncio, SQL, PostgreSQL, FastAPI, Redis, Docker, Temporal, RabbitMQ, Linux, Elasticsearch
🟢до 450 000 ₽ | Опыт 3–6 лет

Tech Lead (python)
🟢Python 3.11, MySQL, Clickhouse, Redis, Aiogram, Aiohttp, Docker-compose, Nginx, GitHub
🟢от 250 000 ₽ | Опыт более 6 лет
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
💭 Скорость — не главный показатель успеха. Гораздо важнее — чёткое понимание, куда ты идёшь.

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

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

Разработчик операций AI, Python/React
🟢Python, React, PostgreSQL, Aiogram, GPT
🟢от 800 до 1 300 USD (до вычета налогов) | 1–3 года

Senior Software Engineer (Python)
🟢Python, FastAPI, TypeScript, Node.js, React, MongoDB, PostgreSQL, RabbitMQ, Kafka, Redis, Docker, Kubernetes, AWS, Google Cloud
🟢от 2 500 до 3 500 USD (до вычета налогов) | 3–6 лет

Middle Backend Developer (Python)
🟢Python, FastAPI, Tornado, PostgreSQL, SQLAlchemy, Redis, RabbitMQ, Docker, nginx, gitlab-ci
🟢от 2 000 до 3 300 USD (до вычета налогов) | 3–6 лет

Senior Backend Developer - Python
🟢Python, PostgreSQL, Redis, FastAPI, Flask, Pyramid, SQLAlchemy, Celery, pydantic, AWS
🟢от 4 000 USD на руки | 3–6 лет

Python Fullstack Developer
🟢Python 3, FastAPI, Redis, SQL (MySQL, MariaDB), Docker, Grafana, PHP, TypeScript, React
🟢до 3 000 USD на руки | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
🛍 Как базовые знания кодинга и нейросетей сэкономили нам больше 15 млн ₽ на Wildberries [скрины]

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по 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'}
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Неувядающая классика или «чёрный ящик»: кто кого в битве за прогноз. Глава вторая. Продолжение

Статья продолжает разбор моделирования температурного временного ряда с двойной сезонностью. Основное внимание уделено подбору оптимальных параметров сезонной модели САРПСС для точного описания данных.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Задачка по 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'}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Python-разработчик (Junior)
🟢Python, SQL, PyCharm, Django Rest Framework, GitHub
🟢от 60 000 ₽ | Без опыта

Junior Python разработчик
🟢Python, API, PostgreSQL, MySQL, NoSQL
🟢от 30 000 до 50 000 ₽ | Без опыта

Python-разработчик (Junior)
🟢Python, SQL, FastAPI, Flask, Linux, Docker, Git, Gitlab
🟢от 75 000 ₽ | Без опыта

Разработчик нейросетевых алгоритмов/Reinforcement Learning
🟢Python, PyTorch, TensorFlow, Reinforcement Learning
🟢от 60 000 ₽ | Без опыта

Junior Data Scientist
🟢SQL, Python, Clickhouse, Apache Airflow, MS Excel, HTML
🟢Уровень дохода не указан | Без опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 FlexiPrompt: Удобное создание динамических промптов в Python

Статья знакомит с FlexiPrompt — лёгкой библиотекой для генерации промптов в Python при работе с языковыми моделями. Рассмотрены её преимущества: быстрая интеграция, гибкая настройка диалога и возможность создания нескольких агентов в одной LLM.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Чем отличается метод .transform() от .apply() в pandas?

В pandas методы .transform() и .apply() часто используются для обработки данных по столбцам и строкам, но они работают по-разному. Метод .apply() применяет функцию к каждому элементу или ряду, и возвращает объект любой формы (например, DataFrame или Series). В отличие от него, .transform() применяет функцию к каждой ячейке или группе и возвращает объект той же формы, что и входной.

➡️ Пример:

import pandas as pd

df = pd.DataFrame({'A': [1, 2, 3], 'B': [10, 20, 30]})

# Используем .apply() для вычисления суммы по столбцам
print(df.apply(sum)) # Вернет Series с суммами столбцов

# Используем .transform() для нормализации каждого значения в столбце
print(df.transform(lambda x: (x - x.mean()) / x.std()))
# Вернет DataFrame с нормализованными значениями


🗣 .apply() подходит для сложных операций и агрегаций, а .transform() удобно использовать для обработки данных с сохранением исходной структуры.


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

Data Engineer middle
🟢Python, Spark, Hadoop, Hive, Airflow, SQLAlchemy, PostgreSQL, Docker, GitLab, CI/CD, Linux
🟢от 190 000 до 270 000 ₽ | от 1 года

Data Engineer (middle)
🟢SQL, Greenplum, FormIT, Informatica, Cloud infrastructure, Yandex Cloud, IaaS, PaaS
🟢от 230 000 до 250 000 ₽ | 3–6 лет

Python-разработчик (middle, AI)
🟢Python, TensorFlow, Keras, PyTorch, scikit-learn, PostgreSQL, MongoDB, Redis, SQLAlchemy, Celery, RabbitMQ, Kafka, Docker, Google Cloud
🟢от 180 000 до 250 000 ₽ | 1–3 года

Python Developer (Middle/Middle+)
🟢Python, Django, PostgreSQL, Celery, Docker, REST, Git
🟢от 120 000 ₽ | 3–6 лет

Middle Python Developer: Backend / Server side
🟢Python, FastAPI, Flask, MariaDB, PostgreSQL, MongoDB, ElasticSearch, Docker, K8S, Git, CI/CD
🟢от 3 000 до 4 000 $ | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Prompt Me One More Time. Учим LLM строить графы знаний из текстов

Статья описывает метод, разработанный для автоматического наполнения графов знаний с помощью LLM, что снижает вероятность «галлюцинаций» и повышает точность ответов. Решение Prompt Me One More Time подробно представлено на TextGraphs-17 конференции ACL-2024.

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