[파이썬][scikit-learn] scikit-learn에서 모델 저장과 로딩
scikit-learn은 파이썬에서 머신 러닝 모델을 개발하고 사용하는 데 매우 유용한 도구입니다. scikit-learn을 사용하여 학습한 모델을 저장하고 로딩하는 방법을 다루어보겠습니다.
모델 저장하기
학습한 모델을 저장하는 것은 향후 사용이나 배포를 위해 중요합니다. scikit-learn에서는 pickle
모듈을 사용하여 모델을 직렬화하고 저장할 수 있습니다. 아래는 모델을 저장하는 예제입니다.
import pickle
from sklearn import svm
# 모델을 학습합니다.
X_train = [[0, 0], [1, 1]]
y_train = [0, 1]
clf = svm.SVC()
clf.fit(X_train, y_train)
# 모델을 저장합니다.
with open('model.pickle', 'wb') as f:
pickle.dump(clf, f)
위 코드에서는 pickle.dump
함수를 사용하여 clf
라는 모델을 model.pickle
파일에 저장합니다. 이 파일은 나중에 모델을 로딩하여 사용할 수 있는 모델의 직렬화된 표현입니다.
모델 로딩하기
저장된 모델을 로딩하여 사용하는 것은 매우 간단합니다. 다음 코드는 저장된 모델을 로딩하는 예제입니다.
import pickle
# 모델을 로딩합니다.
with open('model.pickle', 'rb') as f:
clf = pickle.load(f)
# 로딩된 모델을 사용하여 예측을 수행합니다.
X_test = [[2, 2], [3, 3]]
predictions = clf.predict(X_test)
print(predictions)
위 코드에서는 pickle.load
함수를 사용하여 model.pickle
파일에서 모델을 로딩합니다. 로딩된 모델은 이후에 예측 등 모든 작업에 사용될 수 있습니다.
마무리
scikit-learn을 사용하여 학습한 모델을 저장하고 로딩하는 것은 매우 중요합니다. 이를 통해 모델을 나중에 재사용하거나 배포할 수 있습니다. pickle
모듈을 사용하여 간단하게 모델을 직렬화하고 저장할 수 있습니다. 이를 통해 데이터 과학자나 머신 러닝 엔지니어는 모델을 관리하고 배포하는 일련의 프로세스를 간소화할 수 있습니다.