공부/파이썬(데이터)

[파이썬 sklearn] 빅데이터분석기사 1유형 예시 코드 - minmax 스케일링

spine_sunbi 2023. 10. 14. 00:01
반응형

빅데이터분석기사 실기 시험을 위해 필요한 공부만 하고 정리도 할 겸 올리는 MinMaxScaler. 정확한 정보를 원하시면 공식 문서를 참고하는 게 좋습니다.

응시환경 체험하기 작업형 제1 ,2 유형을 기반으로 정리해 보았습니다.

https://www.dataq.or.kr/www/board/view.do?bbsKey=eyJiYnNhdHRyU2VxIjoxLCJiYnNTZXEiOjUwOTM0M30=&boardKind=notice

 

데이터자격시험

 

www.dataq.or.kr

# Min-Max Scale 방법 1
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
df = pd.read_csv('data/mtcars.csv', index_col=0)
# print(df.head())

# Min-Max Scale
scaler = MinMaxScaler()
df['qsec'] = scaler.fit_transform(df[['qsec']])

# 0.5보다 큰 값을 가지는 레코드 수 구하기
print(len(df[df['qsec'] > 0.5]))

df['qsec'] = scaler.fit_transform(df[['qsec']])

여기서 이 부분을 실수할 수 있습니다. df['qsec']로 실행하면 오류가 발생하는데, 데이터 프레임 형태를 parameter로 넘겨줘야 하기 때문입니다.

 

# Min-Max Scale 방법 2
import pandas as pd
from sklearn.preprocessing import minmax_scale
df = pd.read_csv('data/mtcars.csv', index_col=0)
# print(df.head())

# Min-Max Scale
df['qsec'] = minmax_scale(df['qsec'])

# 0.5보다 큰 값을 가지는 레코드 수 구하기
print(len(df[df['qsec'] > 0.5]))

Min-Max Scale 방법2도 있는데, MinMaxScaler 문서를 살펴보다 보면 나옵니다.

근데 다른 사람들이 많이 사용하지 않는것을 보면, 일단 방법 1을 사용하는 것을 추천드립니다.

df['qsec'] = minmax_scale(df['qsec'])

이 부분은 데이터프레임이 아니라, 시리즈 형태로 parameter에 작성해도 됩니다.

 

헷갈리는 부분이 있지만, 천천히 살펴보면 모두 합격하실 수 있을겁니다!

참고 : sklearn 공식 문서 (1.2.2 버전)