[실험] 대분류, 시험지번호, 문제번호 feature 추가 #18
JAEWOOSUN
started this conversation in
Experiments
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
대분류, 시험지번호, 문제번호 feature 추가
Description: features를 추가했을 때 성능 향상 실험
시작일: 2021년 5월 25일
실험자: 재우 선, 유진 안
제안자: 유진 안
종료일: 2021년 5월 26일
진행상황: 완료
카테고리: Data Processing, EDA, Training
문제 정의
그렇다면 feature로 대분류, 시험지번호, 문제 번호를 만들어보는것은 어떨까요!?!?
해결 아이디어
진행 상황
1. dataloader.py →
__feature_engineering
함수testId
column의 2번째 값들을 사용해서 대분류 (classification
) 추가testId
column의 '마지막-3 : 마지막' 값들을 사용해서 시험지 번호 (paperNum
) 추가assessmentItemID
column의 '마지막-3: 마지막' 값들을 사용해서 문제 번호 (problemNum
) 추가2. dataloader.py →
__preprocessing
함수LabelEncoder()
사용classifciation
,paperNum
,problemNum
을 추가해줌2. dataloader.py →
load_data_from_file
함수classifciation
,paperNum
,problemNum
의 len을 계산한n_class
,n_paper
,n_problem
을 만들어줌userID
로 groupby한 값을 반환3. dataloader.py →
DKTDataset
Class →__getitem__
함수DKTDataset
클래스도 수정을 해줌4. trainer.py →
process_batch
함수classifciation
,paperNum
,problemNum
을 추가해줌classifciation
,paperNum
,problemNum
모두 mask 처리 추가5. train.py →
train
함수process_batch
함수 통과 후 input을 받아옴targets
변수는input[4]
를 가지고 와야함 (correct
번호가 4번으로 바뀜)6. model.py →
LSTM
class →__init__
함수classifciation
,paperNum
,problemNum
의 embedding을__init__
함수에 추가comb_proj
을 통과할 때는 총 5개 (interaction
,classifciation
,paperNum
,problemNum
,tag
)을 통과하므로 4 → 5로 변경7. model.py →
LSTM
class →forward
함수embedding
을 실행함concat
을 실행할 떄embed_classification
,embed_paperNum
,embed_problemNum
을 추가해줌8. LSTM-ATTN, BERT
classifciation
,paperNum
,problemNum
을 추가해서 사용결과
실험 내역은 다음과 같음
classifciation
,paperNum
,problemNum
) 추가train_acc
나valid_acc
가 대부분 Basline보다 3_features가 빨리 도달하는 것을 알 수 있음 (문제가 쉬워진 이유라고 생각)뚜렷한 변경 사항은 wandb로 봤을 때 없었음
auroc
에서 약간의 성능 향상을 보임accuracy
는 성능이 떨어짐평가
후속 실험
Beta Was this translation helpful? Give feedback.
All reactions