[TIL]데이터 분석 부트캠프(4기) 32일차
0. 들어가며
- 점심 먹고나서 시간이 정말 취약...
- 규칙적인 시간 분배로 계속 책상 앞에만 앉아있지말고
간단한 스트레이칭이나 운동도 적절하게 실시하자!
1. 오전 일과
1-1 코드카타 및 내용 정리
내용 정리 링크
1. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-43-Biggest-Single-Number
2. https://velog.io/@dav74/%EC%BD%94%EB%93%9C%EC%B9%B4%ED%83%80-SQL-44-Customers-Who-Bought-All-Products
- 코드카타 2문제 풀이 완료
- Select에서 한번에 해결하려고 하지 말고 서브쿼리를 잘 활용하자!
- count()함수에 distinct를 사용하여 중복값 제거!
1-2 통계학 기초 라이브세션 6회차
내용 정리 링크
https://velog.io/@dav74/%ED%86%B5%EA%B3%84%ED%95%99-%ED%86%B5%EA%B3%84%EC%95%BC-%EB%86%80%EC%9E%90-06
- 내용 간단 정리
- 통계와 머신러닝
- 지도학습 살펴보기
- 비지도학습 살펴보기
2. 오후 일과
2-1 코드카타 문제 복습
- 10문제 정도 복습 완료
- 이전에도 난이도가 있어서 시간이 걸렸던 문제들
2-2 머신러닝 라이브 세션 듣기 및 복습
내용 정리 링크
https://velog.io/@dav74/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EB%B9%8C%EB%93%9C%EC%97%85-01
- 간단 내용 정리
- 머신 러닝에 대한 정의
- 빅데이터와 머신 러닝
- 통계학과 머신 러닝
- 데이터 분석과 머신 러닝
2-3 머신러닝 활용 강의 1주차 내용 정리
1) 데이터 분리
- 과적합은 머신러닝의 적
- 과대적합(Overfitting) : 데이터를 너무 과도하게 학습한 나머지 해당 문제만 잘 맞추고 새로운 데이터를 제대로 예측 혹은 분류하지 못하는 현상
- 예측 혹은 분류를 하기 위해서 모형을 복잡도를 설정
- 모형이 지나치게 복잡할 때 : 과대 적합이 될 수 있음
- 모형이 지나치게 단순할 때: 과소 적합이 될 수 있음
- 과적합의 원인
- 데이터 양이 충분하지 않음
- 학습 반복이 많음(딥러닝의 경우)
- 데이터 불균형(정상환자 - 암환자의 비율이 95: 5)
- 과적합 해결 : 테스트 데이터의 분리
- 학습 데이터(Train Data): 모델을 학습(fit)하기 위한 데이터 ( 70 or 80 )
- 테스트 데이터(Test Data): 모델을 평가 하기 위한 데이터 ( 30 or 20 )
- 함수 및 파라미터 설명 ( sklearn.model_selection.train_test_split )
- test_size: 테스트 데이터 세트 크기
- train_size: 학습 데이터 세트 크기
- shuffle: 데이터 분리 시 섞기
- random_state: 호출할 때마다 동일한 학습/테스트 데이터를 생성하기 위한 난수 값.
수행할 때 마다 동일한 데이터 세트로 분리하기 위해 숫자를 고정 시켜야 함
- 반환값(순서 중요)
- X_train, X_test, y_train, y_test
2) 교차 검증과 GridSearch
- 교차검증 : 데이터 셋을 여러 개의 하위 집합으로 나누더 돌아가면서 검증 데이터로 사용하는 방법
- K-Fold Validation
- 정의 : Train Data를 K개의 하위집합으로 나누어 모델을 학습시키고 모델을 최적하는 방법
- K : 분할의 갯수
- 특징 : 데이터가 부족할 경우 유용(반복 학습)
- 함수
- sklearn.model_selection.KFold
- sklearn.model_selection.StrifiedKFold : 불균형한 레이블(Y)를 가지고 있을 때 사용
- GridSearchV ( 하이퍼 파라미터 자동적용하기 )
- 하이퍼 파라미터 : 모델을 구성하는 입력 값 중 사람이 임의적으로 바꿀 수 있는 입력값
- 하이퍼 파라미터에 다양한 값을 넣고 실험할 수 있기 때문에 자동화해주는 데 GridSearch가 활용
3. 마치며
- 통계, 머신러닝의 활용이 중요하다..!
하지만 내용이 아직 머리 속에서 떠돌아다니는 느낌..!
- 강의 들으면서 정리할 수 있는 부분은 하나씩 정리하자!
- 내일 QCC가 예정되어 있는데, 기본에 집중하면서 문제 풀자!