728x90
반응형

Intermediate Machine Learning 7

[Kaggle Course] How to prevent "Data Leakage"

Introduction Data leakage (or leakage)는 training data에 target에 대한 정보가 포함되어 있음에도, 비슷한 데이터에서 예측하지 못할 때 발생합니다. 즉, leakage는 model로 decision(결정)을 내리기 시작할 때까지는 정확해보이지만 이후에는 model이 매우 부정확한 값을 산출하게 합니다. leakage에는 두 종류가 있습니다. Type 1) Target Leakage 예측 시에 사용할 수 없는 data가 포함된 상태에서 예측을 할 때 발생 그러니 데이터를 이용할 수 있는 타이밍이나 정방향 순서대로(chronological order)의 관점에서 생각해봐야 함 위의 표로 pneumonia에 걸릴 사람이 누군인지 예측해봅시다. 사람들은 회복을 위해 ..

[Kaggle Course] XGBoost (gradient boosting) + Ensemble method

Introduction 지금까지 random forest model로 예측했지요. 그 model은 single decision tree보다는 훨씬 나은 성능을 보여줍니다. 수많은 decision tree에 대해서 예측을 한 뒤 평균을 계산하니깐요. random forest같은 방법을 "ensemble method"라고 부릅니다. Ensemble methods는 몇 개의 모델들에 대한 예측을 결합하는 것입니다. random forest의 경우 여러 tree를 사용하여 예측한 뒤 결합했으니 이에 포함되는 것입니다. 이제 우리는 또다른 ensemble method를 배워볼 것입니다. 바로 gradient boosting. Gradient Boosting 반복적으로 모델을 ensemble에 더하는 cycles을..

[Kaggle Course] Cross-Validation(교차검증)

Introduction 지금까지 validation(검증)(or holdout) data set을 사용하여 model을 quality(품질)을 측정했습니다. 그러나 이같은 접근 방식에는 몇가지 단점이 존재합니다. 예로 5000개의 행(row)가 있는 data set이 있다고 가정해봅시다. 일반적으로 데이터의 약 20%을, 또는 1000개의 행을 validation data set으로 둡니다. 이는 모델의 점수(MAE가 낮은지 확인하기)를 결정할 때 운이 따릅니다.(it leaves some random chance) 즉, 모델이 1000개의 행 중 한 집합에서 잘 수행될 수 있지만 다른 1000개의 행에서는 정확하지 않을 수 있죠. 극단적인 경우를 가정한다면, validation set에 데이터가 오로지..

[Kaggle Course] Pipelines + How to make and submit CSV in Kaggle

Pipeline 데이터 전처리 과정 중 거치는 단계. missing values를 가진 column과 categorical data를 동시에 가지고 있는 data를 쉽게 다룰 수 있음. Pipeline의 장점 1. Cleaner Code 전처리의 각 단계에서 data를 매번 수정하기엔 복잡할 수 있음. pipeline이 있으면, 하나하나 train data와 valid data의 각 과정마다 data 전처리를 따로 해주지 않아도 됨 2. Fewer Bugs 전처리 과정 중 한 단계를 깜박하고 skip하거나 잘못 적용할 경우가 줄어듬 3. Easier to Productionize 한 모델을 prototype에서 완벽한 모델로 바꾸는 게 실제로 어려움. 그런 어려움을 여기서 다 다루진 못해도 pipelin..

[Kaggle Course] Categorical Variables

Categorical Variables란? 설문조사의 항목처럼 제한된 가짓수로 선택지를 숫자로 대체 표현가능한 변수. 변수에 대해 범주를 만들어 그 안에 포함시켜 분류하기 위해. 예로, survey에서 "never"==0, "rarely"==1, "most days"==2, "every day"==3, 이렇게 표현 가능 Categorical Variables를 다루는 3가지 방법 1. Drop Categorical Variables (the easiest way) 이 방법은 해당 column들이 유용하지 않은 정보를 포함할 때만 쓸모있음. 2. Label Encoding 각각 다른 정수를 부여하여 구별시키기 위의 예의 경우 never부터 every day 항목까지 순차적으로 정렬할 수 있음. 순위를 부여..

[Kaggle Course] Missing Values

missing values의 예시 1. 세번째 침대가 들어갈 공간이 부족한 두 침대로 꽉찬 방 2. 설문조사는 아마도 응답자의 소득을 알 수 없음. Missing Values를 다루는 세가지 방법 1. A Simple Option: Drop Columns with Missing Values missing values가 있는 column을 삭제한다. 대부분의 column이 missing value를 포함하지 않는다면 괜찮음. 100개 중 1개 정도라면 정확도에 크게 영향을 미치지 않음. !! 꼭 X_valid 데이터에서도 drop 해야 함 !! # Get names of columns with missing values cols_with_missing = [col for col in X_train.colu..

[Kaggle Course] Introduction

Learn to handle missing values, non-numeric values, data leakage and more. Your models will be more accurate and useful you will accelerate your machine learning expertise by learning how to: tackle data types often found in real-world datasets (missing values, categorical variables), design pipelines to improve the quality of your machine learning code, use advanced techniques for model validat..

728x90
반응형