2023년 4월 동안 검색하고 공부한 것들을 정리한 내용입니다. Summary pd.DataFrame에서 특정 변수에 대한 조건을 이용해 검색할 때, index를 활용하면 속도가 빠름. pd.date_range() : 시작 시간에서 지정한 개수 또는 주기에 대한 DatetimeIndex 출력. pd.DataFrame.shift() : i...
sklearn pipeline - Pipeline() & make_pipeline()
sklearn에서 전처리 과정을 파이프라인으로 정의하는 방법인 Pipeline과 make_pipeline 함수에 대해 공통점과 차이점에 대해서 알아보겠습니다. TL;DR Pipeline과 make_pipeline을 이용해 transform의 파이프라인을 정의할 수 있음. Pipeline: 각 transform의 이름을 직접 정의해줘야 함. ...
File format - pickle, parquet
csv 이외에 (파이썬에서) 사용할 수 있는 데이터 저장 방식 중 2가지, pickle과 parquet에 대해서 간략하게 알아보겠습니다. TL;DR pickle: 바이트 기반 python object 저장 방식. 읽기 속도 빠르지만 호환성 낮음. parquet: 컬럼 기반 저장 방식. subset 컬럼 옵션 이용 가능하고 호환성 높음. 추가...
23년 3월의 공부 - np.logical_or, list 조합, pd.offsets.MonthBegin
2023년 3월 동안 검색하고 공부한 것들을 정리한 내용입니다. Summary np.logical_or() : 2개의 array에 대한 논리합 계산. itertools.product() : iterable 객체의 cartesian product 계산, 2개 이상의 iterable 객체 가능. pd.offsets.MonthBegin(n) ...
Classification 예제 - part 2. Classification metrics
palmerpenguins 데이터로 Classfication 예제 코드를 작성합니다. 이번 파트에서는 구성한 파이프라인(logistic regression)에 대해 분류 문제에서 사용되는 평가 지표에 대해 자세히 알아봅니다. TL;DR multi-class 분류 문제의 경우, 평가 지표의 average 옵션을 활용할 수 있음. ...
Classification 예제 - part 1. Scaler, Encoder, Pipeline
palmerpenguins 데이터로 Classfication 예제 코드를 작성합니다. 이번 파트에서는 Scaler, Encoder를 설정하는 다양한 방법을 알아 보고, 파이프라인을 구성하는 부분까지 진행합니다. TL;DR Scaler와 Encoder 적용하는 방법 직접 정의 클래스 정의 - class ...
23년 2월의 공부 - datetime(날짜와 시간 다루기), pandas display options, 모델 이름 추출, directory 생성
2023년 2월 동안 검색하고 공부한 것들을 정리한 내용입니다. 1. datetime 참고자료 datetime 공식문서 datetime 공식문서 - strftime()과 strptime() 동작 datetime은 날짜와 시간을 다루는 파이썬의 기본 패키지입니다. 그 중 주로 사용하는 몇 가지 함수...
OneHotEncoder - infrequent categories 옵션
OneHotEncoder()는 ML모델에서 범주형(Categorical) 변수를 다룰 때 기본적으로 다루는 함수입니다. 주로 통계학에서 dummy 변수를 만드는 경우와 nominal(;element 간의 순서가 없는 경우)한 범주형 변수의 인코딩에 사용됩니다. 기본적인 함수인 만큼 이해하기 쉽고 단순하다는 장점이 있지만, Cardinality가 높은...
23년 1월의 공부 - code formatter(black), np.cov, yaml로 정보 관리하기
2023년 1월 동안 검색하고 공부한 것들을 정리한 내용입니다. 1. Black으로 코드 포맷팅하기 참고자료 black 공식문서 black 공식문서 - The Black code style Black은 파이썬의 여러 code-formatter 중 하나입니다. Code-formatter란 Pytho...
Model Drift
ML이나 DL 모델을 개발해 이용하면 시간이 지날수록 모델의 성능이 감소합니다. 모델 개발 시점의 우리는 훈련 데이터와 테스트 데이터의 분포가 같음을 가정하고 모델을 개발합니다. 하지만 시간이나 외부 환경이 점진적으로 또는 갑자기 변화하는 것은 매우 자연스러운 현상입니다. 이런 상황에서 데이터의 특성은 언제든 변할 수 있으며, 개발한 모델을 계속 사용...