TGViewer
Channel Public Channel
Data Science | Вопросы собесов

Data Science | Вопросы собесов

@easy_ds

Сайт: https://easyoffer.ru/
Все каналы: t.me/+xGeAw6ckJ4liYzQy

Контакт для рекламы: @sendme_ads
Subscribers
4.9K
Photos
39
Videos
0
Links
1.5K
Recent Posts 20 shown
Post #2694 160
🤔 Расскажи о Gradient-boosted trees

Gradient-boosted trees — это ансамблевый метод машинного обучения, который строит серию деревьев решений, каждое из которых исправляет ошибки предыдущих. Процесс обучения происходит путем последовательного добавления деревьев, каждое из которых минимизирует ошибку путем градиентного спуска, усиливая правильные прогнозы. Gradient boosting широко используется для задач регрессии и классификации, обеспечивая высокую точность и гибкость в работе с разными типами данных.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2693 168
🤔 Какие слабые стороны есть у алгоритма кластериации ?

Алгоритмы кластеризации имеют несколько слабых сторон, которые могут ограничивать их эффективность и применение в различных задачах. Рассмотрим основные недостатки наиболее популярных алгоритмов кластеризации, таких как K-means, иерархическая кластеризация и DBSCAN.

🚩Слабые стороны

🟠Чувствительность к масштабу признаков
Часто зависит от расстояния между точками. Если признаки имеют разные масштабы, это может исказить результаты кластеризации. Поэтому необходимо нормализовать или стандартизировать данные перед кластеризацией.
🟠Чувствительность к выбросам
Выбросы могут существенно влиять на результаты кластеризации, особенно в алгоритмах, которые зависят от среднего или медианного значения, таких как K-means.
🟠Трудности в определении количества кластеров
Определение оптимального числа кластеров — это сложная задача, особенно для алгоритмов, требующих заранее заданного числа кластеров, таких как K-means.
🟠Сложности в интерпретации кластеров
Могут быть сложно интерпретировать, особенно если данные имеют высокую размерность и сложную структуру.
🟠Неоптимальные результаты на неравномерно распределенных данных
Кластеризация может давать неадекватные результаты, если данные распределены неравномерно или имеют сложную структуру, такую как вытянутые кластеры или кластеры с разной плотностью.

🚩K-means


🟠Зависимость от начальных условий
Результаты K-means могут сильно зависеть от начальных центров кластеров. Плохой выбор начальных центров может привести к неоптимальной кластеризации.
🟠Предположение о сферической форме кластеров
K-means предполагает, что кластеры имеют сферическую форму и одинаковые размеры, что может быть неверно для многих реальных данных.
🟠Требуется заранее заданное число кластеров
K-means требует предварительного знания числа кластеров, что не всегда возможно.
🟠Чувствительность к выбросам
Выбросы могут существенно смещать центры кластеров, ухудшая результаты кластеризации.
from sklearn.cluster import KMeans
import numpy as np
import matplotlib.pyplot as plt

# Пример данных
X = np.array([[1, 2], [1, 4], [1, 0],
[4, 2], [4, 4], [4, 0]])

# Применение K-means
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)

# Визуализация результатов
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=300, c='red')
plt.show()


🚩Иерархическая кластеризация

🟠Высокая вычислительная сложность
Может быть вычислительно дорогостоящей для больших наборов данных, так как требует вычисления расстояний между всеми парами точек.
🟠Необратимость слияний
Процессы слияния и разбиения в иерархической кластеризации необратимы. Ошибка на раннем этапе может повлиять на конечный результат.
🟠Отсутствие четкого критерия для остановки
Трудно определить оптимальное количество кластеров, поскольку алгоритм продолжает слиять кластеры до тех пор, пока все данные не окажутся в одном кластере.

🚩DBSCAN

🟠Трудность настройки параметров
Параметры алгоритма (eps и min_samples) трудно подбирать, и их неправильный выбор может привести к плохим результатам.
🟠Чувствительность к плотности данных
DBSCAN плохо работает, если плотность кластеров значительно варьируется.
🟠Высокая вычислительная сложность
DBSCAN может быть медленным для больших наборов данных с высокой размерностью.

