본문 바로가기

Machine Learning36

사이킷런으로 시작하는 머신러닝 - 데이터 전처리(피처 스케일링)- 피처 스케일링 피처 스케일링(feature scaling)은 서로 다른 변수의 값에 대한 범위를 일정한 수준으로 맞추는 작업입니다. 대표적으로는 표준화(Standardization)와 정규화(Normalization)가 있습니다. ▶ 표준화: 데이터의 피처들 각가의 평균이 0이고 분산이 1인 가우시안 정규 분포를 가진 값으로 변환해주는 것입니다. ▶ 정규화: 서로 다른 피처들의 크기를 통일하기 위해 크기를 변화해주는 것입니다. 예를들어 A피처는 값이 0~100KM 거리를 나타내고 B피처는 0~100,000,000,00으로 금액을 나타낸다고 했을때 이 변수들을 동일한 크기의 단위로 값을 최소 0~ 최대 1의 값으로 변환한다고 생각하면 됩니다. 사이킷런에서 제공해 주는 대표적인 피처 스케일링 클래스인 Sta.. 2020. 4. 10.
사이킷런으로 시작하는 머신러닝 - 데이터 전처리(데이터 인코딩)- 데이터 전처리 - 사이킷런의 ML 알고리즘을 적용하기 전에 데이터에 대해 미리 처리해야 될 부분들이 있습니다. 결손값, 즉 NAN, NULL값은 다른 값으로 변환해야 합니다. NULL값은 어떻게 처리해야 하는지는 데이터에 따라 달라지게 됩니다. 예를들어 NULL값이 얼마 되지 않는다면 피처의 평균값으로 간단히 대체를 할 수 있습니다. 하지만 만약 NULL 값이 대부분을 차지한다면 NULL 값을 버리는 것이 더 좋습니다. 따라서 NULL값을 처리할때는 데이터를 상세하게 검토하고 고민하여 어떠한 값으로 대체할지 잘 선정을 해주어야 합니다. 문자열 값은 숫자형으로 변환해주어야 합니다. 사이킷런의 ML 알고리즘은 문자열 값을 입력 값으로 지원하지 않습니다. 그래서 문자열 값들은 인코딩 과정을 거쳐 숫자형으로 변.. 2020. 4. 10.
사이킷런으로 시작하는 머신러닝 - Model Selection 모듈(2)- 2-2 Stratified K 폴드 - Stratified K 폴드는 원본 데이터의 레이블 분포를 먼저 고려한 뒤 이 분포와 동일하게 학습과 검증 데이터 세트를 분해하여 줍니다. Stratified K 폴드는 불균형한 분포를 가진 레이블들을 위한 방식입니다. 불균형한 분포: 특정 레이블 값이 특이하게 많거나 매우 적어서 값의 분포가 한쪽으로 치우치는 것을 말한다. 먼저 붓꽃 데이터의 레이블 값들의 분포도를 확인해 보도록 하겠습니다. In import pandas as pd iris=load_iris() iris_df=pd.DataFrame(data=iris_data,columns=iris.feature_names) iris_df['label']=iris.target iris_df['label'].valu.. 2020. 4. 9.
사이킷런으로 시작하는 머신러닝 - Model Selection 모듈(1)- 파이썬 머신러닝 완벽 가이드: 다양한 캐글 예제와 함께 기초 알고리즘부터 최신 기법까지 배우는/권철민 지음을 참고하여 공부하고 정리하는 스터디 포스팅입니다. Model Selection 모듈 사이킷런의 model_selection 모듈은 학습 데이터와 테스트 데이터를 분리하거나 교차 검증, 그리고 Estimator의 하이퍼 파라미터를 튜닝하기 위해서 다양한 함수와 클래스를 제공해 줍니다. 먼저 전체 데이터를 학습 데이터와 테스트 데이터로 분리해주는 train_test_split()부터 살펴보겠습니다. 1. 학습/테스트 데이터 세트 분리하기 - train_test_split() 테스트 데이터를 사용하지 않고 학습 데이터만 학습하고 예측하면 어떠한 일이 벌어지는지 살펴보겠습니다. In from sklearn.. 2020. 4. 9.