본문 바로가기
python

sklearn.preprocessing pickle, joblib 함수 - Scaler 저장 함수

by jinny-log 2025. 4. 14.

 

MinMaxScaler를 상용 코드 환경에서 불러와서 적용하려면 scikit-learn의 joblib 또는 pickle을 사용하여 모델을 저장하고 불러올 수 있습니다. 

 

1. MinMaxScaler를 저장하는 방법

from sklearn.preprocessing import MinMaxScaler
import joblib

# 예시 데이터
data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

# MinMaxScaler 초기화 및 학습
scaler = MinMaxScaler()
scaler.fit(data)

# scaler 객체 저장
joblib.dump(scaler, 'scaler_model.pkl')

 

2. 저장된 MinMaxScaler를 불러와서 적용하는 방법

import joblib

# 저장된 scaler 불러오기
scaler = joblib.load('scaler_model.pkl')

# 새로운 데이터에 적용
new_data = [[10, 11, 12]]
scaled_data = scaler.transform(new_data)

print(scaled_data)

 

3. pickle을 사용한 저장 및 불러오기

joblib 외에도 pickle을 사용할 수 있습니다.

둘 다 비슷한 방식으로 동작하지만, joblib은 대용량 객체를 저장하는 데 더 효율적입니다.

저장

import pickle

# MinMaxScaler 학습
scaler = MinMaxScaler()
scaler.fit(data)

# scaler 객체를 pickle로 저장
with open('scaler_model.pkl', 'wb') as f:
    pickle.dump(scaler, f)

불러오기

import pickle

# pickle로 저장된 scaler 불러오기
with open('scaler_model.pkl', 'rb') as f:
    scaler = pickle.load(f)

# 새로운 데이터에 적용
scaled_data = scaler.transform(new_data)
print(scaled_data)

이 방법을 통해 학습된 MinMaxScaler를 나중에 불러와서 상용 코드 환경에서 사용할 수 있습니다.