Data Science | Вопросы собесов
Открыть в Telegram
Сайт: https://easyoffer.ru/ Все каналы: t.me/+xGeAw6ckJ4liYzQy Контакт для рекламы: @easyoffer_adv
Больше4 917
Подписчики
-124 часа
-37 дней
+730 день
Загрузка данных...
Похожие каналы
Облако тегов
Входящие и исходящие упоминания
---
---
---
---
---
---
Привлечение подписчиков
август '26
август '26
+45
в 0 каналах
июль '26
+47
в 0 каналах
Get PRO
июнь '26
+43
в 1 каналах
Get PRO
май '26
+32
в 0 каналах
Get PRO
апрель '26
+55
в 0 каналах
Get PRO
март '26
+58
в 0 каналах
Get PRO
февраль '26
+115
в 0 каналах
Get PRO
январь '26
+100
в 0 каналах
Get PRO
декабрь '25
+62
в 0 каналах
Get PRO
ноябрь '25
+110
в 0 каналах
Get PRO
октябрь '25
+132
в 1 каналах
Get PRO
сентябрь '25
+75
в 0 каналах
Get PRO
август '25
+82
в 0 каналах
Get PRO
июль '25
+125
в 0 каналах
Get PRO
июнь '25
+127
в 0 каналах
Get PRO
май '25
+124
в 1 каналах
Get PRO
апрель '25
+166
в 0 каналах
Get PRO
март '25
+598
в 5 каналах
Get PRO
февраль '25
+332
в 4 каналах
Get PRO
январь '25
+201
в 53 каналах
Get PRO
декабрь '24
+120
в 0 каналах
Get PRO
ноябрь '24
+162
в 1 каналах
Get PRO
октябрь '24
+310
в 40 каналах
Get PRO
сентябрь '24
+408
в 249 каналах
Get PRO
август '24
+181
в 1 каналах
Get PRO
июль '24
+342
в 54 каналах
Get PRO
июнь '24
+924
в 244 каналах
Get PRO
май '24
+999
в 191 каналах
Get PRO
апрель '24
+689
в 23 каналах
| Дата | Привлечение подписчиков | Упоминания | Каналы | |
| 30 августа | 0 | |||
| 29 августа | 0 | |||
| 28 августа | +1 | |||
| 27 августа | 0 | |||
| 26 августа | +2 | |||
| 25 августа | +1 | |||
| 24 августа | +2 | |||
| 23 августа | +2 | |||
| 22 августа | +1 | |||
| 21 августа | +2 | |||
| 20 августа | +1 | |||
| 19 августа | +3 | |||
| 18 августа | 0 | |||
| 17 августа | +3 | |||
| 16 августа | +3 | |||
| 15 августа | +1 | |||
| 14 августа | +4 | |||
| 13 августа | +5 | |||
| 12 августа | +1 | |||
| 11 августа | +2 | |||
| 10 августа | +2 | |||
| 09 августа | 0 | |||
| 08 августа | 0 | |||
| 07 августа | 0 | |||
| 06 августа | +2 | |||
| 05 августа | +1 | |||
| 04 августа | 0 | |||
| 03 августа | +5 | |||
| 02 августа | 0 | |||
| 01 августа | +1 |
Посты канала
Регистрируйтесь на Yandex Scale 2026
Главная конференция Yandex Cloud.
Узнайте о сервисах, которые меняют ваш бизнес.
4 офлайн-трека (AI, Infra + DevTools, Data, Security), онлайн-трек Deep Tech, воркшопы по ИИ и интерактивы. Подробнее о программе читайте в карточках🗒
📅24 сентября
🚗Москва + 💻онлайн
Участие бесплатное!
Зарегистрироваться
#реклама 16+
scale.yandex.cloud
О рекламодателе
| 2 | 🤔 В чем заключается проблема овер фитинг?
Проблема переобучения (overfitting) заключается в том, что модель машинного обучения слишком хорошо подстраивается под обучающие данные, включая их шум и случайные колебания, что приводит к плохой обобщающей способности на новых, невидимых данных. Переобученная модель имеет высокую точность на обучающих данных, но плохо работает на тестовых или реальных данных.
🚩Причины переобучения
🟠Слишком сложная модель
Модель имеет слишком много параметров относительно объема данных. Например, глубокая нейронная сеть с множеством слоев и узлов.
🟠Малый объем данных
Недостаточно данных для обучения модели, что приводит к тому, что модель запоминает отдельные примеры вместо выявления общих закономерностей.
🟠Шумные данные
Наличие шума или выбросов в данных, которые модель начинает интерпретировать как важные закономерности.
🚩Признаки переобучения
🟠Высокая точность на обучающих данных и низкая на тестовых данных
Если модель показывает очень высокую точность на данных, на которых она обучалась, и низкую точность на новых данных, это явный признак переобучения.
🟠Сложные модели с высокими коэффициентами
Модель может иметь высокие значения коэффициентов, что указывает на сильное подстраивание под обучающие данные.
🚩Методы предотвращения переобучения
🟠Разделение данных на тренировочный и тестовый наборы
Использование тренировочного набора для обучения модели и тестового набора для оценки ее обобщающей способности.
🟠Кросс-валидация
Разделение данных на несколько частей и использование разных частей для обучения и тестирования в нескольких итерациях.
🟠Регуляризация
Введение штрафов за сложные модели. Например, L1 и L2 регуляризация уменьшают значения коэффициентов модели.
🟠Снижение сложности модели
Использование менее сложных моделей с меньшим количеством параметров.
🟠Сбор большего объема данных
Увеличение объема обучающих данных помогает модели лучше выявлять общие закономерности.
🟠Прерывание обучения (Early Stopping)
Остановка обучения модели, когда ошибка на валидационном наборе данных начинает увеличиваться.
🟠Аугментация данных
Создание дополнительных данных путем их модификации (например, поворот, масштабирование изображений), что помогает модели обобщать лучше.
from sklearn.linear_model import Ridge
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# Пример данных
X = ... # Ваши данные признаков
y = ... # Целевая переменная
# Разделение данных на обучающий и тестовый наборы
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Модель с L2 регуляризацией (Ridge)
model = Ridge(alpha=1.0)
model.fit(X_train, y_train)
# Предсказание и оценка
y_pred_train = model.predict(X_train)
y_pred_test = model.predict(X_test)
train_error = mean_squared_error(y_train, y_pred_train)
test_error = mean_squared_error(y_test, y_pred_test)
print(f'Training Error: {train_error}')
print(f'Test Error: {test_error}')
Ставь 👍 и забирай 📚 Базу знаний | 59 |
| 3 | «Нейросети для руководителей» от Яндекса и НИУ ВШЭ
⚡ Команда Яндекс Практикума собрала интенсив «Нейросети для руководителей», чтобы за 3 недели подготовить менеджеров к работе по новым правилам рынка.
✅ В программе:
- 14 нейросетей — ChatGPT, Claude, n8n, Cursor и другие.
- Практики под руководством топ-экспертов по ИИ из Яндекса и НИУ ВШЭ.
- 6 воркшопов, которые легко совмещать с работой.
- 6 проектов на ваших реальных кейсах — от аналитической справки до мини-продуктов и агентных цепочек.
На выходе — весь спектр ИИ-навыков: отчёты и аналитика без ручной работы, гипотезы за часы, стратегия вместо операционки. Руководители перестают «тушить пожары» и начинают по-настоящему управлять.
Узнать больше
#реклама 16+
practicum.yandex.ru
О рекламодателе | 161 |
| 4 | 🤔 Какие способы регурялизации сеточек знаешь?
Регуляризация нейросетей помогает избежать переобучения, улучшая их способность к обобщению. Рассмотрим основные методы:
🟠L1 и L2-регуляризация (Weight Decay)
Добавляют штраф за большие веса в функцию ошибки, предотвращая слишком сложные модели.
L1-регуляризация (Lasso, L1-norm)
Добавляет к функции ошибки сумму абсолютных значений весов:
Loss = Loss_{original} + \lambda \sum |w|
Заставляет веса стремиться к нулю, создавая разреженные модели (некоторые веса становятся 0).
L2-регуляризация (Ridge, L2-norm)
Добавляет сумму квадратов весов:
Loss = Loss_{original} + \lambda \sum w^2
Уменьшает значения весов, но не зануляет их полностью.
import torch.nn as nn
import torch.optim as optim
model = nn.Linear(10, 1)
optimizer = optim.SGD(model.parameters(), lr=0.01, weight_decay=0.001) # L2-регуляризация
🟠Dropout
Отключает случайные нейроны в процессе обучения, предотвращая их зависимость друг от друга. В каждом шаге обучения случайные нейроны "выключаются" с вероятностью p. В тестовом режиме нейроны работают в полную силу, но с весами, скорректированными на p.
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(10, 50)
self.dropout = nn.Dropout(p=0.5) # Выключаем 50% нейронов
self.fc2 = nn.Linear(50, 1)
def forward(self, x):
x = self.fc1(x)
x = self.dropout(x)
x = self.fc2(x)
return x
🟠Batch Normalization
Нормализует входные данные каждого слоя, уменьшая зависимость от масштаба входных данных.
Ускоряет обучение
Снижает зависимость от начальных весов
Обладает небольшим регуляризационным эффектом
import torch.nn as nn
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.fc1 = nn.Linear(10, 50)
self.bn1 = nn.BatchNorm1d(50) # Нормализация
self.fc2 = nn.Linear(50, 1)
def forward(self, x):
x = self.fc1(x)
x = self.bn1(x)
x = self.fc2(x)
return x
🟠Data Augmentation (для CV-задач)
Искусственное увеличение данных путём аугментаций (повороты, отражения, изменения яркости).
import torchvision.transforms as transforms
transform = transforms.Compose([
transforms.RandomHorizontalFlip(),
transforms.RandomRotation(10),
transforms.ColorJitter(brightness=0.2, contrast=0.2),
transforms.ToTensor()
])
🟠Early Stopping
Останавливает обучение, если валидационная ошибка перестаёт уменьшаться.
from torch.optim.lr_scheduler import ReduceLROnPlateau
scheduler = ReduceLROnPlateau(optimizer, mode='min', patience=5)
Ставь 👍 и забирай 📚 Базу знаний | 142 |
| 5 | Яндекс Музыка до 360 дней бесплатно
Яндекс Музыка для вас и 3-х ваших близких.
Кинопоиск и Яндекс Книги тоже в мультиподписке Плюс.
Попробуйте бесплатно❤️
Слушать
#реклама 18+
music.yandex.ru
О рекламодателе | 168 |
| 6 | 🤔 Почему считается, что случайный лес не переобучается?
На самом деле случайный лес может переобучаться, особенно когда речь идет о наличии очень шумных данных или когда модель строится без ограничений на глубину деревьев. Однако, по сравнению с одиночными деревьями решений, случайный лес действительно обладает более высокой устойчивостью к переобучению по ряду причин:
🟠Ансамблевый метод
Случайный лес является ансамблевым методом, объединяющим предсказания множества деревьев решений. Каждое дерево в лесу строится независимо от других, что помогает уменьшить влияние ошибок отдельного дерева на итоговую модель. Это голосование по множеству деревьев повышает общую устойчивость и способность к обобщению.
🟠Использование подвыборок и подмножеств признаков
При построении каждого дерева случайный лес использует случайные подвыборки обучающих данных (bootstrap samples), а также случайные подмножества признаков. Это означает, что каждое дерево строится на основе различных аспектов данных, что уменьшает риск переобучения, связанный с чрезмерной оптимизацией под одни и те же шумы или выбросы в данных.
🟠Голосование по большинству
Когда несколько деревьев "голосуют" за окончательное предсказание, ошибки отдельных деревьев, склонных к переобучению, могут быть нивелированы. Если одно дерево переобучилось и ошибочно классифицирует пример, другие деревья, которые не страдают от этой проблемы, могут "исправить" эту ошибку своими предсказаниями.
🟠Устойчивость к шуму и выбросам
Поскольку каждое дерево строится независимо, влияние шума и выбросов снижается, так как они влияют только на те деревья, в подвыборки которых они попали. Это уменьшает их воздействие на общий результат ансамбля.
Ставь 👍 и забирай 📚 Базу знаний | 194 |
| 7 | Бесплатный 14-дневный онлайн-курс по дизайну интерьеров
Давно хочешь работать в творческой сфере и иметь доход от 100 тыс/мес? Тебе не нужно уметь рисовать или прямо сейчас принимать решение. Просто приходи и попробуй! Вдруг понравится создавать уютные интерьеры и ты найдешь в этом себя.
Регистрируйся на практический курс по дизайну интерьера с личным наставником. Осталось 7 мест!⚡
Зарегистрироваться
#реклама 16+
diskill-design.ru
О рекламодателе | 215 |
| 8 | 🤔 Сравнение архитектуры RNN, CNN, трансформера?
RNN обрабатывает данные последовательно и хорошо работает с временными рядами или текстами, но страдает от проблем с градиентами и плохо масштабируется. CNN извлекает локальные признаки через свёртки, изначально предназначен для изображений, но может применяться к тексту. Трансформер использует механизм внимания, обрабатывает всё параллельно и учитывает контекст целиком, что делает его эффективным в работе с языком и последовательностями.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 210 |
| 9 | Бесплатный курс: веб-дизайн, графика, интерфейсы
Получи востребованные навыки:
- создание дизайна сайтов и приложений
- создание инфографики и карточек для маркетплейсов
- работа в графическом редакторе Figma и др.
Студенты курса в среднем зарабатывают от 68 000 ₽ уже во время обучения💰
Зарегистрироваться
#реклама 16+
ydaev.ru
О рекламодателе | 207 |
| 10 | 🤔 Как сгенирировать распределение исходя из выборок?
Генерация распределения из выборок данных включает использование методов оценки плотности и генерации новых данных, которые соответствуют распределению исходных данных. Один из наиболее популярных методов — это использование оценки плотности ядра (KDE, Kernel Density Estimation). Также можно использовать другие методы, такие как метод исторгаммы или моделирование распределений с использованием параметрических подходов (например, нормальное распределение).
🚩Методы генерации распределения из выборок
🟠Оценка плотности ядра (KDE)
KDE сглаживает данные, чтобы создать непрерывное аппроксимированное распределение, основанное на данных выборки. Для реализации KDE можно использовать библиотеку scipy или seaborn.
🟠Гистограмма
Гистограмма разбивает данные на бины и оценивает плотность данных в каждом бине. Это простой способ оценки распределения данных.
🟠Параметрическое моделирование
Можно подогнать данные к известным распределениям (например, нормальное, экспоненциальное) и использовать параметры этого распределения для генерации новых данных.
🚩Примеры генерации распределения в Python
Использование KDE с библиотекой seaborn
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# Пример данных
data = np.random.normal(loc=0, scale=1, size=1000)
# Оценка плотности ядра (KDE)
sns.kdeplot(data, shade=True)
plt.title("Kernel Density Estimation (KDE)")
plt.show()
Использование KDE с библиотекой scipy
import numpy as np
from scipy.stats import gaussian_kde
import matplotlib.pyplot as plt
# Пример данных
data = np.random.normal(loc=0, scale=1, size=1000)
# Оценка плотности ядра (KDE)
kde = gaussian_kde(data)
# Создание новых данных на основе KDE
x = np.linspace(min(data), max(data), 1000)
kde_values = kde(x)
plt.plot(x, kde_values)
plt.title("Kernel Density Estimation (KDE)")
plt.show()
Генерация новых данных из KDE
# Генерация новых данных на основе оцененного распределения
new_samples = kde.resample(size=1000).T[0]
plt.hist(new_samples, bins=30, density=True, alpha=0.5, label='Generated Data')
sns.kdeplot(data, shade=True, label='Original Data')
plt.title("Generated Data vs Original Data")
plt.legend()
plt.show()
Параметрическое моделирование (нормальное распределение)
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# Пример данных
data = np.random.normal(loc=0, scale=1, size=1000)
# Оценка параметров нормального распределения
mu, std = norm.fit(data)
# Генерация новых данных
new_data = np.random.normal(loc=mu, scale=std, size=1000)
plt.hist(new_data, bins=30, density=True, alpha=0.5, label='Generated Data')
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2, label='Fitted Distribution')
plt.title("Generated Data with Fitted Distribution")
plt.legend()
plt.show()
Ставь 👍 и забирай 📚 Базу знаний | 203 |
| 11 | Разработка и запуск интернет-магазина за 299 000 руб.
Адаптивные, быстрые и высоконагружаемые интернет магазины на CMS 1C-Битрикс под ключ. Сопровождение и развитие магазина. 299 000 руб.
Получить предложение
#реклама
webformat.ru
О рекламодателе | 214 |
| 12 | 🤔 Какие принципы ООП тебе известны?
Основные принципы: инкапсуляция (сокрытие данных), наследование (повторное использование кода), полиморфизм (разные реализации одного интерфейса), абстракция (выделение ключевых характеристик).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 247 |
| 13 | 🤔 В каких случаях логистическая регрессия на задачах классификации будет работать лучше, чем случайный лес?
Логистическая регрессия и случайный лес – это два популярных алгоритма для классификации, но они работают по-разному. Давайте разберём, в каких случаях логистическая регрессия будет лучше, чем случайный лес.
🚩Когда данные линейно разделимы
Логистическая регрессия – это линейный алгоритм. Если классы можно разделить гиперплоскостью, логистическая регрессия будет работать отлично.
Если у вас есть два класса, и они расположены в виде двух облаков по разные стороны от прямой, логистическая регрессия легко найдёт разделяющую границу.
Случайный лес в этом случае будет усложнять решение, строя множество деревьев, хотя можно обойтись простой линейной моделью.
🚩Когда данные высокоразмерные и разреженные
Логистическая регрессия хорошо работает с разреженными данными (например, при обработке текстов в NLP).
Если вы строите модель на основе Bag of Words (BoW) или TF-IDF для классификации текстов, логистическая регрессия обычно даёт хорошие результаты.
Случайный лес требует больше данных и может работать хуже в разреженных пространствах.
🚩Когда важны вероятность предсказания
Логистическая регрессия даёт интерпретируемые вероятности, так как использует сигмоидную функцию:
P(y=1|X) = \frac{1}{1 + e^{-(wX + b)}}
Случайный лес тоже может выдавать вероятности, но они менее стабильны и не так хорошо калиброваны.
В медицинской диагностике важно знать не только класс (болен/здоров), но и вероятность заболевания.
В таких случаях логистическая регрессия предпочтительнее.
🚩Когда важно объяснение модели
Логистическая регрессия даёт понятные коэффициенты \( w \), которые можно интерпретировать как влияние каждого признака на вероятность принадлежности к классу.
В задачах кредитного скоринга банки используют логистическую регрессию, потому что важно объяснять, почему клиенту одобряют или не одобряют кредит.
Случайный лес – «чёрный ящик», где трудно интерпретировать, почему модель приняла то или иное решение.
🚩Когда данных мало
Логистическая регрессия работает хорошо даже на небольших выборках, потому что имеет мало параметров и не склонна к переобучению.
Если у вас есть всего 100 примеров и 10 признаков, логистическая регрессия обучится хорошо, а случайный лес может переобучиться из-за высокой гибкости.
Ставь 👍 и забирай 📚 Базу знаний | 251 |
| 14 | Доброград: жизнь без мегаполиса, но со всем, что важно
А что, если после работы не нужно стоять в пробке, до школы — несколько минут, а природа - не только по выходным?
Доброград — новый город во Владимирской области, в 2,5 часах от Москвы. Здесь всё важное на расстоянии 15 минут:
🎓 школы и детские сады
🏃♂️ бассейн, спорт, теннис, падел, вейк-парк и гольф-поле
😊 лес, озёра, парки и 25 км велодорожек
✨ рестораны и SPA
✅ медицина
Дети могут сами добираться до школы. Спорт и любимые занятия становятся частью обычного дня. А вместо часов в дороге появляется время на семью, друзей и себя.
И это не место, куда приезжают только на выходные. Здесь уже живут 3000 человек из 60+ регионов России.
Выбирайте свой формат: готовые квартиры, таунхаусы или земельные участки.
Узнать больше
#реклама
dobrograd.ru
О рекламодателе | 225 |
| 15 | Пожизненный PRO доступ на easyoffer — по цене одного года!
До 2 сентября вы можете купить PRO навсегда.
Покупаешь один раз — пользуешься всю жизнь.
– База вопросов и задач из собеседований
– Примеры видео-ответов на вопросы
– Записи реальных собеседований
– Тренажеры "Проработка вопросов" и "Реальное собеседование"
– Аналитика требований из вакансий
– Автоотклики на вакансии
– Агрегатор вакансий (скоро)
👉 Купить PRO со скидкой 70%: https://easyoffer.ru/pro | 216 |
| 16 | 🤔 Зачем нужен self super?
self указывает на текущий экземпляр класса, а super позволяет обращаться к методам родительского класса, избегая дублирования кода.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний | 246 |
| 17 | Подготовка к вступительным экзаменам в ШАД
120+ поступивших в ШАД. Преподаватели МГУ. Гарантия результата. Вы поступите в ШАД, магистратуру или мы зачислим Вас на следующий поток бесплатно
Узнать больше
#реклама 16+
shadhelper.com
О рекламодателе | 246 |
| 18 | 🤔 Что такое recall?
Это метрика в машинном обучении и статистике, которая измеряет способность модели классификации находить все релевантные случаи в данных. Другими словами, он показывает, какую долю объектов из всех истинно положительных объектов модель смогла правильно классифицировать как положительные.
🚩Определение и формула
Определяется как отношение числа истинно положительных результатов (true positives, TP) к сумме истинно положительных и ложно отрицательных результатов (false negatives, FN):
\[ \text{Recall} = \frac{TP}{TP + FN} \]
🚩Зачем это нужно
Особенно важен в ситуациях, где пропуск истинно положительных результатов может иметь серьёзные последствия. Например, в медицинской диагностике важно обнаружить как можно больше реальных случаев заболевания, чтобы назначить соответствующее лечение.
Представим, что у нас есть тест на обнаружение болезни, и в группе из 100 человек 30 действительно болеют. Если тест правильно идентифицировал 25 из них как больных, полнота теста будет:
\[ \text{Recall} = \frac{25}{30} \approx 0.83 \]
from sklearn.metrics import recall_score
# Истинные метки
y_true = [1, 0, 1, 1, 0, 1, 0, 0, 1, 1]
# Предсказанные метки
y_pred = [1, 0, 1, 0, 0, 1, 0, 1, 0, 1]
# Расчет полноты
recall = recall_score(y_true, y_pred)
print("Recall:", recall)
Ставь 👍 и забирай 📚 Базу знаний | 281 |
| 19 | Скидка 25% на гели Ariel и Tide!
Скидка 25% в Любимой категории на товары брендов Ariel и Tide
Купить
#реклама
market.yandex.ru
О рекламодателе | 221 |
| 20 | 🤔 Как посчитать рок аук скор?
Она измеряет способность модели различать положительные и отрицательные классы, независимо от выбранного порога классификации. Значение ROC AUC варьируется от 0 до 1, где 1 соответствует идеальной модели, а 0.5 — случайному угадыванию.
🚩Шаги для расчета в Python
1⃣Подготовка данных и модели.
2⃣Предсказание вероятностей классов.
3⃣Вычисление ROC AUC с использованием библиотеки scikit-learn.
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score
# Генерация данных
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
# Разделение данных на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Обучение модели логистической регрессии
model = LogisticRegression()
model.fit(X_train, y_train)
# Предсказание вероятностей для тестовой выборки
y_pred_prob = model.predict_proba(X_test)[:, 1]
# Вычисление ROC AUC
roc_auc = roc_auc_score(y_test, y_pred_prob)
print(f"ROC AUC Score: {roc_auc:.2f}")
1⃣Генерация данных
make_classification создает набор данных для задачи классификации.
2⃣Разделение данных
train_test_split делит данные на обучающую и тестовую выборки.
3⃣Обучение модели
LogisticRegression используется для обучения модели логистической регрессии.
4⃣Предсказание вероятностей
predict_proba возвращает вероятности для каждого класса. Нас интересует вероятность положительного класса (1), поэтому берем второй столбец результата ([:, 1]).
5⃣Вычисление ROC AUC
roc_auc_score вычисляет AUC на основе истинных меток (y_test) и предсказанных вероятностей (y_pred_prob).
Ставь 👍 и забирай 📚 Базу знаний | 301 |
