전체 글
- [링크] 태양광 계산법 (이론) 2022.02.04
- NCO Times 바꾸기 2022.01.25
- 온난화 더하기 수퍼문의 재앙 2022.01.21
- 연속 열 누락 데이터 처리 방법 및 구현 2022.01.21
- 파이썬 보간법을 이용한 결측치 넣기 2022.01.21
- scaler 스케일 변환시 주의사항 2022.01.21
- reset_index()['Tair'] 2022.01.20
- 가중치 Weights를 출력하는 방법 2022.01.20
- ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 100, 1), found shape=(None, 21) 2022.01.20
- Importance 바차트 출력 2022.01.17
[링크] 태양광 계산법 (이론)
NCO Times 바꾸기
[chpark@adis00 em_real]$ ncdump -v Times in.nc
netcdf out {
dimensions:
Time = 1 ;
DateStrLen = 19 ;
emissions_zdim = 1 ;
south_north = 319 ;
west_east = 431 ;
variables:
char Times(Time, DateStrLen) ;
Times:Times\:_FillValue = " " ;
float E_CO2(Time, emissions_zdim, south_north, west_east) ;
E_CO2:coordinates = "XLONG XLAT" ;
E_CO2:stagger = " " ;
E_CO2:units = "mol km^-2 hr^-1" ;
E_CO2:description = "EMISSIONS" ;
data:
Times =
"2016-01-11_00:00:00" ;
}
[chpark@adis00 em_real]$ ncap2 -O -s 'Times(0,:)="2021-05-11_06:00:00"' in.nc out.nc
[chpark@adis00 em_real]$ ncdump -v Times out.nc
:
:
data:
Times =
"2021-05-11_06:00:00" ;
}
온난화 더하기 수퍼문의 재앙
연속 열 누락 데이터 처리 방법 및 구현
파이썬 보간법을 이용한 결측치 넣기
scaler 스케일 변환시 주의사항
학습/테스트 데이터의 스케일 변환시 주의사항
MinMaxScaler 객체의 fit( ) 과 transform( )
이 둘은 2차원 데이터만 가능하므로 reshape(-1, 1)로 차원 변경해야 한다.
train_array = np.arrange(0, 11).reshape(-1,1)
test_array = np.arrange(0, 6).reshape(-1,1)
fit( ) 의 경우 [0,10] 스케일이 적용됨.
일반적으로 fit_transform( )을 사용하여 학습데이터와 테스트 데이터 스케일을 변환한다. 이는 fit( )과 transform( )을 순차적으로 수행하는 메소드이다.
학습데이터에서는 상관없지만, 테스트 데이터에서는 fit_transform( )을 절대 사용해서는 안된다.
따라서, 정확히 사용하려면, 학습과 테스트 데이터를 분리하기 전에 스케일링을 적용하고 분리해야 한다.
이 주의사항은 차원축소변환, 피쳐벡터화 변화 작업에도 동일하게 적용된다.
reset_index()['Tair']
df = dd.reset_index()['Tair']
가중치 Weights를 출력하는 방법
ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 100, 1), found shape=(None, 21)
LSTM 다룰 때 중요한 부분!
에러
ValueError: Input 0 of layer "sequential" is incompatible with the layer: expected shape=(None, 100, 1), found shape=(None, 21)
원인
LSTM 모델을 사용할 때는, train 차원을 바꾸어야 하는데, 차원 변경을 해 주지 않으면 발생하는 에러
해결
X_train = X_train.reshape(X_train.shape[0], X_train[1], 1)
명령으로 2차원 데이터를 3차원으로 변경하면 됨.
Importance 바차트 출력
코드
ftr_importances_values = model.feature_importances_
ftr_importances = pd.Series(ftr_importances_values)#, index=X_train.columns)
ftr_top20 = ftr_importances.sort_values(ascending=False)[:20]
plt.figure(figsize=(15,6))
sns.barplot(x=ftr_top20, y=ftr_top20.index)
# plt.show()