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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 3750 дней разработки AI или почему боты всё ещё не захватили покер

Статья рассматривает создание AI для покера (Техасского безлимитного холдема) и анализирует его сложность как модели бизнес-отношений. Обсуждаются метрики и стратегии, которые игроки используют в изменяющемся контексте для принятия решений.

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

Senior backend developer - Python
🟢Python, PostgreSQL, Redis, FastAPI, Flask, Pyramid, SQLAlchemy, Celery, pydantic
🟢от 4 000 $ | 3–6 лет

Backend Python Developer (FastAPI, Highload)
🟢Python 3.10-3.12, FastAPI, PostgreSQL, Redis, Docker, GraphQL, Kafka, Airflow, Elasticsearch
🟢до 390 000 ₽ | 3–6 лет

Разработчик Python (Django, DRF)
🟢Python, Django, DRF, PostgreSQL, SQL, CSS, Git, RabbitMQ
🟢150 000 – 220 000 ₽ | 3–6 лет

Data Scientist (middle/senior)
🟢Python, Spark, SQL, Machine Learning, pandas, PySpark, Hadoop, Hive, Big Data
🟢до 450 000 ₽ | 3–6 лет

Senior Data Engineer
🟢Python, SQL, Apache Kafka, DWH, OLAP, Greenplum, Clickhouse, Airflow
🟢350 000 – 450 000 ₽ | от 4 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Разрабатываем первое AI приложение

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как работает модуль os в Python для работы с файловой системой?

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

➡️ Пример:

import os

# Получение текущей директории
current_dir = os.getcwd()
print('Текущая директория:', current_dir)

# Создание новой директории
os.mkdir('new_folder')
print('Создана директория new_folder')


🗣 os позволяет удобно и кроссплатформенно работать с файловой системой, выполнять команды и настраивать окружение.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для лидов

Team Lead Python
🟢Python, Django, Flask, RabbitMQ, Redis, nginx, uwsgi, haproxy, GitLab CI/CD, AWS Thinkbox Deadline
🟢от 350 000 ₽ | 3–6 лет

Team Lead (Python)
🟢Python, FastAPI, SQLAlchemy, PostgreSQL, MongoDB, MeiliSearch, TypeSense, Docker Swarm, Kubernetes, pytest, unittest, Sentry, CI/CD
🟢Уровень дохода не указан | более 6 лет

Tech lead Senior Python developer, релокация в Дубай
🟢Python, PostgreSQL, MySQL
🟢от 6 000 до 8 000 $ | более 6 лет

Tech Lead Python Developer (Внешние интеграции)
🟢Python, FastAPI, Sanic, PostgreSQL, asyncpg, RabbitMQ, aio_pika, Redis
🟢Уровень дохода не указан | 3–6 лет

Lead ML Engineer (Python)
🟢Python, TensorFlow, PyTorch, spaCy, NLTK, Docker, Kubernetes, GitLab, Jenkins
🟢Уровень дохода не указан | 3–6 лет
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Практика: мой опыт интеграции более 50 нейронных сетей в один проект

Статья основана на полутора годах работы по внедрению нейронных сетей в веб-приложение с открытым исходным кодом. В ней собраны практические лайфхаки для решения реальных задач и преодоления сложностей, с которыми сталкиваются разработчики.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Страх ошибки — худший тормоз для роста.

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

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

Middle/Senior Python Developer
🟢Python 3, Django, SQL, NoSQL, Git, Agile
🟢От 2 000 до 3 000 $ | Требуемый опыт: 3–6 лет

Python Developer (Senior/Middle)
🟢Python, Django, VueJS, PostgreSQL, Git, Linux, JavaScript
🟢От 1 200 $ | Требуемый опыт: 3–6 лет

Senior Backend Developer - Python
🟢Python, PostgreSQL, Redis, FastAPI, Flask, Pyramid, SQLAlchemy, Celery, AWS
🟢От 4 000 $ | Требуемый опыт: более 6 лет

Программист Python (нейросети)
🟢Python, искусственный интеллект
🟢От 500 Br | Требуемый опыт: 1–3 года

ML-инженер для разработки переводчика
🟢Python, PyTorch, Scikit-learn, Numpy, FastAPI, NLP, трансформеры (BERT, GPT, Claude), Git
🟢От 1 000 $ | Требуемый опыт: 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Путь разметки данных для NER: от Open Source до Prodigy

Статья посвящена созданию обучающей выборки для NER. Описан опыт разметки данных с использованием Open Source инструментов и Prodigy, профессионального решения для ускорения процесса создания наборов данных.

Читать...
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
🖥 Руководство по созданию приложения для поиска данных на основе агента GraphRAG

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

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

Backend-тестировщик-программист (Python)
🟢Python, Swagger, REST API, JMeter, Postman, TMS, Git, Linux, Docker, CI/CD
🟢Уровень дохода не указан | Опыт 1–3 года

Аналитик данных / Data analyst (junior)
🟢SQL, Python, DataLens, Tableau, Power BI, Jupyter Notebook
🟢до 120 000 ₽ | Опыт 1–3 года

Junior Data Engineer
🟢SQL, Python, PySpark, Airflow, PostgreSQL, Git, Yandex Cloud
🟢до 120 000 ₽ | Опыт 1–3 года

AI-разработчик junior
🟢Python, Keras, TensorFlow, PyTorch, Git, Linux
🟢от 30 000 до 40 000 ₽ | Без опыта

Junior Python Backend Developer
🟢Python, ROS, Docker, GitLab, Jira, Confluence, Ubuntu
🟢Уровень дохода не указан | Опыт 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Умножение троичных матриц для нейросетей

Статья исследует использование троичных значений (-1, 0, 1) в нейросетевых матрицах. Рассматриваются методы хранения тритов с использованием 32-битной арифметики и подходы к их быстрому умножению через оптимизацию памяти.

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