본문으로 바로가기
반응형

 

우선 앞에 데이터를 불러오기, 전처리, 정규화, 파일 저장하는 과정은 이전 포스트와 완전히 동일하다

https://red-tiger.tistory.com/128

 

타이타닉 Data Set, Linear Regression 결과

https://www.kaggle.com/ Kaggle: Your Machine Learning and Data Science CommunityKaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.www.kaggle.com옆자리 짝꿍이 알려

red-tiger.tistory.com

 

다른 부분은 결국 모델을 학습 시키는 코드

 

제출 결과

 

왜 같은 정답률을 보일까??


선형 회귀와 로지스틱 회귀의 차이

  • 선형 회귀: 연속적인 숫자를 예측하는 데 사용됨 → 하지만 여기서는 0 또는 1을 예측하도록 가정하고 0.5를 기준으로 생존 여부를 결정한다
  • 로지스틱 회귀: 확률을 예측하고, 그 확률이 0.5 이상이면 1(생존), 미만이면 0(사망)으로 판단함.

결론: 선형 회귀도 결국 로지스틱 회귀처럼 0.5를 기준으로 생존 여부를 결정하면 결과적으로 같은 예측값을 낼 수도 있다!!

 

이전포스트에서 확인 할 수 있듯이, 나는 선형회귀모델을 이용할 때 결국 0.5 이상이면 1(생존), 미만이면(사망)으로 잡아놨다. 즉 임계값이 똑같다.


 

왜 동일한 정확도가 나왔을까?

(1) 데이터 전처리가 같으면 모델이 비슷하게 작동할 가능성이 높음

  • 모든 특징(Feature)이 동일한 방식으로 전처리되었고, 같은 입력 데이터를 사용했음
  • 결측치는 평균으로 채워주었다

(2) 타이타닉 데이터셋 자체가 단순한 구조

  • 타이타닉 데이터셋은 변수가 많지 않고, 단순한 패턴을 가진다
  • 이런 데이터에서는 복잡한 비선형 모델이 필요하지 않을 수도 있음.
  • 즉, 단순한 모델(선형 회귀)도 로지스틱 회귀와 유사한 성능을 낼 수 있음.

(3) 실제 분류 성능은 다를 수 있음 (확률 기반 비교 필요)

  • 선형 회귀는 예측값을 확률값이 아니라 숫자값으로 내놓음.
  • 예를 들어:
    • 로지스틱 회귀: 0.82 → 생존(1), 0.23 → 사망(0)
    • 선형 회귀: 0.76 → 생존(1), 0.41 → 사망(0)
  • 하지만 0.5 기준으로 나누면, 결과적으로 같은 예측을 할 수도 있다

만약 엄청난 수의 데이터 셋, 또는 복잡한 데이터를 다룰 때에는 분류 문제에는 꼭 로지스틱 회귀 모델을 사용하자!!

그리고 선형 회귀에서는 예측값이 막 2.3이렇게 나올수도 있는데 이게 그럼 0.5가 임계값이니 매우 높은 확률로 생존인가?

결과값이 직관적이지 못하다는 단점이 있다. 

 

또 부가적으로 선형 회귀 모델은 새로운 값의 추가가 기존 분류 모델에 큰 영향을 미치게 되는 문제점이 발생한다.

이상치(Outlier)에 매우 취약하다.

조금 더 자세히 얘기하자면 y = wx + b 느낌으로 선형 회귀식이 작성되는데 이상치가 존재하면 W(기울기)가 크게 변한다.

하지만

활성화 함수로 시그모이드를 사용하면 입력값 x가 아무리 아무리 커져도 출력값이 0이나 1로 수렴된다. 그렇기에 로지스틱 회귀분석이 분류 문제에서 더 안정적이다.

로지스틱 회귀에서 학습은 경사 하강법(Gradient Descent) 을 사용해 진행된다. 경사 하강법은 손실 함수의 기울기를 계산하여 가중치를 업데이트하는 방식인데, 시그모이드 함수로 인해 예측값이 0과 1로 제한되므로, 이상치가 있을 때 가중치가 과도하게 조정되지 않는다. 예를 들어, 극단적인 값이 있으면 시그모이드 함수에서 출력값이 거의 0 또는 1로 고정되어, 그에 대한 기울기 계산이 매우 작아진다. 이로 인해 모델은 이상치에 의해 급격하게 변하지 않고, 안정적으로 학습을 이어갈 수 있다.

 

 

반응형