기타 참고

훈련 모델 저장하고 불러오기 (dump, load)

He__o 2022. 8. 11. 11:27
# 훈련 모델 예시
import pandas as pd

fish = pd.read_csv('http://bit.ly/fish_csv_data')
fish_data = fish[['Weight','Length','Diagonal','Height','Width']].to_numpy()
fish_target = fish['Species'].to_numpy()

from sklearn.model_selection import train_test_split
train_data, test_data, train_target, test_target = train_test_split(
    fish_data, fish_target, random_state=42)

from sklearn.linear_model import LogisticRegression
lg = LogisticRegression(max_iter = 20000)
lg.fit(train_data, train_target)

 

1. joblib 방식

import joblib

# 모델 저장
joblib.dump(lg, './model/LG_fish_model.pkl')      # ['./model/LG_fish_model.pkl']
# 모델 불러오기
load_model = joblib.load('./model/LG_fish_model.pkl')
print(load_model.score(test_data, test_target))   # 0.925

 

2. pickle 방식

import pickle

# 모델 저장
with open('./model/LG_fish_model.pickle', 'wb') as fw :
    pickle.dump(lg, fw)
# 모델 불러오기
with open('./model/LG_fish_model.pickle', 'rb') as f :
    load_model = pickle.load(f)
    
print(load_model.score(test_data, test_target))   # 0.925