Home Project

Data Analyst's Home Project

머신러닝 4

교차검증 (cross-validation)

scikit-learn의 train_test_split()함수를 사용하여 데이터를 훈련 세트와 테스트 세트로 한 번 나누는 것보다 더 성능이 좋은 평가방법은 교차검증."Cross Validation" 이다. K-겹 교차검증에서 K에는 5 or 10과 같은 특정 숫자가 들어가며 데이터를 비슷한 크기의 집합 'K개'로 나눈다. 이를 폴드(fold)라고 한다. (1) 단순 교차검증 cross_val_score k=5일 때, 즉 데이터를 5개의 부분 집합으로 분할한 후, 각 분할마다 하나의 폴드를 테스트용으로 사용하고 나머지 4개의 폴드는 훈련용으로 쓴다. 이 과정을 반복하여 각 분할마다 정확도를 측정한다. 사이킷런에서는 교차검증을 위해 cross_val-score 함수를 제공한다. 사이킷런의 iris 데이터로..

feature engineering 특성공학(원핫인코딩, get_dummies, RFE)

데이터의 종류에는 연속형 특성, 범주형 특성, 이산형 특성이 있다. 연속형 특성의 예로는 주가변동, 몸무게 변화 등이 있고, 범주형 특성의 예로는 성별, 인종, 혈액형 등이 있다. 범주형 특성 간은 연속된 값으로 나타나지는 않는다. 흑인과 동양인 사이에는 중간값이 없고 이 카테고리들 사이에는 순서가 없다. 특정 애플리케이션에 가장 적합한 데이터 표현을 찾는 것을 feature engineering이라고 한다. 타이타닉 데이터셋을 예로 들겠다. 1. 범주형 변수 (Categorical features)연속형 feature : age, 범주형 feature : Pclass, Name, Sex, Embarked (1) 원 핫 인코딩 (가변수) 가변수는 범주형 변수를 0 또는 1 값을 가지는 새로운 featur..

데이터 스케일링 (Data Scaling)

데이터 스케일링이란 데이터 전처리 과정의 하나입니다.데이터 스케일링을 해주는 이유는 데이터의 값이 너무 크거나 혹은 작은 경우에 모델 알고리즘 학습과정에서 0으로 수렴하거나 무한으로 발산해버릴 수 있기 때문입니다.따라서, scaling은 데이터 전처리 과정에서 굉장히 중요한 과정입니다.가볍게 살펴보도록 하겠습니다. 1. What is Scaler? (1) StandardScaler각 feature의 평균을 0, 분산을 1로 변경합니다. 모든 특성들이 같은 스케일을 갖게 됩니다. (2) RobustScaler모든 특성들이 같은 크기를 갖는다는 점에서 StandardScaler와 비슷하지만, 평균과 분산 대신 median과 quartile을 사용합니다. RobustScaler는 이상치에 영향을 받지 않습니다..