표준 스케일링
표준 스케일링은 수치형 특성의 평균을 0, 분산을 1로 변환해요. 이 연습 문제에서는 sklearn의 StandardScaler()를 사용해 표준 스케일링을 수행해 보겠습니다. 먼저 수치형 열을 필터링하고, 열에 대한 사전 지식을 더해 스케일링을 적용할 관련 열만 선택할 거예요. 이 필터링은 정규식을 사용하여 부분 문자열 일치를 허용하도록 미리 제공되어 있어요. 그런 다음 fit_transform()을 사용해 선택한 열을 변환합니다.
작업 공간에서 pandas 모듈은 pd로, 샘플 DataFrame은 df로 로드되어 있어요. 또한 hour 열은 이미 datetime으로 변환되어 있으며, sklearn.preprocessing의 StandardScaler도 사용할 수 있어요.
이 연습은 강의의 일부입니다
Python으로 Machine Learning을 활용한 CTR 예측
연습 안내
- 수치형 열을 선택하고, 제공된
filter_cols를.select_dtypes()로 필터링하세요. - 먼저
StandardScaler()를 생성한 뒤.fit_transform()을 사용해 관련 열에 표준 스케일링을 적용하세요. - 새로 변환된 열들의 분산을
.var()로 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____
# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])
# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)