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

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

РКН: https://vk.cc/cJPGXD
Download Telegram
⚙️ Что такое StandardScaler в Data Science и зачем он используется?

StandardScaler из библиотеки scikit-learn — это инструмент для нормализации данных. Он приводит признаки (столбцы данных) к одному масштабу со средним значением 0 и стандартным отклонением 1.

Это важно для алгоритмов машинного обучения, чувствительных к масштабу данных — например, линейной регрессии, SVM или KMeans.

➡️ Пример:

from sklearn.preprocessing import StandardScaler
import numpy as np

X = np.array([[10, 200],
[20, 300],
[30, 400]])

scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)

print(X_scaled)


🗣️ В этом примере значения всех признаков преобразуются так, что каждый столбец имеет среднее значение 0 и одинаковый масштаб. Это ускоряет обучение и повышает качество модели.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32
⚙️Магистратура по ML раньше: либо сухая теоретическая нагрузка, либо практикум без базы.

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

📌В программе обучения: актуальные ML-инструменты, командная работа, вечерние занятия в мини-группах. Есть гранты до 75%, очный диплом и отсрочка от армии.

Начало в сентябре, заявки принимаются до 20 августа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎42🔥2👍1🐳1
👩‍💻 Разрабатываем первое AI приложение

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥51
🤔 Практика: мой опыт интеграции более 50 нейронных сетей в один проект

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
2
🧬 Почини одну переменную — и система станет проще

Ты борешься с непонятной логикой, огромными условиями, крошечными багообразными эффектами. Всё сложно.

👉 Совет: не паникуй. Найди одну переменную, одно имя, один формат, который вносит больше всего путаницы — и перепиши его. Часто даже одно улучшение приводит к лавине упрощений. Разбор сложности начинается с одной точки.
Please open Telegram to view this post
VIEW IN TELEGRAM
5
➡️ Путь разметки данных для NER: от Open Source до Prodigy

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
11
🖥 Руководство по созданию приложения для поиска данных на основе агента GraphRAG

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
32
👩‍💻 Задачка по 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
👎4👍31
🖥 Как работает Трансформер: очень простое описание

Вот очень простое объяснение для тех, кто не хочет вдаваться в сложную математику, но и не готов принимать эту ключевую технологию как магию, которая просто работает. Конечно, никакого волшебства тут и нет — идея на самом деле довольно проста..

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

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
32
👩‍💻 FlexiPrompt: Удобное создание динамических промптов в Python

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
32
👩‍💻 Чем отличается метод .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
51
🤔 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
41
➡️ Семантическая сегментация: самый полный гайд

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
32
👩‍💻 Задачка по 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
53
🎤 Векторный поиск в YDB: семантический поиск в СУБД

В блоге Яндекса рассказали о запуске векторного поиска в СУБД YDB, полностью разработанная в России с такой функциональностью. Технология позволяет искать по смыслу, а не по ключевым словам: тексты, изображения, аудио и видео переводятся в эмбеддинги и индексируются в базе.

Реализация включает точный и приближенный режимы, подходит для RAG, ИИ-ассистентов и рекомендательных систем. Уже используется в «Алисе», теперь доступна и внешнему бизнесу — в облаке и on-premises.

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

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

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