시작하기무료로 시작하기

로지스틱 회귀 알고리즘

로지스틱 회귀의 내부를 파보고, 직접 알고리즘을 구현해 보겠습니다. R의 glm() 함수는 매우 복잡하므로, 여기서는 단일 데이터셋에 대한 단순 로지스틱 회귀만 구현할 거예요.

평가 지표로 제곱합 대신 우도를 사용하려고 합니다. 다만 로그 우도가 계산적으로 더 안정적이므로 그걸 사용하겠습니다. 한 가지 더: 우리는 로그 우도를 최대화하고 싶은데, optim()은 기본적으로 최소값을 찾습니다. 따라서 계산을 쉽게 하려면 로그 우도의 부호를 바꿔서, 즉 음의 로그 우도를 계산하면 됩니다.

각 관측치에 대한 로그 우도 값은 다음과 같습니다.

Formula for log-likelihood

우리가 계산할 지표는 이 로그 우도 기여분들의 합에 마이너스를 붙인 값입니다.

설명 변수 값(churntime_since_last_purchase 열)은 x_actual로 제공됩니다. 반응 변수 값(churnhas_churned 열)은 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
___
코드 편집 및 실행