해결된 질문
작성
·
36
·
수정됨
0
해당 예시 문제를 밑의 식으로 풀이를 해보았는데,
import pandas as pd
df = pd.read_csv('mtcars.csv')
from sklearn.preprocessing import minmax_scale
print('변환 전 :',df['qsec'].head())
df['qsec'] = minmax_scale(df['qsec'])
print('변환 후 :', df['qsec'].head())
cond = df['qsec'] >0.5
sum(cond)
제가 알기로 스케일링 할 수 있는게 min-max, standard,robust 이렇게 3가지가 있는데, 만약 minmax가 아닌 standard,robust를 이용하게 된다면 코드를 어떻게 작성을 해야할까요?
답변 1
1
# StandardScaler#
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df['qsec'] = scaler.fit_transform(df[['qsec']]) # fit_transform 사용
# RobustScaler
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
df['qsec'] = scaler.fit_transform(df[['qsec']]) # fit_transform 사용
작성이의 민맥스 함수도 맞지만 작업형1에만 쓸 수 있고 작업형2에서는 쓰기 어렵습니다.
작업형2를 고려한다면 아래와 같이 사용할 수 있어요
#MinMaxScaler
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df['qsec'] = scaler.fit_transform(df[['qsec']]) # fit_transform 사용