데이터를 확인하는 건 도메인 지식을 위해서이다. 비즈니스 인사이트와 이해를 얻기 위함. 7차 미프떄 MLops, data pipeline를 배운다. 딥러닝의 성능이 대체로 좋은 곳 -> 시각, 언어, big data, 시계열 [참조] 가중치 업데이트 Gradient : 기울기(벡터) Gradient Decent(경사 하강법, optimizer의 기본) w의 초기값이 지정 : w0 초기값에서의 기울기(방향)을 확인한다. df(w)/dw, w= w0 기울기가 -면 x는 + 방향 기울기가 +면 x는 -방향 learning rate로 조금 조정한다. df(w)/dw * learning rate Wnew = w0 - 편미분(f(w)) x learning rate Wnew는 업데이트 해갈수록 최적화에 가까워진다. ..
data를 불러왔는데 범주형이 검색이 안되는 상황이 발생했다. train.loc[train['Hispanic_Origin'] == 'Do not know', 'Hispanic_Origin'] = ' NA'test.loc[test['Hispanic_Origin'] == 'Do not know', 'Hispanic_Origin'] = ' NA' 이럴때는 .unique()를 써보면, 해당 이름이 어떻게 써져 있는지를 명확히 볼 수 있다.train['Hispanic_Origin'].unique()array([' All other', ' Cuban', ' Mexican (Mexicano)', ' Central or South American', ' Puerto Rican', ' Mexican-Amer..
ML 모델을 고를 때 중요한 것 알고리즘의 개념 알고리즘의 전체 조건 성능에 영향을 미치는 요소 svm : 마진을 최대화 하는 초평면을 찾는다. 가장 큰 도로 만들기 데이터를 커널변환 한다. svm은 데이터가 적을 때 성능 발휘. 요즘엔 응용 알고리즘들이 많다. 나이브 베이즈 : 특징들이 서로 독립적이라는 "나이브(Naive)"한 가정 딥러닝 dense input_shape = (nfeatures,) input_shape에 들어가는 건 분석 단위여야 한다. r2 score의 마이너스 값이 나오는 건 실제값과 평균 추세선, 그리고 모델 오차가 더 커진 곳이 많아서 그렇다. 평균보다 못한 모델이라고 해석은 아지만, 꼭 그렇지만도 않다. 모델에 따라 다르다. 히든 레이어의 의미 실제 hidden layer의 ..
항상 강조하지만, 기본적으로 CRISP-DM이 깔고 들어가야 한다. 모델 튜닝을 해서, 성능을 올려서, 프로젝트의 시작과 끝에서 진짜로 비즈니스 문제가 해결되었는가? 이걸 보아야 한다. 그게 실제 성과 지표다. 성능 1%를 올리는 게 비즈니스 문제 해결에 의미가 없다면, 그저 헛고생이 된다. 머신러닝에서 모든 셀은 값이 되어야 하고, -> Nan 처리(삭제, 채우기) 그 값은 모두 숫자여야 한다. -> 가변수화(범주-> 수치형으로) 값의 범위가 일치해야 한다. -> 스케일링(minmax,robust) 이건 딥러닝도 크게 다르지 않다. knn과 svm은 svm은 요즘에 딥러닝과 접목해서 핫하다. 커널 변형을 시킨다. 딥러닝은 기본적으로 스케일링을 요구한다. shape의 복습 정형 데이터에서 행은 내가 다루..
kaggle에는 /kaggle/working/에 모듈을 저장해서 불러올 수 있는 기능이 있다.이 기능을 사용하면 하나의 노트북에서는 각 세션마다 모듈을 pip install로 받지 않아도 계속해서 지속된다. 필자는 pycaret으로 진행하였는데, classification 모듈을 import할 때 오류가 나는 부분이 발생했다.cannot import name 'is_datetime64tz_dtype' from 'pandas.core.tools.datetimes' (/kaggle/working/pandas/core/tools/datetimes.py) 어느 부분이 문제인지 몰라, 조건을 바꿔가면서 실험했다. 1. pycaret을 다운받을 때 사용하는 각 모듈의 문제인가? -> 아니였다. 세션을 종료하고 다시..
dtype의 defalut 값이 bool로 바뀌면서, 원핫 인코딩을 할 때 int로 만들어야 한다. 왜냐하면 True, false로 나오기 때문이다. 앙상블 여러 개의 약한 모델이 올바르게 결합하면 훨씬 더 정확하고 견고한 모델이 된다. 보팅 배깅 부스팅 스태킹 보팅 여러 모델들을 만들고, 예측 결과를 투표를 통해 최종 예측 결과를 결정한다. 하드 보팅 : 다수 모델이 예측한 값이 최종 결과 값이다. 만약 1,2,1,1이 있다면, 1로 예측. 소프트 보팅 : 모든 모델이 예측한 레이블 값의 결정 확률 평균을 구한 후, 가장 확률이 높은 값을 최종적으로 선택한다. 확률을 따진다. 1일 확률이 0.7,2일 확률이 0.3, ...이런식으로 나오는데 이걸 확률 평균 1일 확률이 배깅 bootstrap Aggre..