- 라이브러리 목록
- Pandas: 파이썬 데이터 분석
- 파일 데이터 로드
- 데이터 조회, 필터링
- 날짜 형식 지정
- Numpy: 통계
- 선형대수
- 데이터 통계량
- matplotlib: 시각화
- 시계열 데이터 시각화
- 차트 생성
- PyTorch: 딥러닝
- 시계열 데이터 예측 모형
- 훈련 및 검증
- 추론
- scikit learn: 머신러닝/ 전처리
- 데이터 정규화
- 데이터 셋 분할
- Streamlit: 웹 시각화 대시보드
- 모델 배포
- 대시보드 생성
- 데이터 전처리
데이터 스케일링: 정규화/ 표준화
=> 특성(feature)별 동일한 기준 적용/ 모델이 학습할 때 더욱 안정적인 학습
- 정규화(Normalization): 0~1사이로 조정
- 표준화(Standardization): 평균 0, 분산 1 조정
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_series = scaler.fit_transform(series.values.reshape(-1,1))
- 윈도우 데이터셋(windowed dataset)
- window size: N주기 만큼의 데이터 관측치 그룹
=> 몇개의 데이터를 관측할 것인가
- shift: 다음 관측 그룹간의 간격
=> 간격을 몇칸으로 설정할 것인가
- Xs: 학습에 활용되는 시계열 데이터 (N-1까지의 window_size를 가지는 데이터)
- Ys: target값
def make_dataset(series, window_size=6):
Xs = []
Ys = []
for i in range(len(series) - window_size):
Xs.append(series.iloc[i:i+window_size].values)
Ys.append(series.iloc[i+window_size])
return np.array(Xs), np.array(Ys)
=> Xs: many/ Ys: one
"many to one"
- 데이터 셋 분할
- train dataset: 학습에 활용할 데이터셋 (전체-45개)
- test dataset: 검증에 활용할 데이터셋(45개)
x_train, y_train = Xs[:-45], Ys[:-45]
x_test, y_test = Xs[-45:], Ys[-45:]
'SK AI Data Academy 1기 중급 > [SK에코플랜트] AI모델을 활용한 철근 단가 예측' 카테고리의 다른 글
손실함수(Huber Loss) (0) | 2024.07.04 |
---|---|
순환 신경망(RNN, LSTM) (0) | 2024.07.04 |