НачатьНачать бесплатно

Алгоритм логистической регрессии

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

Вместо суммы квадратов в качестве метрики мы будем использовать правдоподобие. Однако логарифм правдоподобия вычислительно устойчивее, поэтому воспользуемся именно им. Есть ещё одна тонкость: так как нам нужно максимизировать логарифм правдоподобия, а функция optim() по умолчанию ищет минимум, удобнее вычислять отрицательный логарифм правдоподобия.

Значение логарифма правдоподобия для каждого наблюдения задаётся формулой:

Формула логарифма правдоподобия

Метрика, которую нужно вычислить, — это минус сумма вкладов логарифма правдоподобия по всем наблюдениям.

Значения объясняющей переменной (столбец time_since_last_purchase из набора данных churn) доступны как x_actual. Значения целевой переменной (столбец has_churned из набора данных churn) доступны как y_actual.

Это упражнение является частью курса

Промежуточная регрессия в R

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Set the intercept to 1
intercept <- ___

# Set the slope to 0.5
slope <- ___

# Calculate the predicted y values
y_pred <- ___

# Calculate the log-likelihood for each term
log_likelihoods <- ___

# Calculate minus the sum of the log-likelihoods for each term
___
Редактировать и запускать код