새로운 데이터 예측하기
이 게시글은 아래 링크와 내용이 이어집니다.
2022.12.28 - [Deep Learning] - Tensorflow, 회귀 문제 모델링 하는 방법
이전 게시글에서
df 데이터프레임에서 Gender ~ Net Worth 컬럼을 X 로 두고,
Purchase Amout 컬럼을 y 로 두어서 y 값을 예측하도록 하는 딥러닝 인공지능 모델을 만들었다.
이때 새로운 데이터가 들어왔을 때 새로운 데이터의 Purchase Amout 값을 예측하는 방법이다.

새로운 고객 데이터 :
여자이고, 나이는 38, 연봉은 90000, 카드빚은 2000, 순자산은 500000 일때의 Purchase Amout 은?
위 데이터를 변수 new_data 인 np.arange 에 담아주었다
new_data = np.array([0, 38, 90000, 2000, 500000])
new_data 의 shape 을 확인해보면 (5, ) 형태이다.
이 상태로 예측 하는 코드에 적용하면 에러가 난다.
new_data 는 시리즈 형태이기 때문에, reshape 을 이용하여서 2차원으로 변경해준다.
new_data.shape
>>> (5,)
new_data.reshape(1,5)
>>> array([['250000', '200000', '380000', 'Florida']], dtype='<U21')
new_data = new_data.reshape(1,5)
이전 모델을 만들기위해서 사용하였던 피쳐스케일링 코드를 가져와서
새로운 데이터를 피쳐스케일링 해준다.
이때는 fit_transform 을 이용하지 않고, transform 을 해주어야 한다.
new_data = scaler_X.transform(new_data)
새로운 데이터의 값을 예측하면 아래와같은 결과 값이 나온다.
y_pred = model.predict(new_data)
>>> 1/1 [==============================] - 0s 18ms/step
y_pred
>>> array([[0.57151586]], dtype=float32)
결과값도 피쳐스케일링이 된 상태이기 때문에,
inverse_transfrom 을 하여서 원래 형태로 변환을 해주면 된다.
scaler_y.inverse_transform(y_pred)
>>> array([[49577.625]], dtype=float32)'Deep Learning' 카테고리의 다른 글
| validation 데이터란 무엇이고, 코드에서 사용하는 방법 (0) | 2022.12.28 |
|---|---|
| Learning rate 를 옵티마이저에서 셋팅하는 코드 (0) | 2022.12.28 |
| Tensorflow, 회귀 문제 모델링 하는 방법 (0) | 2022.12.28 |
| Tensorflow - GridSearch 를 이용하여, 최적의 하이퍼파라미터 찾기 (0) | 2022.12.27 |
| Tensorflow, 분류 문제 모델링 하는 방법 (1) | 2022.12.27 |