본문 바로가기
Python/MachineLearning

Regression 4) 인공지능 저장 및 사용

by 하니__ 2024. 4. 13.

2024.04.13 - [MachineLearning] - Regression 3) New 데이터의 예측값은?

 

 

 

앞서 만든 것들을 실제로 사용하려면
 

2개의 파일이 필요하다
바로

regressor, ct 인데
하나는 예측하는 것이었고
하나는 데이터를 입력할때 문자열(지역)을 변환시켜주는 것이었다
 
그래서 활용을 하려면 저장을 하여 실 서버에 올려야 한다
 
 
 
 
 
 
import joblib

 

저장을 하기위해선 미리 임포트를 해야 한다

 

 

 
joblib.dump( regressor, 'regressor.pkl' )
 
['regressor.pkl']
 
joblib.dump( ct,'ct.pkl' )
['ct.pkl']
 
.dump(  )를 이용하여
각각 확장자 .pkl 피클로 저장을 해준다
 
 
 
 
 
그런 뒤에 나중에 그 파일을 열어서 사용할수 있지 않을까?
 
 
ct = joblib.load('ct.pkl')
 
regressor = joblib.load('regressor.pkl')

 

 

이번엔 .load(   ) 로 파일을 열어준다

 

 

 

자 그럼 새로운 데이터,

편의상 순서대로

 

 
 180000, 200000, 150000, 캘리포니아라고 했을때 예측값은?
 
 
 
 
일단 데이터프레임을 만들어주고
학습된 프로그램을 이용해 문자열을 변환시키고
또다른 학습된 프로그램을 이용해 예측값을 확인하자
 
 
 
data = {'R&D Spend':[180000] ,'Administration' : [200000],'Marketing Spend': [150000],'State':['California']  }
 
import pandas as pd
 
df = pd.DataFrame(data)
 
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1 entries, 0 to 0
Data columns (total 4 columns):
 #   Column           Non-Null Count  Dtype 
---  ------           --------------  ----- 
 0   R&D Spend        1 non-null      int64 
 1   Administration   1 non-null      int64 
 2   Marketing Spend  1 non-null      int64 
 3   State            1 non-null      object
dtypes: int64(3), object(1)
memory usage: 164.0+ bytes

 

데이터프레임을 만든 결과 역시 문자열인것이 확인된다

 

 

 

 
new_df = ct.transform(df)

 

 

 

학습되어있는 프로그램을 사용하여 문제없이

문자열을 변환시켜주고

 

 

 

 

 
regressor.predict(new_df)
 
array([197402.13702065])

 

 
 

학습되어있는 프로그램을 사용하여 문제없이

예측값을 얻을 수 있게됐다