[ML] kNN Classifier (k-Nearest Neighbors Classifier)
·
Programming/ML
k-Nearest Neighbors (kNN) Classifier는 Supervised Learning에 기반한 non-parametric(비모수) 및 instance-based Algorithm. 이는 Label 이 지정된 data와의 distance를 이용하여 새로운 data point가 어느 class에 속하는지 예측하는 방식. 1. 기본 아이디어: 새로운 데이터가 주어졌을 때,해당 데이터와 가장 가까운 k개의 이웃 데이터 포인트 (Nearest Neighbors)를 찾고,이웃들의 Majority Voting(=hard voting) 또는 거리로 가중치를 둔 Soft Voting에 의해 새로운 데이터의 클래스를 결정.k 값은 사용자가 지정하는 hyper-parameter이며작은 k값은 과적합(ove..
[ML] Imputation
·
Programming/ML
Data Science와 ML에서 "impute"는누락된 데이터(missing data)를 대체값으로 채우는 과정을 의미이는 '대체', '귀속', 또는 '채워넣기'로 번역될 수 있음.Dataset을 다룰 때,누락된 데이터가 있는 전체 행이나 열을 제거하는 대신,imputation은 다른 가용한 features 나 선행정보(prior)를 바탕으로 missing values를 추정하여 채워넣는 방법.Imputation에서는 Training set 만을 사용하여 채워넣을 값을 구함. 주요 imputation은 다음과 같음:mean/median imputation:해당 특성의 mean이나 median으로 missing values을 대체mode(최빈값) imputation:가장 빈번한 값을 사용하여 누락된 데이..
[ML] scikit-learn: FunctionTransformer
·
Programming/ML
사용자가 정의한 함수를 파이프라인에서 변환기(transformer)로 사용할 수 있게 해주는 유용한 Class.전처리나 특정 데이터 변환 작업이 필요할 때,이를 FunctionTransformer로 간편하게 적용할 수 있습니다.이를 통해, fit가 필요하지 않은 사용자 정의 변환을 손쉽게 Scikit-learn의 Pipeline에 포함시켜 다양한 데이터를 처리할 수 있음Signatureclass sklearn.preprocessing.FunctionTransformer( func=None, inverse_func=None, *, validate=False, accept_sparse=False, check_inverse=True, feature_names_out=Non..
[ML] scikit-learn: Pipeline 사용법
·
Programming/ML
Scikit-learn의 Pipeline은 여러 데이터 처리 과정을 하나로 묶어 효율적으로 실행할 수 있게 해주는 Class.(일반적인) Pipeline 이란?Pipeline은 일반적으로 (데이터) 처리 과정 또는 기계학습 등에서 “여러 단계(step or component)를 순차적으로 연결한 시스템” 을 가리킴. 일반적인 (데이터) Pipeline:여러 데이터 처리 컴포넌트(=step)의 연속된 sequence로 구성됨.각 component는 대량의 데이터를 가져와 처리하고 결과를 다음 단계로 전달.Pipeline을 구성하는 components는 주로 비동기적으로 실행되며, 각 단계는 독립적으로 작동하는 게 일반적임.Scikit-Learn의 Pipeline:여러 데이터 전처리 단계(step, comp..
[ML] scikit-learn: ColumnTransformer
·
Programming/ML
Scikit-learn에서는 다음의 class와 functions 를 통해, feature별로 다른 전처리를 쉽게 적용할 수 있음:ColumnTransformer,make_column_transformer(),make_column_selector() 사용법https://gist.github.com/dsaint31x/9c7984cd29b0fc3f7abcf7f82844cb73 ml_column_transformer.ipynbml_column_transformer.ipynb. GitHub Gist: instantly share code, notes, and snippets.gist.github.com 1. ColumnTransformerColumnTransformer 는여러 pre-processors를 col..
[ML] Minkowski Distance (L-p Norm)
·
Programming/ML
Minkowski 거리는L-p Norm의 한 형태두 개의 점 사이의 distance(거리)를 일반화한 metric.distance의 개념은 다음 접은 글을 참고:더보기https://dsaint31.me/mkdocs_site/DIP/cv2/etc/dip_metrics/#distance-function-or-metric BME228Metrics for Image Quality Image restoration의 경우, image degradation의 원인을 modeling하고 해당 model을 통해 ideal image에 가깝게 복원하는 것을 의미함. 주관적인 화질을 개선하는 image enhancement와 달리, image restodsaint31.meL-p Norm 정의:L-p Norm은 vector의..