[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개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN