분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
Python 튜토리얼
Lv3 전처리 3/4 python 파이썬 수치형 데이터 정규화
이번 시간에는 “수치형 데이터 정규화”에 대해서 진행합니다.
의사결정 나무나, 랜덤포레스트 같은 “트리 기반의 모델”들은 대소 비교를 통해서 구분하기 때문에, 숫자의 단위에 크게 영향을 받지 않습니다.
하지만 Logistic Regression, Lasso 등과 같은 “평활 함수 모델”들은 숫자의 크기와 단위에 영향을 많이 받습니다.
따라서 우리는, 수치형 데이터 정규화를 통해 모든 모델에 잘 어울리는 데이터를 만들어주고자 합니다.
다양한 수치형 데이터 정규화 방법 중에서, "Min Max Scailing"기법은 상당히 간단합니다.
가장 작은 값은 0으로, 가장 큰 값은 1로 만들어주는 방법입니다.
그리고 그 사이의 값들은 비율에 따라서 0~1 사이에 분포하게 됩니다.
이제 실습을 해봅시다.
-------------------------------------------------------------------------------------------------------------------------
# describe를 통해 "fixed acidity"의 데이터의 분포가 어떻게 생겼는지 짐작해 보세요
train.describe()
# seaborn의 displot을 통해 "fixed acidity"의 distplot을 그려 봅시다.
sns.distplot(train['fixed acidity'])
# MinMaxScaler를 "scaler"라는 변수에 지정해 봅시다.
scaler = MinMaxScaler()
# "scaler"를 학습시켜주세요
scaler.fit(train[['fixed acidity']])
# "scaler"를 통해 train의 "fixed acidity"를 바꾸어 "Scaled fixed acidity"라는 column에 저장해주세요
train['Scaled fixed acidity'] = scaler.transform(train[['fixed acidity']])
# seaborn의 displot을 통해 "Scaled fixed acidity"의 distplot을 그려보세요
sns.distplot(train['Scaled fixed acidity'])
-------------------------------------------------------------------------------------------------------------------------
하지만, 오늘 다루었던 Min Max Scaling은 "이상치"에 민감합니다.
상대적으로 굉장히 큰 값이나, 작은 값을 1이나 0으로 만들기 때문에 문제가 발생할수도 있습니다.
이상치를 처리하는 방법은 이전 시간에 배웠으니, 직접 이상치가 있는 데이터는 제거하고 그림을 그려보는 실습도 해보세요 :)
↩️ 오늘의 파이썬 리스트
#데이콘_101 #AI #머신러닝 #딥러닝 #파이썬 #파이선 #데이터분석 #데이터사이언티스트 #코랩 #Python #colab #kaggle #pandas #numpy #sckit-learn # read_csv #스케일링 #MinMaxScailing
done
✅
✅
✅
✅
✅
done
✅
✅
✅
✅
✅
✅
done
done
done
done
✅
done
✅
✅
✅
✅
✅
✅
# "scaler"를 학습시켜주세요
scaler.fit(train[['fixed acidity']])
여기서 대괄호가 두번들어가는 이유는 무엇인가요??
Series type을 DataFrame으로 변경해서 스케일링 해야 하기 때문입니다.
✅
done
✅
✅
✅
✅
done
done
done
done
✅
✅
done+
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
done