6월 13일
- 미드 프로젝트 발표
- 다른 조들도 너무 잘함..
- 다양한 대시보드 형식들을 봤음
Streamlit
실습- ML 파트 시작
- 정형 데이터에서는 ML, 비정형 데이터에서는 DL이 일반적으로 성능이 좋음
- 다양한 툴에 대한 소개
- 사이킷런(
sklearn
) 대표적인 머신러닝 툴- 예측 데이터 분석
- 딥러닝 등 강화학습을 지원하지 않음
- 학습 종류
pandas.pivot
은 형태만 변경하고 연산하는 기능은 없음
6월 14일
- 머신러닝 기초
- (지도학습) 분류 알고리즘 (classification)
- (지도학습) 회귀 (regression) 알고리즘
- 지도학습
- Training Data + Training Labels -> Model (머신러닝 알고리즘)
- Test Data -> Prediction
- Test Labels -> Evaluation
- 데이터를 불러오면 기본적인 EDA를 실행
- Garbage in Garbage out
scikit-learn
에서는 행렬 형태는 대문자, 벡터 형태에서는 소문자 형식으로 사용함CART (Classificaton and Regression Trees)
분류와 회귀에 모두 사용 가능한 트리 계열 알고리즘- 부스팅 계열 알고리즘의 기본이 됨
- AI 알고리즘 시각화
- 결정 트리 학습법(Decision Tree Learning)
- 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로서 결정 트리를 사용
- 분류 트리: 목표 변수가 유한한 수의 값
- 회귀 트리: 목표 변수가 연속하는 값(일반적으로 실수)
- 트리 최상단에는 가장 중요한 질문이 옴
- 장점:
- 결과를 해석하고 이해하기 쉬움
- 자료를 가공할 필요가 없음
- 수치 / 범주 자료 모두에 적용 가능
- 화이트박스 모델
- 안정적
- 대규모 데이터 셋에서도 잘 동작
- 빠르다 (가장 큰 장점)
- 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로서 결정 트리를 사용
- Overfitting과 Underfitting
6월 15일
- (지도 학습) 회귀 (regression) 알고리즘
- 결정 트리의 최상단 값은 상관 계수와는 별개의 개념인 듯
model.feature_importances_
가 높은것이 옴
- 교차 검증 (cross-validation)
- K-fold cross validation
- 모델 성능에 직접적인 영향은 없고, 평가의 정확도를 높이는 목적으로 사용
- 회귀 평가 방법
- MAE (Mean Abs Err)
- MAPE (Mean Abs Perventage Err)
- MSE (Mean Squared Err)
- RMSE (Root Mean Squared Err)
- 하이퍼파라미터 튜닝
- 그리드 서치 (Grid Search): 지정된 구간에 대한 값에 대한 탐삭
- 랜덤 서치 (Random Search): 지정된 구간 외에 최적 값이 있을 경우를 대비해, 랜덤한 값을들 지정해 성능을 평가하고 가장 좋은 파라미터를 찾아냄
- 라틴 하이퍼 큐브 샘플링 (Random Latin Hypercube): 다차원 분포에서 매개변수 값의 거의 무작위 샘플을 생성하기 위한 통계적 방법
6월 16일
- 테스트 자동화와 테스트 주도 개발
- 파이썬 모듈:
*.py
파일- 추상적인 내용을 위로
- 구체적인 내용을 아래로
- 대체로 의존성 그래프의 방향에 따라
- 정보 은닉을 기준으로 모듈의 경계를 나눔
- 파이썬 패키지:
__init__.py
파일이 들어있는 폴더 - 구조적 프로그램 정리
- 순차
- 선택
- 반복
- 문장(statement) / 식(expression) / 평가값(evaluation value) / 평가 순서(evaluation order)
- 식을 평가하면 평가값이 생김, 평가는 평가 순서대로 일어남
- 문장은 평가값이 없고 그냥 “실행”이 되는 것
- 함수의 호출은 식임
__name__
을 이용해 모듈이 어디서import
되었는지 확인 가능pytest
프레임워크 ->_test
로 끝나는 파일들을 모두 찾아test
로 시작하는 모든 함수들을 실행- 테스트 통과 여부만 확인하면되기에 편리함
- TDD (Test-driven development)
- 중복을 명확하게 많이 만들면 개선하는 방법을 찾기가 쉬운거 같음
- 중복과 의도를 명확하게 드러내는 과정
6월 17일
- Tableau 특강
- 대시보드를 만드는 유용한 수업
- 기본적인 사용법이 어렵지 않고 굉장히 직관적인 느낌임
- 운영 방식에는 미흡한 방식이 좀 많았음
요약
- EDA 파트가 끝나, 미드 프로젝트를 진행하고 머신러닝 파트로 들어감
- 분류와 회귀의 기본적인 원리를 배움
- 태블로는 편리하지만, 대시보드를 만든다면
Streamlit
을 더 자주 사용할꺼 같음..- 태블로가 편리하긴하지만, 코드로 작성하는게 더 이해가 잘된다랄까..
- TDD 프로그래밍에 대해 배웠는데 많은 도움이 됨
Comments powered by Disqus.