🐣python

로지스틱 회귀

category
🐣python
URL
date
Feb 9, 2023
slug
machine-learning-logistic-regressioin
author
status
Public
tags
Playdata_deep-learning & machine-learning
summary
로지스틱 회귀
type
Post
thumbnail
updatedAt
Mar 2, 2023 03:00 AM

로지스틱 회귀

  • 분류
    • 대표적인 지도학습 유형의 머신러닝 기법
    • 데이터에 주어진 클래스 값을 학습하여 각 클래스를 구별할 수 있는 패턴을 찾아 학습 모델을 생성하고, 새로운 데이터에 대한 클래스 예측
  • 로지스틱 회귀
    • 선형 회귀 방식을 ‘참/거짓’의 분류에 적용한 기법
    • notion image
 
  • 선형 회귀와 동일하게 선형 방정식을 학습
notion image
→ 승산비(odds)를 활용하여 시그모이드 함수를 유도한 뒤, 시그모이드 함수에 z를 적용
  • 시그모이드 함수 : 로지스틱 회귀에서 사용하는 S자 함
    • notion image
    • 로지스틱 회귀 반응 변수의 값(y(z)) : 데이터가 특정 레이블(클래스)에 속할 확률을 추정
    • 반응 변수의 값(추정된 확률) ≥ 임계치 : 긍정(양성) 클래스 예측(1)
    • 반응 변수의 값(추정된 확률) < 임계치 : 부정(음성) 클래스 예측(0)
 
  • 이진 분류 기능 수행
    • 분석 기법의 이름 자체에 ‘회귀’라는 단어가 들어가 있지만 다른 회귀 모형의 목적과 다르게 ‘분류’를 수행
    • 로지스틱 회귀 모형은 분류기(classifier)
    • 로지스틱 회귀의 기본 형태는 이진 분류이며, 예측 성능도 일반적으로 우수한 편
    • 로지스틱 회귀는 이진 분류: 임계치 비교에 따라 1 또는 0으로 분류
    • ex) 스팸메일 vs 일반 메일, 양성 종양 vs 악성 종양, 합격 vs 불합격
 

로지스틱 회귀 - 특징 및 동작 원리

  • 로지스틱 회귀는 가볍고 빠르다
  • 이진 분류의 예측 성능이 뛰어남
  • 이진 분류의 기본 모델로 사용하는 경우가 많다
  • 희소 데이터 셋 분류에도 뛰어나서 텍스트 분류에서도 자주 사용
 

로지스틱 회귀 - 다중 클래스 분류

  • 다중 클래스 분류를 위한 로지스틱 회귀
    • 실행 알고리즘을 다른 것으로 변경하여 다중 클래스들의 분류를 수행
    • 2진 분류를 여러 번 수행해서 다중 분류 수행(One VS. Rest: OvR)
    • z값을 시그모이드에 넣지 않고 소프트맥스 함수에 넣어 확률 계산
 

로지스틱 회귀 - 성능 평가 지표

  • 로지스틱 회귀의 성능 평가 지표
    • 이진 분류 결과를 평가
    • 오차행렬에 기반한 정확도, 정밀도, 재현율, F1 스코어, ROC_AUC 등을 사용
 
  • 오차행렬
    • 4분면 행렬을 사용해 이진 분류의 예측 오류를 나타내는 지표
    • 실제값과 예측값이 얼마나 매칭되었는지 표
notion image
 
 

로지스틱 회귀 - 성능 평가 지표

 
 

정확도

  • 예측한 결과가 실제값과 얼마나 동일한지를 나타내는 비율(전체 개수 중 정답을 맞춘 개수)
  • 사이킷런 : sklearn.metrics.accuracy_score()
notion image
notion image

정밀도

  • 예측한 결과가 Positive인 것(FP + TP) 중에서, 실제로 참(TP)인 비율
  • 어떤 클래스라고 예측한 후 실제로 그 클래스를 맞춘 경우
  • Positive 예측 성능을 더 정밀하게 평가하기 위한 지표
  • 사이킷런: sklearn.metrics.precision_score()
notion image
notion image
 

재현율(또는 민감도 또는 TPR)

  • 실제값이 Positive인 것(TP + FN)중에서 참인 것(TP)의 비율