🐣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
로지스틱 회귀
- 분류
- 대표적인 지도학습 유형의 머신러닝 기법
- 데이터에 주어진 클래스 값을 학습하여 각 클래스를 구별할 수 있는 패턴을 찾아 학습 모델을 생성하고, 새로운 데이터에 대한 클래스 예측
- 로지스틱 회귀
- 선형 회귀 방식을 ‘참/거짓’의 분류에 적용한 기법

- 선형 회귀와 동일하게 선형 방정식을 학습

→ 승산비(odds)를 활용하여 시그모이드 함수를 유도한 뒤, 시그모이드
함수에 z를 적용
- 시그모이드 함수 : 로지스틱 회귀에서 사용하는 S자 함
- 로지스틱 회귀 반응 변수의 값(y(z)) : 데이터가 특정 레이블(클래스)에 속할 확률을 추정
- 반응 변수의 값(추정된 확률) ≥ 임계치 : 긍정(양성) 클래스 예측(1)
- 반응 변수의 값(추정된 확률) < 임계치 : 부정(음성) 클래스 예측(0)

- 이진 분류 기능 수행
- 분석 기법의 이름 자체에 ‘회귀’라는 단어가 들어가 있지만 다른 회귀 모형의 목적과 다르게 ‘분류’를 수행
- 로지스틱 회귀 모형은 분류기(classifier)
- 로지스틱 회귀의 기본 형태는 이진 분류이며, 예측 성능도 일반적으로 우수한 편
- 로지스틱 회귀는 이진 분류: 임계치 비교에 따라 1 또는 0으로 분류
- ex) 스팸메일 vs 일반 메일, 양성 종양 vs 악성 종양, 합격 vs 불합격
로지스틱 회귀 - 특징 및 동작 원리
- 로지스틱 회귀는 가볍고 빠르다
- 이진 분류의 예측 성능이 뛰어남
- 이진 분류의 기본 모델로 사용하는 경우가 많다
- 희소 데이터 셋 분류에도 뛰어나서 텍스트 분류에서도 자주 사용
로지스틱 회귀 - 다중 클래스 분류
- 다중 클래스 분류를 위한 로지스틱 회귀
- 실행 알고리즘을 다른 것으로 변경하여 다중 클래스들의 분류를 수행
- 2진 분류를 여러 번 수행해서 다중 분류 수행(One VS. Rest: OvR)
- z값을 시그모이드에 넣지 않고 소프트맥스 함수에 넣어 확률 계산
로지스틱 회귀 - 성능 평가 지표
- 로지스틱 회귀의 성능 평가 지표
- 이진 분류 결과를 평가
- 오차행렬에 기반한 정확도, 정밀도, 재현율, F1 스코어, ROC_AUC 등을 사용
- 오차행렬
- 4분면 행렬을 사용해 이진 분류의 예측 오류를 나타내는 지표
- 실제값과 예측값이 얼마나 매칭되었는지 표

로지스틱 회귀 - 성능 평가 지표
정확도
- 예측한 결과가 실제값과 얼마나 동일한지를 나타내는 비율(전체 개수 중 정답을 맞춘 개수)
- 사이킷런 : sklearn.metrics.accuracy_score()


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


재현율(또는 민감도 또는 TPR)
- 실제값이 Positive인 것(TP + FN)중에서 참인 것(TP)의 비율