inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지

데이터 불러오기(Data Loader)

MinMaxScaler 수치 원상복구 방법 문의

7991

illily

작성한 질문수 2

0

안녕하세요.

RNN, LSTM, GRU 파트 집중적으로 공부하고 있습니다.

수치의 단위를 맞추기 위해 MinMaxScaler를 사용하여 0~1사이의 값으로 보이는 결과 그래프까지 확인 하였습니다.

다만, 주가예측도, 주택가격도 예측을 하려면 다시 원상복구를 해서 원래 단위로 바꿔서 그래프화를 하고 싶은데,

혹시 방법을 알 수 있을까요?

딥러닝 pytorch 머신러닝 배워볼래요? 인공신경망 python

답변 1

0

딥러닝호형

안녕하세요 :)

복원 하고 싶다면 sklearn에서 제공하는 inverse_transform를 사용할 수 있는데 우리가 스케일링을 scaler로 정의 했기 때문에 y_rescale = scaler.inverse_transform(예측값) 을 이용하시면 스케일링 했던 기준으로 다시 역산을 해서 값을 제공합니다.

먼저 스케일링을 피쳐와 타겟을 둘로 나눠서 하셔야 합니다.

scaler = MinMaxScaler()

df[['Open','High','Low','Volume']] = scaler.fit_transform(df[['Open','High','Low','Volume']])

scaler1 = MinMaxScaler()

df['Close'] = scaler1.fit_transform(df['Close'].values.reshape(-1,1))

스케일링을 둘로 나눠서 하신 후 학습을 하시고 그래프를 그리시기 전에 아래 코드를 추가하시면 됩니다.

rescaled_actual = scaler1.inverse_transform(df['Close'][sequence_length:].values.reshape(-1,1))

rescaled_pred = scaler1.inverse_transform(np.array(pred).reshape(-1,1))

그리고 그래프 그리는 부분에 두 변수를 넣어 주시면 됩니다.

concatdata = torch.utils.data.ConcatDataset([train, test])

data_loader = torch.utils.data.DataLoader(dataset=concatdata, batch_size=100, shuffle=False)

with torch.no_grad():

    pred = []

    for data in data_loader:

        seq, target = data

        out = model(seq)

        pred += out.cpu().numpy().tolist()

plt.figure(figsize=(20,10))

plt.plot(np.ones(100)*len(train),np.linspace(0,1,100),'--', linewidth=0.6)

plt.plot(rescaled_actual,'--')

plt.plot(rescaled_pred,'b', linewidth=0.6)

plt.ylim(1200,2600)

plt.legend(['train boundary','actual','prediction'])

plt.show() 

열공하세요 :)

수업자료 제공 부탁드립니다.

0

115

2

코드가 어디에 있는지 모르겠습니다.

0

116

2

논문 구현

0

208

2

overfitting이 나는 이유가 궁금합니다.

1

184

2

분류 성능이 잘 안 나오는 이유

0

226

1

AutoEncoder 차원 질문

1

258

2

사전 학습 모델에서의 layer 변경에 대한 질문

1

224

1

7강 폴더 만들

0

265

1

4-3강 cross-validation에서의 best model 선정 기준

0

460

1

regression 문제에 대한 결과 시각화

0

219

1

Loss function 관련하여 질문드립니다.

0

971

1

early stopping 코드 문의

0

332

1

예측 그래프

0

363

1

데이터 불균형

1

367

1

8강 전이 학습 질문

0

407

2

data의 gpu처리 질문

0

247

1

nn.Linear(1024, 10) 관련 질문드립니다.

0

296

1

학습과 평가시 Loss 함수가 다른 이유

0

254

1

전처리 관련해서 질문 있습니다.

0

231

1

데이터 엔지니어의 역량을 기르려면 어떻게 해야할까요?

0

948

2

역전파 내용 중 미분 관련 질문 드립니다

1

283

1

8강 전이학습에서 kernel size 관련 질문 드립니다.

1

967

1

이미지분류-합성곱신경망(CNN) 피쳐맵 질문입니다.

1

590

1

14강 데이터 불균형 RandomRotation

1

485

1