이것저것 담는 블로그

머신러닝 시그니처 프로젝트 1 본문

IT/Machine Learning

머신러닝 시그니처 프로젝트 1

버즈와우디 2024. 10. 20. 00:11

* 현업에서 많이 있는 문제들과 해결법

[Forecast]

시계열 deepAR

타겟변수와 상관관계가 높은 변수를 활용

 

[Recommendation]

나랑 비슷한 취향의 사람을 찾아주는 것 Collaborative Filtering 기업에서 많이 사용함

비슷한 컨텐츠는 Content based Filtering

현실은 희소성 문제 때문에 알고리즘 적용이 어려움

-> Matrix Factorization, Factorization Machine이 대표적으로 시도되는 방법

 

[Anomaly Detection]

Outlier detection, Out of Distribution, One class classficiation

 

[Image processing]

1 Classficiaton 2 Localization 3 Object Detection 4 Instance Segmentation

 

[NLP]

자주 묻는 질문 자동 응대 

 

* Data Cleansing

[Missing Value]

Missing value 많으면 의미가 있는지, drop 하기

독립변수간 상관관계 높은 경우는 다중공선성을 의심해보자

 

[Class Imbalance]

class imbalance를 체크해서 비율이 0.9 이상인 경우 샘플링 고려

실제 데이터는 대부분 imbalance하기 때문에 imbalance 데이터를 drop하는 것 보다 밸런스를 맞출수있는 방법을 상요하는 경우가 많음

한쪽을 줄이거나 한쪽을 늘리는 방법보다는 실제 데이터 분포를 유지하면서 데이터의 밸런스를 맞출 수 있는 적용해야함

 

*Feature Engineering

[인코딩]

label encoding, one-hot encoding

[이산화]

연속형 변수는 왜도가 높거나 정규분포 아님

변수에 결측치가 없어야하며 bin을 잘 설정해서 나눠야함

|왜도|<1 인 경우 equal width binning (동일너비분할) 활용하고

|왜도|>1 인 경우 equal frequency binning (동일빈도분할) 활용한다

[Scaling]

MinMaxScaler, MaxABS Scaler, Standard Scaler, Robust Scaler

[변환]

Linear Regression, Gaussian Naive Bayes와 같은 ML알고리즘은 연속형 변수에 대해 정규 분포를 가정하는 경우가 많음

정규분포가 아닌 변수들을 Power Transforming을 사용하여 정규분포 또는 정규분포에 가까운 데이터로 변환ㄱ ㅏ능

변수에 0과 음수가 없는 경우 -> Box Cox Transforming

변수에 0과 음수가 포함된 경우 -> YeoJohnson Transforming 사용

[Extraction]

시계열 데이터에서 특징 변수 추출

->날짜형 데이터에서 년월일 요일 주말여부 휴일여부 등을 추출

구간별 평균, 합계, 기울기 구하기

-> 7일간 평균, 합계, 기울기 추출을 통한 feature trend를 학습데이터에 추가함

 

*Feature Selection

[상관분석]

pearson correlaction(공분산), spearman correlation(xy 순위좌표 활용 이상치에 덜 민감)

[Linear Model]

linear model을 활용하여 feature selection은 p-value가 일정 수준보다 작아질때까지 p value가 큰 변수를 제거함

p value는 x,y값이 우연히 발생할 확률을 의미하며 낮은 값일 수록 우연일 확률 낮음

모든 x에 대해 p value를 계산하고 각 스텝마다 pvalue가 가장 높은 x를 제거함 (반복)

[Feature Importance]

Permutation Importance, SHAP적용

 

*Data Sampling

Under sampling, Over sampling, Combination

 

*Regression

Polynomial Regression

 

*Classification

SVM

 

*Clustering

Hierarchical clustering

 

* Train Validation Test

Test를 전체의 30-50%??

 

*Cross Validation

4-fold cross validation

 

*Model Metric