Ставь 👍 и забирай 📚 Базу знаний
Post #2692 212
🤔 В чем разница между листом и кортежем?

В Python список (list) — это изменяемая коллекция объектов, тогда как кортеж (tuple) — неизменяемая. Это значит, что после создания кортежа его нельзя изменить (добавлять элементы, удалять элементы, изменять существующие элементы).

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2690 220
🤔 Какие есть проблемы с Batch Norm?

1. Зависимость от мини-батчей: небольшие батчи могут приводить к нестабильной оценке среднего и дисперсии.
2. Сложности с применением в рекуррентных сетях: последовательность данных может вызывать проблемы с нормализацией.
3. Увеличение вычислительных затрат: дополнительные параметры и операции замедляют обучение.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2688 235
🤔 Что можешь сказать про оконные функции?

Оконные функции предоставляют мощные возможности для выполнения различных расчётных операций с использованием данных, охватывающих определённый диапазон строк, которые связаны с текущей строкой. Эти функции называются "оконными", потому что оперируют "окном" строк, ограниченным в соответствии с определёнными условиями. Оконные функции особенно полезны при выполнении агрегаций, при которых нужно сохранить детализацию данных, что обычно недостижимо с помощью обычных агрегатных функций (SUM, COUNT, AVG и т.д.), применяемых в группировках.

🚩Ключевые аспекты

🟠Определение окна
Окно определяется с помощью конструкции OVER, которая может включать в себя:
Порядок следования строк (ORDER BY).
Разбиение на группы или партиции (PARTITION BY).
Ограничения окна (ROWS или RANGE), определяющие начальную и конечную точки окна относительно текущей строки.

🟠Типы оконных функций
Агрегатные функции: SUM, AVG, MIN, MAX, COUNT и т.д., которые обычно используются для агрегации данных в рамках окна.
Функции ранжирования: ROW_NUMBER, RANK, DENSE_RANK, эти функции присваивают уникальные или повторяющиеся номера строкам в зависимости от их значений по определённым полям.
Функции смещения: LEAD, LAG, позволяют получить значение из строки, расположенной на определённое количество позиций до или после текущей строки в рамках окна.
Статистические и аналитические функции: например, PERCENT_RANK, CUME_DIST.

SELECT
date,
sales,
AVG(sales) OVER (ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING) AS moving_average
FROM
sales_data;


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 1
Post #2685 244
🤔 В каких моделях используются несимметрические метрики?

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

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2683 260
🤔 Почему в статистических тестах частно нулевой гипотезой берут отсутствие различий?

В статистических тестах нулевая гипотеза (H0) часто формулируется как отсутствие различий или эффектов, потому что основная цель таких тестов — проверить, можно ли достаточно уверенно отвергнуть предположение об отсутствии изменений или различий и принять альтернативную гипотезу (H1), которая предполагает наличие этих различий или эффектов. Этот подход основан на нескольких важных принципах и целях статистического анализа:

🟠Принцип консерватизма
Нулевая гипотеза, предполагающая отсутствие различий, является консервативной стартовой точкой. Это значит, что исследователь выдвигает предположение, которое "наименее благоприятно" для обнаружения эффекта. Такой подход помогает избежать ошибок первого рода — ошибочного отклонения верной нулевой гипотезы (ложноположительный результат).

🟠Статистическая мощность
Задавая нулевую гипотезу как отсутствие различий, мы можем конкретно сфокусироваться на обнаружении любого отличия от этого "нулевого" состояния. Если такое отличие находится (и оно статистически значимо), мы можем быть более уверенными в том, что наблюдаемый эффект реален, а не является случайным.

🟠Принцип научного скептицизма
Научный метод требует доказательств, чтобы опровергнуть существующее предположение или теорию. Нулевая гипотеза, предполагающая отсутствие различий, подразумевает, что любое утверждение о наличии различий должно быть подтверждено через строгую проверку и достаточные доказательства.

