위와 같은 스펙트로그램 이미지 데이터들이 트레이닝 데이터가 총 7000건 있습니다. (노말 4500, 비정상 2500)
모델 코드는
이렇고 이미지 데이터들을 ImageDataGenerator로 불러와서 쓰는 방식입니다. 문제는 다른 샘플 코드(원래 캐글에 있던 원본코드)에서는 잘 나오던 accuracy가 제 데이터를 집어넣기만 하면
이런식으로 데이터가 한쪽에 몰리게 예측됩니다. 어디서부터 손봐야 할까요?
위와 같은 스펙트로그램 이미지 데이터들이 트레이닝 데이터가 총 7000건 있습니다. (노말 4500, 비정상 2500)
모델 코드는
이렇고 이미지 데이터들을 ImageDataGenerator로 불러와서 쓰는 방식입니다. 문제는 다른 샘플 코드(원래 캐글에 있던 원본코드)에서는 잘 나오던 accuracy가 제 데이터를 집어넣기만 하면
이런식으로 데이터가 한쪽에 몰리게 예측됩니다. 어디서부터 손봐야 할까요?
도와주세요
threshold 참 거짓을 판별하는 기준이 되는 값(0.5) 조정해보고 roc curve도 그려봐
이진분류인데, class_1의 값이 0.50250477로 예측한 샘플이 전체 테스트 데이터중 90프로 이상이면 어떻게 하죠?
모델이 제대로 예측을 못하는거지 스펙트로그램에 맞는 모델을 찾아
캐글에 efficientnet이 스펙트로그램을 학습데이터로 사용해서 성공한 사례가 많던데 이건 어떻게 봐야 하나요?
코드보면 imagnet pt backbone써서 linear probing하려는거 같은데 그걸로 스펙트로그램 예측이 당연히 잘 안되겄지
혹시 imagenet을 쓰면 안되나요? 캐글에서 weights imaginet 써서 성공한 사례가 있었는데 안된다면 뭘 써야 하나요?
그게 잘되는게 오히려 더 이상한데… weight freeze했는데 잘 나온게 맞음?? Weight로 init만 하고 다 학습한걸수도 있으니 확인해봐
https://huggingface.co/docs/transformers/en/model_doc/audio-spectrogram-transformer
대충보니 ViT 기반인거 같은데 이거 백본으로 써보던가
감사합니다!
무슨 목적인데 스펙트로그램을 이미지로 분류해? 걍 분류면 이미지로 하긴 하는 데 스펙트로그램 이용하는 거면 보통 시계열 아님? CNN모델 쓰는 이유가 있나? 보통은 RNN 계열이나 트랜스포머 쓰지 않아?
저번 질문처럼 심장박동 분류할려면 시계열 모델써야지 스펙트로그램은 그냥 주파수를 보여주는 데이터인데 이상데이터든 정상 데이터든 심장박동 주파수는 똑같으니까 그걸 분류 할려고 하면 당연히 한쪽으로 몰리지 이상박동이면 리듬문제라 시계열 써
1D 2D 모델 둘 다 만들어봐야 하는 상황이라 그렇습니다.
정확히 어떤 목적인 모델인데?
ecg를 이용해 LVEF(심장 박출률) 예측하는 모델이요
mel-spectrogram 생성할 때 어떻게 값 줘서 뽑았어? 논문 읽진 않았는데 대충 심장박동 주파수로 분석하는거 같은데 데이터 sr이랑 n_fft를 좀 조정해서 데이터를 더 세밀하게 해봐. 심장박동 잘 포함하게 duration을 잘 조절해서 늘려보고 데이터 바꿨는데 모델이 학습 못하는거는 모델 잘 못 만든거 아니면 애초에 모델이 잘 못 된거겠지