Правильный ответ:
Anonymous Quiz
26%
VAE (Variational Autoencoder)
16%
Transformer
37%
GAN (Generative Adversarial Network)
22%
Diffusion Model
🥰2👍1
🧠 ИИ и исследование моделей
— Anthropic автоматизирует аудит Claude — создано три специализированных ИИ-агента.
— Scaling Laws для MoE-моделей — введена метрика Efficiency Leverage, описывающая вычислительную эффективность MoE.
— Новый архитектурный конкурент Transformers — динамическая архитектура с адаптивной рекурсией на уровне токенов.
— GPT получает Study Mode — ChatGPT теперь может обучать студентов пошагово.
⚙️ Новые инструменты и AI-интеграции
— NotebookLM теперь с видео — теперь можно создавать видео-саммари по вашим заметкам, дополняя аудио.
— Google Earth AI — новый набор моделей и датасетов для прогнозов погоды, наводнений, пожаров и планирования городов.
— Copilot Mode в Microsoft Edge — новая AI-фича помогает структурировать работу с вебом.
👍 Опыт других
— Перешла из Data Science в AI Engineering — практический переход и подводные камни.
— Глубокий технический обзор RAG (Retrieval-Augmented Generation).
— 7 кругов ада при выборе ML-стека — практический гид.
— Синтетические данные: подборка инструментов.
— Уменьшение переобучения через работу с данными.
— Как запустить нейросеть локально: 4 простых способа.
Библиотека дата-сайентиста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🔥2👍1
Forwarded from Библиотека задач по Data Science | тесты, код, задания
Ответ:
Anonymous Quiz
25%
MSE (среднеквадратичная ошибка)
21%
Расстояние Махаланобиса
18%
Расстояние Хэмминга
35%
Сравнение выходных метрик
❤2😁2
🤖 Изучаете или хотели изучать искусственный интеллект? Помогите нам с исследованием!
Ищем тех, кто:
🔹 Недавно (в последние полгода) проходил курсы по AI/Data Science.
🔹 Думал пойти учиться, но что-то остановило.
С нас — интересная беседа в Google Meet (до 45 минут) и бонус 1500 рублей на карту за ваше время.
📩 Для участия пишите: @olalabelyaeva
Ищем тех, кто:
🔹 Недавно (в последние полгода) проходил курсы по AI/Data Science.
🔹 Думал пойти учиться, но что-то остановило.
С нас — интересная беседа в Google Meet (до 45 минут) и бонус 1500 рублей на карту за ваше время.
📩 Для участия пишите: @olalabelyaeva
😁3👍1
Data Scientist / Ведущий специалист по NLP/LLM — от 300 000 ₽, удалёнка
Senior MLE (SE) — от 5000 до 9000 $, удаленно по миру
Lead Data Scientist (RecSys) — от 6 000 до 8 000 $, удалёнка
ML Developer [OctAPI, МТС Веб Сервисы], удалёнка
Data Scientist (Python, Hadoop, MLFlow, ETL) — до 269 000 ₽, удалёнка
Дата-инженер, удалёнка
Библиотека дата-сайентиста
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
При работе с пропущенными данными важно не просто «заполнить пробелы», а сохранить структуру, вариативность и точность данных.
Вот 3 популярных метода:
Заполняет пропущенные значения точным предсказанием по регрессионной модели.
Добавляет шум к регрессионным предсказаниям
Подбирает реальное наблюдение из данных, которое ближе всего к предсказанному значению
📊 На графике:
• Слева — Deterministic Regression: розовые точки строго на линии, игнорируют форму данных
• В центре — Stochastic Regression: немного разброса, но всё равно не отражает настоящую структуру
• Справа — PMM: значения естественно «вписаны» в данные
🎯 Вывод:
Если ваши данные нелинейны и вы хотите сохранить реализм и разброс — PMM будет наилучшим выбором.
Но всегда учитывайте специфику задачи и данных.
Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥1
🤔 Зачем вообще понимать, как работает ML?
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
Сейчас многие просто запускают модельку в sklearn — и радуются точности 0.92.
Вроде всё работает… но почему?
А когда сломается — что делать?
Машинное обучение — это система, которую можно понять.
Если знаешь, что делает градиентный спуск, зачем нужен бустинг и как дерево принимает решения — ты не просто «запускаешь», ты управляешь моделью.
👉 Мы сделали курс, чтобы в это было реально въехать:
— без сложных формул;
— с интуитивными объяснениями;
— от простого к сложному.
Если хочешь перейти от «гуглю код» к «понимаю, как это работает» — ты по адресу!
❗Стартуем в сентябре — бронируй место на курсе уже сейчас
В этом кратком руководстве мы разберём всё: от настройки проекта и получения ключа API до отправки запросов к языковым модели и понимания ключевых параметров.
👉 Это идеальный старт для тех, кто хочет интегрировать возможности OpenAI в свои приложения.
Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍2🔥1
Часто мы используем стандартизацию или нормализацию — и этого достаточно.
Но если данные:
• имеют выбросы
• сильно смещены
• не похожи на нормальное распределение
Вот 4 метода масштабирования, которые спасают в таких ситуациях:
Преобразует распределение признака в нормальное или равномерное, используя эмпирические квантили:
from sklearn.preprocessing import QuantileTransformer
import numpy as np
X = np.array([[10], [200], [30], [40], [5000]])
qt = QuantileTransformer(output_distribution='normal', random_state=0)
X_trans = qt.fit_transform(X)
Преимущества:
• Устойчив к выбросам
• Не требует предположений о распределении
• Полезен перед алгоритмами, ожидающими нормальность (например, лин. регрессия)
Преобразует данные, делая их более похожими на нормальное распределение:
from sklearn.preprocessing import PowerTransformer
X = np.array([[1.0], [2.0], [3.0], [4.0], [5.0]])
pt = PowerTransformer(method='box-cox')
X_trans = pt.fit_transform(X)
•
method='box-cox'
— только для положительных значений• Есть вариант
yeo-johnson
, если есть нули или отрицательные значенияПолезно, когда:
• Требуется нормальность для моделей
• Данные положительные или симметричные
Центрирует по медиане, масштабирует по интерквартильному размаху (IQR):
from sklearn.preprocessing import RobustScaler
X = np.array([[10], [20], [30], [40], [1000]])
scaler = RobustScaler()
X_trans = scaler.fit_transform(X)
Преимущества:
• Идеально при наличии выбросов
• Не страдает от смещения из-за экстремальных значений
• Альтернатива StandardScaler
Масштабирует каждую строку так, чтобы её длина была равна 1 (L1 или L2-норма):
from sklearn.preprocessing import Normalizer
X = np.array([[1, 2, 3], [4, 5, 6]])
normalizer = Normalizer(norm='l2')
X_trans = normalizer.transform(X)
Когда использовать:
• При работе с векторами признаков
• Для алгоритмов, чувствительных к направлению, а не к масштабу (например, KNN, косинусное сходство)
Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥2😁1
Если ваш DataFrame больше, чем ваша оперативка — вам сюда 👇
— Обрабатывает данные по частям и параллельно
— Работает даже с файлами, не помещающимися в память
— Использует отложенные вычисления (операции запускаются только после
.compute()
)import dask.dataframe as dd
df = dd.read_csv("large_file.csv")
result = df.groupby("category")["sales"].mean().compute()
— Библиотека на Rust → невероятная скорость
— Ленивое API + оптимизация вычислений
— Отлично подходит для локальных ETL/дашбордов
import polars as pl
result = (
pl.read_csv("large_file.csv").lazy()
.filter(pl.col("sales") > 1000)
.groupby("region")
.agg(pl.col("sales").mean().alias("avg_sales"))
.sort("avg_sales", descending=True)
.collect()
)
— Формат хранения в памяти, оптимизированный под скорость
— Позволяет быстро передавать данные между Pandas, Polars и другими
import pandas as pd
import pyarrow as pa
import polars as pl
df_pandas = pd.DataFrame({"region": ["West", "East"], "sales": [100, 200]})
arrow_table = pa.Table.from_pandas(df_pandas)
df_polars = pl.from_arrow(arrow_table)
— Работает как SQLite, но для аналитики
— Поддерживает прямой SQL по CSV/Parquet без загрузки в память
— Отличный выбор, если вы «мысленно на SQL»
import duckdb
query = """
SELECT category, AVG(sales) AS avg_sales
FROM 'data/transactions.parquet'
WHERE transaction_date >= '2023-01-01'
GROUP BY category
ORDER BY avg_sales DESC
"""
result = duckdb.query(query).to_df()
— Обработка огромных данных (даже в кластере)
— Поддержка отказоустойчивости и параллелизма из коробки
— Интерфейс похож на Pandas, но всё работает распределённо
from pyspark.sql import SparkSession
from pyspark.sql.functions import col, avg
spark = SparkSession.builder.appName("SalesAnalysis").getOrCreate()
df = spark.read.csv("large_sales.csv", header=True, inferSchema=True)
result = (
df.filter(col("region") == "West")
.groupBy("category")
.agg(avg("sales").alias("avg_sales"))
.orderBy("avg_sales", ascending=False)
)
result.show()
— Поддерживает 100+ млн строк без загрузки в память
— Использует memory-mapped файлы и ленивые вычисления
— Удобен для локальной аналитики, визуализации, препроцессинга
import vaex
df = vaex.open("big_data.csv")
result = df[df.sales > 1000].groupby("category", agg=vaex.agg.mean("sales"))
— Идеально, если памяти совсем мало
— Построчная обработка без загрузки всего файла
— Полный контроль + низкий overhead
def process_csv(path):
with open(path, "r") as f:
header = next(f).strip().split(",")
for line in f:
row = line.strip().split(",")
record = dict(zip(header, row))
if float(record["sales"]) > 1000:
yield {
"region": record["region"],
"sales": float(record["sales"]) * 1.1
}
for item in process_csv("large_file.csv"):
print(item)
Библиотека дата-сайентиста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍4🤩3🥰1