Home 멋쟁이 사자처럼 AI Shcool 7주차
Post
Cancel

멋쟁이 사자처럼 AI Shcool 7주차

6월 13일

  • 미드 프로젝트 발표
    • 다른 조들도 너무 잘함..
    • 다양한 대시보드 형식들을 봤음
  • Streamlit 실습
  • ML 파트 시작
  • 정형 데이터에서는 ML, 비정형 데이터에서는 DL이 일반적으로 성능이 좋음
  • 다양한 툴에 대한 소개
  • 사이킷런(sklearn) 대표적인 머신러닝 툴
    • 예측 데이터 분석
    • 딥러닝 등 강화학습을 지원하지 않음
  • 학습 종류 img
  • 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 프로그래밍에 대해 배웠는데 많은 도움이 됨
This post is licensed under CC BY 4.0 by the author.

Pima Indian 데이터를 이용한 결정 트리 회귀

Pima Indian 데이터를 이용한 하이퍼파라미터 튜닝

Comments powered by Disqus.