🟠Чёткость интерпретации
При принятии нулевой гипотезы о отсутствии различий, любое статистически значимое отклонение от этой гипотезы может быть интерпретировано как доказательство наличия эффекта. Это упрощает интерпретацию результатов: если нулевая гипотеза отвергается, исследователи могут исследовать и объяснять характер и возможные причины обнаруженных различий.

🟠Управление рисками
Закладывая в основу отсутствие различий, исследователи минимизируют риск принятия неверных решений о наличии эффекта, когда его на самом деле нет. Это особенно важно в медицинских и фармацевтических исследованиях, где ошибочные выводы могут иметь серьезные последствия.

Ставь 👍 и забирай 📚 Базу знаний
Post #2681 279
🤔 Как можно сравнивать два ненормальных распределения?

1. Применить непараметрические тесты, такие как тест Манна-Уитни или Краскела-Уоллиса.
2. Использовать бутстрепинг для создания доверительных интервалов.
3. Рассмотреть преобразование данных для приближения к нормальному виду.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2680 298
🤔 Какие есть attention не в трансформерах?

Механизмы внимания (attention mechanisms) используются не только в трансформерах, но и в других архитектурах нейронных сетей, таких как рекуррентные нейронные сети (RNN) и сверточные нейронные сети (CNN).

🚩Типы Attention

🟠Soft Attention (Мягкое внимание):
Мягкое внимание часто используется в сочетании с RNN, особенно в задачах последовательного моделирования, таких как машинный перевод или генерация текста. В мягком внимании для каждого выходного элемента вычисляется взвешенная сумма всех входных элементов, где веса определяются функцией внимания (например, dot-product или scaled dot-product).
import torch
import torch.nn.functional as F

def soft_attention(query, keys, values):
scores = torch.matmul(query, keys.transpose(-2, -1))
attention_weights = F.softmax(scores, dim=-1)
context_vector = torch.matmul(attention_weights, values)
return context_vector, attention_weights


🟠Hard Attention (Жесткое внимание):
Жесткое внимание выбирает один входной элемент для каждого выходного элемента, что делает процесс детерминированным. В жестком внимании применяется метод выборки, такой как алгоритмы на основе Монте-Карло, чтобы выбрать один входной элемент. Используется в задачах с последовательными данными, где важно выбрать конкретный элемент последовательности.

🟠Self-Attention в RNN и CNN:
RNN: Self-attention используется для учета связи каждого элемента последовательности с другими элементами, даже если они удалены друг от друга. В CNN self-attention помогает моделировать долгосрочные зависимости в изображениях.
def self_attention(x):
query = x
keys = x
values = x
context_vector, attention_weights = soft_attention(query, keys, values)
return context_vector, attention_weights


🟠 Attention в сверточных нейронных сетях (CNN):
Spatial Attention (Пространственное внимание): Используется для выделения важных областей на изображении. Channel Attention (Канальное внимание): Помогает выделить важные каналы (особенности) в изображении.

🚩Применение Attention вне трансформеров

🟠Машинный перевод:
В seq2seq моделях с RNN soft attention позволяет модели фокусироваться на разных частях входного предложения при генерации каждого слова выходного предложения.
🟠Обработка изображений:
Spatial и channel attention применяются для выделения значимых областей и признаков на изображениях, что улучшает точность классификации и обнаружения объектов.
🟠Анализ временных рядов:
Self-attention в RNN позволяет учитывать зависимость между элементами временного ряда, что улучшает качество предсказаний.

Ставь 👍 и забирай 📚 Базу знаний
Post #2678 320
🤔 В чем разница между L1 и L2 регуляризацией?

L1-регуляризация (Lasso) добавляет сумму модулей весов к функции потери, склоняя веса к нулю, что способствует разреженности. L2-регуляризация (Ridge) добавляет сумму квадратов весов, уменьшая их величину, но не зануляя. L1 эффективна для отбора признаков, а L2 — для стабилизации модели и борьбы с переобучением.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2677 299
🤔 Что такое boosting?

Boosting (бустинг) — это метод ансамблевого обучения, который улучшает производительность моделей путем последовательного обучения нескольких слабых моделей (например, деревьев решений) и объединения их в одну сильную модель. В процессе бустинга каждая последующая модель фокусируется на ошибках предыдущих моделей, стремясь уменьшить общую ошибку.

