[CodesSates] AI 부트캠프 27

Object Oriented Programming

OOP(객체지향 프로그래밍) - 세상에 있는 실체를 컴퓨터에게 인식 시키기 위해 물체를 클래스, 인스턴스, 함수, 변수 라는 object로 변화시키서 프로그래밈을 구성하는 방법론 - 기능(함수,뱐수)이 재사용이 가능 하도록 설계 - 클래스 : 속성(인스턴스)과 행위(메소드)를 가지고 설계 - 객체 : 클래스에서 정의한 속성, 행위를 수행 class Player(): def hitter(self): return 'hitter 메서드' def picher(self): return 'picher 메서드' # hitter, picher 메서드는 Player 클래스의 행동을 정의 trout = Player() trout.hitter() # trout라는 객체 생성 후 hitter 메서드 사용 상속(Inherita..

정규 표현식

정규 표현식 - 참고블로그 https://hamait.tistory.com/342 정규표현식 (Regex) 정리 정규표현식은 아주 가끔 쓰기때문에 항상 다시 볼때마다 헥깔리곤 하는데.. 주요 사용예를 정리하여 보았다. 나중에 찾아보기 편하라고~ 정규 표현식의 용어들 정규 표현식에서 사용되는 기호 hamait.tistory.com re 모듈 - match(패턴,문자열) : 문자열처음 부터 시작해서 작성한 패턴이 일치하는지 확인 - findall(패턴, 문자열): 문자열 안에 패턴에 맞는 경우를 모두 찾아 '리스트' 형태로 반환 - sub(패턴, 교체문자, 문자열, 최대교체수) : replace와 유사 - escape(패턴) : 특수문자들에 이스케이프(백슬래쉬) 처리를 한 후 반환

Docker

Docker 학습목표 Docker Hub에서 Docker Image 를 검색한 뒤 사용할 수 있다. 한 개의 Docker Image를 이용해서 Container 를 구축할 수 있다. 두 개 이상의 Docker Container를 이용해서 Container 를 구축할 수 있다. Docker LifeCycle 을 통해 오늘 배우지 않은 부분이 무엇인지를 알 수 있다. Docker - 어플리케이션 실행 환경을 코드로 작성할 수 있고 OS를 격리화하여 관리하는 기술 - Docker Docs 공식 문서가 상당히 자세하고 친절하게 잘 되있으니 자주 참고 (docs.docker.com/engine/reference/commandline/container_run/) # 레지스트리에서 이미지 혹은 레포지토리 가져오기(p..

개발환경

개발환경 학습 목표 터미널 등 CLI 를 접근하고 사용할 수 있다. 파이썬 가상환경을 만들고 사용할 수 있다. 파이썬 가상환경이 왜 필요한지 설명할 수 있다. 깃에 대한 설명을 할 수 있다. 깃을 사용해 프로젝트 관리를 할 수 있다. 깃헙과 같은 사이트를 통해 깃 레포 관리를 할 수 있다. 가상환경 구축 - 개발 당시에 작업했던 환경을 구현해서 발생할 수 있는 다양한 문제를 예방하기 위해 사용 # 가상환경 목록 확인 conda env list # 새로운 환경 생성 conda create --name 'text' # 가상환경 실행 및 종료 conda activate 'text' conda deactivate 'text' Git - 로컬 작업에서 주로 사용되는 명령어 git status git init gi..

Interpreting ML Model

nterpreting ML Model - pdp https://exupery-1.tistory.com/191 뭣이 중헌디! 특성의 중요도 뭣이 중헌디 ! 특성의 중요도 Feature Importance, Permutation Importance, PDP, SHAP 단일 모델일 때는 상대적으로 모델이 왜 이러한 결과를 내었는가 알기 어렵지 않았습니다. Tree 모델에서는 Feature가 얼마.. exupery-1.tistory.com - shap todayisbetterthanyesterday.tistory.com/57 [Python] 중요변수를 추출하기 위한 방법 - Shap Value 구현 *아래 학습은 Fastcampus의 "머신러닝 A-Z까지"라는 인터넷 강의에서 실습한 내용을 복습하며 학습과정을 ..

Feature Importances

Feature Importances Feature Importances(MDI) - 각 특성을 모든 트리에 대해 평균불순도감소(MDI)를 계산한 값 # Feature Importances example rf = pipe.named_steps['randomforestclassifier'] importances = pd.Series(rf.feature_importances_, X_train.columns) import matplotlib.pyplot as plt n = 20 plt.figure(figsize=(10,n/2)) plt.title(f'Top {n} features') importances.sort_values()[-n:].plot.barh(); Permutation importance(순열중요도..

Choose Your ML Problems

Choose Your ML Problems Data Scientist process 1. 비즈니스 문제 - 실무자들과 대화 통해 문제 발견 2. 데이터 문제 - 문제와 관련된 데이터 발견 3. 데이터 문제 해결 - 데이터 처리, 시각화 - 머신러닝/통계 4. 비즈니스 문제 해결 - 데이터 문제 해결 통해 실무자들과 함께 비즈니스 문제 해결 정보 누수 - 분류 문제에서 target 비율이 70%이상 차이 날 경우 불균형 - > 정밀도, 재현율, RIC curve, AUC 같이 사용 # classification_report()로 확인 가능 from sklearn.metrics import classification_report y_pred = pipe.predict(X_val) print(classific..

Model Selection

Model Selection 교차 검증 (Cross-validation) - 데이터 셋이 부족할 때도 사용가능 / k개의 성능 결과를 통합하여 결과를 도출하기 때문에, 일반화된 모델 성능 평가 가능 (시계열 데이터에는 적합하지 않음) - 최적화 : 훈련 데이터로 더 좋은 성능을 얻기 위해 모델을 조정하는 과정 - 일반화 : 학습된 모델이 처음 본 데이터에서 얼마나 좋은 성능을 낼수있는가 Randomized Search CV - 검증하려는 하이퍼 파라미터들의 값 범위를 지정해주면 무작위로 값을 지정해 그 조합을 검증 # Randomized Search CV 예시 from scipy.stats import randint, uniform pipe = make_pipeline( TargetEncoder(), S..

Evaluation Metrics for Classification

Evaluation Metrics for Classification Confusion matrix from sklearn.metrics import plot_confusion_matrix import matplotlib.pyplot as plt fig, ax = plt.subplots() pcm = plot_confusion_matrix(pipe, X_val, y_val, cmap=plt.cm.Blues, ax=ax); # 메트릭스 확인 pcm.confusion_matrix 정확도(Accuracy)는 전체 범주를 모두 바르게 맞춘 경우를 전체 수로 나눈 값입니다: TP+TN / Total 정밀도(Precision)는 Positive로 예측한 경우 중 올바르게 Positive를 맞춘 비율입니다: TP / ..

Random Forests

Random Forests Random Forests - 앙상블 : 한 종류의 데이터로 여러 머신러닝 학습모델(weak base learner, 기본모델)을 만들어 그 모델들의 예측결과를 다수결이나 평균을 내어 예측하는 방법 / 랜덤포레스트는 결정트리를 기본모델로 사용하는 앙상블 방법 - 배깅 : bootstrap aggregating의 줄임말, 샘플을 여러 번 뽑아(Bootstrap) 각 모델을 학습시켜 결과물을 집계(Aggregration)하는 방법 / 회귀문제일 경우 기본모델 결과들의 평균, 분류문제일 경우 다수결로 가장 많은 모델들이 선택한 범주로 예측 Ordinal Ecnoding from category_encoders import OrdinalEncoder # 트리구조에서는 중요한 특성이 상..