[TIL] 210812

zhenxi·2021년 8월 12일
0

TIL

목록 보기
3/11

오늘 한 일

  • 논리회귀(Logistic Regression) 공부

keyword :

  • 논리회귀(Logistic Regression)
    * 이름은 회귀지만 하는 일은 분류
    • 샘플이 특정한 범주에 속할 확률 추정에 많이 씀
  • test, validation, test data
  • knobs, knob 조정❓
  • 하이퍼파라미터와 파라미터의 차이
    • 파라미터 : 흔히 아는 파라미터
    • 하이퍼파라미터 : 우리가 모델링할때 수치를 조정할 수 있는 파라미터
      (가중치 alpha 등...어느정도 비율, 깊이로 학습할지 등도 정할 수 있다.)
  • Linear & Logistic 회귀 차이
    1) fit
    - Linear의 fit : least squares 잔차의 제곱합이 줄어들도록
    - Logistic의 fit : 잔차의 개념 X, 최소제곱, R^2사용 불가, 대신 최대가능성(maximum likelihood)를 가진 곡선 채택
    2) target
    - Linear : 예측하고자 하는 target이 연속형
    - Logistic : 예측하고자 하는 target이 분류
  • 유효성 검사 (validation 관련인듯)❓
  • data leakage
  • 시계열 데이터
    * 주식, 부동산데이터 같은 경우 시간 흐름 중요
    • train -> validation -> test
    • 과거 -----------------> 현재
  • model selection
  • feature selection : 데이터 split 전에 하는 것 (select하는 방법 있었는데❓)
  • K-fold 교차검증(CV)
  • Hold out validation : 데이터를 그냥 hold out해버리면 비중이 치중된 데이터를 써버릴 수 있다.
    (ex) train : 생존자 70% / validation : 생존자 20%)
    데이터는 한정되어 있으므로 k개로 모델을 만들어서 cv를 해주어 최대한 데이터를 활용하는 것이 좋다.
  • 로짓 변환(logit transformation) ❓(노트 다시 보기)
  • 평가지표(evaluation metrics)
    * 분류 문제의 평가지표 : precision, recall, f-score등 (지금 다 알필요 X)
    • 회귀 문제의 평가지표 : R^2등
  • 다중 클래스, 다중 분류 문제 (지금은 2개 집합의 범주형 타겟만 다룸 ex) 살아남는다(1) vs 못산다(0))
  • 표준화 (standardscaler)
  • kaggle 에서 feature description 확인하는 연습
  • 아웃라이어 (이상치) 제거
  • 모델 성능 리포팅 : 시각화 등의 자료를 바탕으로 모델의 결과를 해석&설득 (kaggle에 좋은 리포팅이 많다)
  • 모델 최적화
  • 회귀계수
  • majority class(치우친 클래스) <-> minority class(소수 클래스)
  • odds

etc :

[질문]
logit transformation 에서 확률 (특정 경우/전체경우) 가 아닌 odds (특정확률/다른확률) 을 사용하는 이유는 무엇인가요?
직관적으로는 그냥 확률이 더 이해하기 쉬운데 odds를 사용하는 이유가 있을 것 같아서요. 추측한 이유는 logit transformation 을 이용해서 선형으로 바꾸기 위해서 입니다.
확률이 아니라 odds를 사용하는 이유 알아봤습니다! odds가 확률에 비해 X factor가 미치는 영향력이 좀 더 크기 때문에 유리한 점이 있어서 그렇다고 하네요~

[질문]
logistic regression 은 회귀계수 직관석 해석이 어렵다고 하셨는데요. 후에 코드를 보면 logistic.coef_로 직관적이게 나오는데 이건 이미 logit transformation이 이루어진건가요? 아니라면 이게 왜 직관적이지 않다는 건가요?
오즈 수식을 보면 회귀 계수 자체가 odds안에 숨겨지게 된다. 그래서 직관적 해석이 어렵다고 하신듯. 따라서 로짓 변환 하기 전에 한번 봐야한다.
)간단히 얘기하자면, odds가 특정 x factor에 대한 결과값을 보는 것이기 때문에, 카테고리 적으로 다른 결과값과 비슷할 확률이 probabality보다 높다는 얘기인 것 같아요
제가 이해했던거는 로지스틱회귀가 분류를 위한 것이기 때문인 것 같아요. 선형회귀는 연속형 범수, 말씀하신 집값 예측 같은 것에 사용하기 위한 것이지만 로지스틱 회귀는 분류니까요… 로지스틱 회귀는 결과적으로 0을 0으로 1을 1로 보내야 하는게 목표니까요, 그 과정에서 오즈비라는 지표를 활용해서 회귀를 하는 것이 좋겠다!고 통계학자들이 결론을 낸 거 아닐까 싶어요..
) 감사합니다 :) 분류를 위한거라서 0과1 로 양극화 하기 위해 그렇다는 말씀이시죠!
오즈비를 로지스틱 회귀에 사용하기 전에 여러 지표들을 통계학자들이 찾아보았고 결과적으로 위에 말씀주신 것처럼 X factor 영향력이 제일 높았던 오즈비를 선택하지 않았을까 싶어요.. ㅎㅎ
https://www.theanalysisfactor.com/why-use-odds-ratios/

[질문] 특성 값을 표준화시켰는데, logistic regression이라서 진행한건가요? (linear는..?)
리니어도 표준화 시키기도 한다. 그런데 만약 리니어에서 표준화를 시켜버리면 해석이 굉장히 복잡해짐 예를 들어 Price를 표준화 해서 0~1사이로 바꾸면 나중에 price해석할때 다시 바꿔야 해서 복잡
분류의 경우 해석의 문제가 없다. 그 클래스에 해당하는지만 살펴보면 되므로.

내일 할 일

  • 오늘 다 정리 못한 키워드 처리
  • sprint chellenge
  • 과제 2차 제출


🐹
건강을 위한 스트레칭은 못했다.. 너무 바쁜 하루였다고 한다ㅎ. 그리고 과제 하느라 저녁을 못챙겨 먹었다!! 근데 점심을 너무 과식해서 가끔은 위장을 쉬어주는 것도 괜찮은 것 같다. 항상 소화시키느라 고생하는 내 위장...
오늘 내용도 역시 쉽지만은 않았다. 로지스틱회귀는 컴공 전공으로 들어서 조금은 아는 내용인데, (AI분야에 관심이 생겼을 당시 컴공 4학년 전공인 머신러닝을 신청해서 들었다. 인문대생의 패기..) 이번에 다시 해보니깐 생각보다 더 복잡하고, 기본기가 많이 필요하다는 것을 느꼈다. 통계든 수학이든 바탕 지식이 부족하니 배우는게 조금 버겁긴하지만 할만은 하다.! 그래도 열심히 해보자!! 힘!

profile
인문학도(였던 것)

0개의 댓글