🚩Основные идеи бустинга

🟠Последовательное обучение:
В отличие от bagging (например, Random Forest), где модели обучаются параллельно, в бустинге модели обучаются последовательно.
🟠Фокус на ошибках:
Каждая новая модель пытается исправить ошибки, сделанные предыдущими моделями, обучаясь на данных с учетом этих ошибок.
🟠Взвешивание:
Примеры, на которых предыдущие модели ошиблись, получают больший вес, чтобы новая модель уделяла им больше внимания.

🚩Виды бустинга

🟠AdaBoost (Adaptive Boosting):
Один из первых методов бустинга. В AdaBoost каждая новая модель обучается на тех же данных, но с разными весами, которые обновляются в зависимости от ошибок предыдущей модели.
from sklearn.ensemble import AdaBoostClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# Загрузка данных
iris = load_iris()
X, y = iris.data, iris.target

# Разделение данных на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# Создание и обучение модели AdaBoost
model = AdaBoostClassifier(n_estimators=50, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🟠Gradient Boosting:
Более современный и сложный метод, который строит новые модели для предсказания остаточных ошибок (градиентов) предыдущих моделей.
from sklearn.ensemble import GradientBoostingClassifier

# Создание и обучение модели Gradient Boosting
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🟠XGBoost:
Экстремальный градиентный бустинг — это улучшенная и оптимизированная версия Gradient Boosting, которая обеспечивает более высокую производительность и эффективность.
from sklearn.ensemble import GradientBoostingClassifier

# Создание и обучение модели Gradient Boosting
model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, random_state=42)
model.fit(X_train, y_train)

# Предсказание на тестовой выборке
y_pred = model.predict(X_test)

# Оценка точности
accuracy = accuracy_score(y_test, y_pred)
print(f"Точность: {accuracy}")


🚩Плюсы

➕Высокая точность:
Бустинг часто превосходит по точности одиночные модели и другие методы ансамблевого обучения.
➕Гибкость:
Может быть использован с различными базовыми моделями и легко адаптируется к различным задачам.
➕Обработка сложных данных:
Эффективно работает с большими наборами данных и сложными зависимостями.

🚩Минусы

➖Время обучения:
Обучение бустинговых моделей может быть медленным, особенно для больших наборов данных.
➖Чувствительность к шуму:
Бустинг может переобучаться на шумных данных, так как модели пытаются исправить каждую ошибку.

Ставь 👍 и забирай 📚 Базу знаний
Post #2675 276
🤔 Как избегают коллизии в хеш-таблице

Для предотвращения коллизий в хэш-таблице используются методы, такие как цепочки (связывание элементов в списки) и открытая адресация (перенос коллизий в другие доступные ячейки). Метод цепочек добавляет все значения с одинаковым хэшом в связанный список, что позволяет хранить несколько элементов в одной ячейке. В открытой адресации при коллизии выполняется последовательный поиск следующей свободной ячейки.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Post #2674 287
🤔 Зачем нужен инстенс норм?

Instance Normalization нормализует значения активаций по каждому примеру в мини-батче, что помогает стабилизировать и ускорить обучение.

🚩Цели

🟠Устранение статистических различий между примерами
Instance Normalization нормализует каждый пример (или изображение) в мини-батче отдельно, устраняя различия в статистике между разными примерами.
🟠Улучшение визуального качества
Instance Normalization особенно эффективна для задач генерации изображений, таких как стиль-перенос, где важно сохранить стиль и текстуру каждого отдельного изображения.
🟠Стабилизация и ускорение обучения
Подобно другим методам нормализации, Instance Normalization помогает стабилизировать градиенты и ускорить процесс обучения, делая его более устойчивым.

🚩Как работает

🟠Вычисление среднего значения и стандартного отклонения для каждого канала
Для каждого канала вычисляется среднее значение и стандартное отклонение.
🟠Нормализация активаций
Значения активаций нормализуются, вычитая среднее значение и деля на стандартное отклонение.
🟠Скалирование и смещение
Применяются обучаемые параметры скалирования и смещения для каждого канала.

