Python 튜토리얼

Lv3 전처리 컴퓨터가 더 잘 이해할 수 있게 만들어주기 Review

2021.07.25 10:04 2,996 조회

이번 시간 "Lv3 전처리 컴퓨터가 더 잘 이해할 수 있게 만들어주기 Review" 에서는,

MinMaxScailing과 OneHotEncoding을 복습하겠습니다.


===========================================================================================

Lv3 전처리 3/4 수치형 데이터 정규화 => Min Max Scailing

평활 함수 모델”들은 숫자의 크기와 단위에 영향을 많이 받습니다.

따라서, 모든 피쳐들 사이의 영향력을 비슷하게 조절하기 위해서, 숫자의 크기와 단위를 비슷하게 조정하는게 중요합니다.

그 방법 중 하나가 "MinMaxScailing"입니다.


가장 작은 값은 0으로, 가장 큰 값은 1로 만들어주는 방법입니다.

그리고 그 사이의 값들은 비율에 따라서 0~1 사이에 분포하게 됩니다.


실습 코드는 다음과 같습니다.

-----------------------------------------

# 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']])

===========================================================================================

Lv3 전처리 4/4 원-핫 인코딩 => One Hot Encoding

컴퓨터는 “문자”로 된 데이터를 학습할 수 없습니다.

그래서 “type”같은 피쳐들은 컴퓨터가 읽어서 학습 할 수 있도록 “인코딩”을 해주어야 합니다.


그 중 One-Hot Encoding은 자신에게 맞는 것은 1로, 나머지는 0으로 바꾸어 줍니다.


실습 코드는 다음과 같습니다.

-----------------------------------------

# "OneHotEncoder"를 "encoder"라는 변수에 저장해보세요


encoder = OneHotEncoder()


# "encoder"를 사용해 train의 "type" 피쳐를 학습시켜보세요


encoder.fit(train[['type']])


# "encoder"를 사용해 train의 "type"피쳐를 변환해 "onehot"이라는 변수에 저장해보세요

onehot = encoder.transform(train[['type']])


# "onehot"이라는 변수를 array 형태로 변환해 보세요


onehot = onehot.toarray()


# "onehot"이라는 변수를 DataFrame 형태로 변환해 보세요


onehot = pd.DataFrame(onehot)


# encoder의 "get_feature_names()"를 사용해 column 이름을 바꿔보세요

onehot.columns = encoder.get_feature_names()


# onehot을 원본데이터인 train에 병합시켜보세요


onehot = pd.concat([train, onehot], axis = 1)


# train의 "type" 변수를 제거해주세요

train = train.drop(columns = ['type'])

-----------------------------------------------------------------------------------------------------------------------------------------



[Colab 실습 링크]


↩️ 오늘의 파이썬 리스트

#데이콘_101 #AI #머신러닝 #딥러닝 #파이썬 #파이선 #데이터분석 #데이터사이언티스트 #코랩 #Python #colab #kaggle #pandas #numpy #sckit-learn # read_csv #DataScailing #MinMaxScailing #OneHotEncoding #인코딩