← Назад к вопросам

Что такое логистическая регрессия?

1.0 Junior🔥 221 комментариев
#Машинное обучение

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI30 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Что такое логистическая регрессия?

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

Основная формула

y_pred = σ(z) = 1 / (1 + e^(-z))

где z = w₀ + w₁x₁ + w₂x₂ + ... + wₙxₙ

Функция стоимости

Используется Cross-Entropy Loss:

L = -[y * log(y_pred) + (1-y) * log(1-y_pred)]

Пример на Python

from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, f1_score

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

lr = LogisticRegression(random_state=42)
lr.fit(X_train, y_train)

y_pred = lr.predict(X_test)
y_pred_proba = lr.predict_proba(X_test)[:, 1]

print(f"Accuracy: {accuracy_score(y_test, y_pred)}")
print(f"F1: {f1_score(y_test, y_pred)}")

Интерпретация коэффициентов

  • Положительный коэффициент увеличивает вероятность класса 1
  • Отрицательный коэффициент уменьшает вероятность класса 1
  • Больше абсолютное значение — сильнее влияние

Регуляризация

lr = LogisticRegression(penalty='l2', C=1.0)  # L2 регуляризация
lr = LogisticRegression(penalty='l1', solver='saga', C=1.0)  # L1 регуляризация

Многоклассовая классификация

lr = LogisticRegression(multi_class='multinomial')
lr.fit(X, y)  # y может иметь более 2 классов

Несбалансированные данные

lr = LogisticRegression(class_weight='balanced')

Преимущества

  • Простота и интерпретируемость
  • Быстрое обучение
  • Вероятностные предсказания
  • Хорошо масштабируется

Недостатки

  • Работает только для линейно разделимых данных
  • На нелинейные данные нужны признаки высокого порядка
  • Чувствительна к масштабированию

Когда использовать

  • Бинарная классификация
  • Нужна интерпретируемость
  • Быстрое решение
  • Базовый baseline

Логистическая регрессия остаётся одним из самых популярных методов классификации благодаря простоте и интерпретируемости.