🚩Пример использования

в PyTorch
import torch
import torch.nn as nn

# Пример входного тензора (batch_size, num_channels, height, width)
x = torch.randn(8, 3, 64, 64)

# Инстанс-нормализация
inst_norm = nn.InstanceNorm2d(num_features=3, affine=True)

# Применение нормализации
x_normalized = inst_norm(x)

print(x_normalized.shape)


В TensorFlow
import tensorflow as tf

# Пример входного тензора (batch_size, height, width, num_channels)
x = tf.random.normal((8, 64, 64, 3))

# Инстанс-нормализация
inst_norm = tf.keras.layers.LayerNormalization(axis=[1, 2], center=True, scale=True)

# Применение нормализации
x_normalized = inst_norm(x)

print(x_normalized.shape)


Ставь 👍 и забирай 📚 Базу знаний
Post #2672 296
🤔 Чем отличается градиентный спуск от SGD?

Градиентный спуск использует весь набор данных для вычисления градиента и обновления параметров, что требует значительных вычислительных ресурсов. Стохастический градиентный спуск (SGD) обновляет параметры после каждого примера или мини-батча, что ускоряет обучение, но может быть менее стабильным. SGD часто сходится быстрее, но может застревать в локальных минимумах.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
  • 👍 2
Post #2671 291
🤔 Какую метрику следует выбрать, когда у бинарного классификатора разделение данных такое что 95% в одном классе, 5% в другом ?

Когда у вас сильно несбалансированный набор данных с 95% примеров в одном классе и 5% в другом, стандартные метрики, такие как accuracy (точность), становятся неэффективными. Они могут давать высокие значения, даже если модель просто предсказывает всегда более частый класс. В таких случаях лучше использовать метрики, которые учитывают дисбаланс классов.

🟠Матрица ошибок
Дает представление о количестве истинно положительных (TP), истинно отрицательных (TN), ложно положительных (FP) и ложно отрицательных (FN) предсказаний. Это основа для вычисления многих других метрик.
from sklearn.metrics import confusion_matrix

y_true = [0, 0, 0, 1, 1, 1, 1, 1, 1, 1]
y_pred = [0, 0, 1, 0, 0, 0, 1, 1, 1, 1]

conf_matrix = confusion_matrix(y_true, y_pred)
print(conf_matrix)


🟠Precision, Recall и F1-Score
Доля правильных предсказаний положительного класса среди всех предсказаний положительного класса.
\text{Precision} = \frac{TP}{TP + FP}


Доля правильных предсказаний положительного класса среди всех реальных положительных примеров.
\text{Recall} = \frac{TP}{TP + FN}


Гармоническое среднее Precision и Recall.
\text{F1-Score} = 2 \cdot \frac{\text{Precision} \cdot \text{Recall}}{\text{Precision} + \text{Recall}}

from sklearn.metrics import precision_score, recall_score, f1_score

precision = precision_score(y_true, y_pred)
recall = recall_score(y_true, y_pred)
f1 = f1_score(y_true, y_pred)

print(f"Precision: {precision}")
print(f"Recall: {recall}")
print(f"F1-Score: {f1}")


🟠ROC-AUC

Измеряет качество классификатора по совокупности всех возможных порогов классификации. Это хорошо работает с несбалансированными данными, так как учитывает соотношение истинно положительных и ложноположительных сработок.
from sklearn.metrics import roc_auc_score

y_true = [0, 0, 0, 1, 1, 1, 1, 1, 1, 1]
y_scores = [0.1, 0.4, 0.35, 0.8, 0.65, 0.7, 0.85, 0.9, 0.95, 0.98] # вероятности

roc_auc = roc_auc_score(y_true, y_scores)
print(f"ROC-AUC: {roc_auc}")


🟠Precision-Recall Curve и PR-AUC
Более информативна для несбалансированных данных, так как она лучше показывает разницу в предсказаниях для меньшего класса. PR-AUC — это площадь под кривой Precision-Recall.
from sklearn.metrics import precision_recall_curve, auc

