WR(Water_Rocket)
김도연 : Team Leader (97_회로전공,ENTJ)
김선들 : Git Branch management (96_컴퓨터전공,INTJ)
김정현 : 데이터 분석, 모델 성능 개선(01_소프트웨어전공,ISFJ)
박건수 : 데이터 분석, 모델 성능 개선(96_정보통신공학전공,ISTP)
| 실험내용 | 실험보고서 | 발표자료 | 안내서 |
|---|---|---|---|
| 대구교통사고실험.xlsx | 인공지능 보고서.docx | 발표차료_첫째주.pdf | guide-note.pdf |
| 인공지능 보고서.pdf | 중간발표.pdf | ||
| 최종발표.pdf |
DROP_X_COLS - data에서 사용하지 않을 컬럼을 지정(실험용으로 제작 사용하지 않으셔도 됩니다.-> 빈리스트)
USE_X_COLS - data에서 사용할 컬럼을 지정
TARGET_COLS - data의 target 컬럼을 지정
EMBEDDING_COLS - 임베딩(벡터화)시킬 컬럼 설정
- config
-
input_data
- train_csv : train data path
- test_csv : test data path
-
output_data
- train_feas_csv : 가공되어 저장 train data path
- test_feas_csv : 가공되어 저장 test data path
- train_target_csv : train data의 TARGET컬럼만 추출 후 저장 path
- y_scaler_save : train_target에 사용한 scaler를 저장할 path
-
add_data
- merge할 추가 csv
-
options
- embedding_cols : 임베딩(벡터화)할 컬럼
- index_col : train과 test에서 index로 사용할 컬럼 이름
- target_cols : 타겟 칼럼
- ignore_drop_cols : True - 컬럼들을 drop 하지 않음, False - DROP_X_COLS의 컬럼들을 drop 함
- drop_cols : 제외 할 피쳐
- use_cols : 사용 할 피쳐
- fill_num_strategy : null 값이 있는 부분을 채울 방법을 min, mean, max 중에서 선택
- x_scaler : SCALER['minmax']() put None for no X scaling process
- y_scaler : SCALER['minmax']() put None for no y scaling process
-
-
SCHEDULER
-
EMBEDDING_COLS = [임베딩 시킬 피쳐]
-
EMBEDDING_NODE = 늘릴 차원 수
-
CUSTOM_WEIGHT = 가중치 원하는 크기 ex)[10,5,3,1] 사망자~부상자 가중치
-
NUM+OF_TASKS = 가중치 총길이
-
EXPERIMENT_NAME = output_files의 경로 중간의 삽입되는 이름
-
CUSTOM_LOSS
- multi_task_mse : 가중치를 적용한 mse
- rmsle : rmsle
-
EXPERIMENT_NAME = 최종 데이터(loss,eval등) 저장할 경로
-
config
-
input_files
- X_csv : 가공한 train data path, preprocess의 output_data의 train_feas_csv 경로
- y_csv : 가공한 target data path, preprocess의 output_data의 train_target_csv 경로
- tst_csv : 가공한 test data path, preprocess의 output_data의 test_feas_csv 경로
-
output_files
- output_train : 훈련 후 저장할 모델의 저장 할 경로
- output_eval : 훈련 후 저장할 평가지표 저장 할 경로
- 'output_pred : 훈련 후 test데이터로 예측한 결과 저장 할 경로
-
model: ANN - 사용할 모델 class
-
model_params
- input_dim: 'auto' - 입력한 데이터의 차원수를 자동으로 맞춰 줌
- hidden_dim : 훈련 시 hidden_dim의 차원과 레이어 수
- use_drop : drop out의 사용 유무 True - 사용, False - 사용 안함
- drop_ratio : drop out 사용 시 수치
- activation : 사용할 활성 함수 선택
-
train_params - 스케줄러 관한 설정
-
use_scheduler: 스케줄러 사용 유/무 설정, True - 사용, False - 사용 안 함
-
scheduler_cls: SCHEDULER['CALR']
-
scheduler_params
- 'T_max': cos 반복 주기
- 'eta_min': 최저 lr
-
loss : 사용할 손실 함수 선택
-
optim : 사용할 옵티마이저 선택 ,[sigmoid, relu, tanh, prelu 중 선택
-
main_metric : pbar에 보일 성능지표
-
metrics
'rmse': torchmetrics.MeanSquaredError(squared=False)
'mse': torchmetrics.MeanSquaredError() -
device : 연산할 device를 선택(cpu, cuda 등)
-
epochs : train과 eval 실행 시 사용할 epoch 수
-
data_loader_params
- batch_size : 배치사이즈 선택
-
optim_params
- lr : learning rate 선택
-
-
cv_params
- n_split : evaluation실행 시 사용할 fold 수 선택
- y_scaler_path: evaluation 실행 시 만약 metric 값을 unscale 된 값으로 확인하고 싶을 경우, y scaler 의 path 를 넣어줍니다. 사용 안 할 경우엔 None.
-

ECLO = 사망자수 * 10 + 중상자수 * 5 + 경상자수 * 3 + 부상자수
ECLO를 뜻하는 사상자수 외에는 큰 상관관계를 찾을 수 없다. 비선형관계 또는 Multicollinearity(다중공산성)등으로 예측 된다.

ECLO가 18인 경우 9월 외에는 다른 데이터의 분포는 비슷한 것을 보아 상관관계가 높지 않다는 것을 알 수 있다.

해당 feature는 데이터의 불균형이 심해 오히려 상관관계가 높지 않은 것으로 예측된다.