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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
👩‍💻 Задачка по 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}")
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
⚙️ Неувядающая классика или «чёрный ящик»: кто кого в битве за прогноз. Глава вторая. Продолжение

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

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

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 года опыта
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
👍1
👩‍💻 Как работает модуль 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
📝 Подборка вакансий для мидлов

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 лет опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 3750 дней разработки AI или почему боты всё ещё не захватили покер

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

Читать...
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
👩‍💻 FlexiPrompt: Удобное создание динамических промптов в Python

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Реальная эффективность Qwen 2.5 Coder против ChatGPT (или можно ли сэкономить 20$?)

В статье будет рассмотрена практическая проверка возможностей модели Qwen 2.5 Coder на основе задачи перевода кода из VB в C#. Узнаем, сможет ли она справиться с нюансами цикла и корректно адаптировать формулу.

Читать...
Please open Telegram to view this post
VIEW IN 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