precision, recall, _ = precision_recall_curve(y_true, y_scores)
pr_auc = auc(recall, precision)
print(f"PR-AUC: {pr_auc}")


🟠Balanced Accuracy
Это среднее значение чувствительности (Recall) для каждого класса, что делает ее более подходящей для несбалансированных данных.
from sklearn.metrics import balanced_accuracy_score

balanced_acc = balanced_accuracy_score(y_true, y_pred)
print(f"Balanced Accuracy: {balanced_acc}")


🟠Cohen's Kappa
Учитывает вероятность случайных совпадений и дает более точную оценку производительности модели на несбалансированных данных.
from sklearn.metrics import cohen_kappa_score

kappa = cohen_kappa_score(y_true, y_pred)
print(f"Cohen's Kappa: {kappa}")


Ставь 👍 и забирай 📚 Базу знаний
Post #2670 287
🤔 Какие есть усовершенствования бинарной кросс-энтропии?

Бинарную кросс-энтропию можно улучшать в зависимости от задачи:
- С взвешиванием классов — если классы несбалансированы.
- Focal Loss — фокусируется на трудных примерах, уменьшая вклад лёгких.
- Label smoothing — снижает переуверенность модели, заменяя метки вроде 1/0 на 0.9/0.1.
- Dice Loss / Jaccard Loss — используются в задачах сегментации, где важна форма, а не только точность пикселя.
- Combo Loss — сочетание BCE с другими функциями (например, с Dice), чтобы уравновесить разные аспекты задачи.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
  • 🔥 1
Post #2668 283
🤔 Как объяснить бизнесу метрику машинного обучения ?

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

🟠Понимание контекста
Прежде чем объяснять метрику, важно понять контекст бизнеса и конкретные цели, которых они хотят достичь. Например, метрики для предсказания продаж будут отличаться от метрик для определения эффективности маркетинговой кампании.

🟠Использование аналогий и простых примеров
Аналогии и простые примеры могут помочь в объяснении сложных концепций.

🟠Пояснение на основе бизнес-контекста
Используйте примеры из реального бизнеса для иллюстрации метрик.

🚩Accuracy (Точность)

Доля правильных предсказаний среди всех предсказаний.
Представьте, что у нас есть модель для классификации писем как "спам" или "не спам". Если точность модели составляет 90%, это означает, что модель правильно классифицирует 90% писем. Однако, если у вас есть сильный дисбаланс классов (например, 99% писем не являются спамом), высокая точность может быть обманчивой.

🚩Precision (Точность)

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

🚩Recall (Полнота)

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

🚩F1 Score (F1-мера)

Гармоническое среднее точности и полноты. F1-мера дает баланс между точностью и полнотой.
В задаче классификации сообщений как "спам" или "не спам", если у модели хороший баланс между точностью (не классифицировать "не спам" как "спам") и полнотой (обнаружить как можно больше "спам" сообщений), то у модели будет высокий F1 Score.

🚩ROC-AUC (Receiver Operating Characteristic - Area Under Curve)

Площадь под кривой ROC, которая показывает способность модели различать между положительными и отрицательными классами.
Если у вас есть модель для предсказания оттока клиентов, высокий ROC-AUC означает, что модель хорошо различает между клиентами, которые останутся, и клиентами, которые уйдут.

Ставь 👍 и забирай 📚 Базу знаний
Post #2667 340
🤔 Чему равно p-value для выброса?

Это вероятность получить значение настолько же экстремальное, как наблюдаемое, при условии, что оно принадлежит общему распределению.
Чем меньше p-value, тем выше вероятность, что точка — выброс.
Значение зависит от метода (Grubbs, Dixon, Z-score и др.). Обычно, если p < 0.05, точка может считаться выбросом.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
  • 👍 2
Older posts →

About this channel

How can I read @easy_ds without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Data Science | Вопросы собесов: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Data Science | Вопросы собесов have?
Data Science | Вопросы собесов (@easy_ds) has 4.9K subscribers on Telegram, refreshed roughly every 30 minutes.
Does Data Science | Вопросы собесов know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →