영화 리뷰 감성분석 AI해커톤

NLP | Accuracy

  • moneyIcon Prize : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 646명 마감

 

TFiDF with Logistic 결과 해석 도움 주실분. .계실까요?

2022.01.12 16:35 1,488 Views language

추가 분석을 진행하다가, 막힌 부분이 있어 코드 공유를 해봅니다. 

TFiDF 정보를 이용해보려 하는데 생각보다 점수가 잘 안나오는 점도 있지만!! 
max_features에 따라 validation 점수가  0.503 ~ 0.659 사이로 왔다 갔다 하고 있네요. 

가장 의심 되는건 OOV(Out-Of-Vocabulary) 가 아닐까? 하는데 다른분들 생각은 어떻가 해서요!

Code
로그인이 필요합니다
0 / 1000
최정명
2022.01.12 17:52

X_eval = vectorizer.fit_transform(X_eval)

==> 수정 
X_eval = vectorizer.transform(X_eval)

vectorizer를 X_train 로 fit_transform 한것으로 X_eval에 동일하게 적용시켜야합니다.

지금 적으신대로 X_eval에 fit_transform을 하게되면 X_train과 과 X_eval은 아예 다른 값을 가지게 됩니다.

이 부분 때문에 문제가 있는것 같네요.

최정명
2022.01.12 17:50

간단히 예시로 X_train을 fit_transform 했을 때는 'ㄱ'이라는 토큰에 부여된 번호가 0인데
X_eval에도 fit_transform을 하면 X_eval에 등장한 토큰에 맞추어 번호가 부여되기 때문에 'ㄱ'이 9가 될 수 있습니다.
X_train에 등장한 토큰에 맞게 fit_transform을 하신 후 X_eval은 transform만 적용하면 X_train을 통해 부여된 번호가 X_eval에도 그대로 부여됩니다.

위 예시가 TfidfVectorizer 역할이랑은 조금 다른 예시이지만 fit_transform과 transform의 수행과정은 위와 같습니다.

박이삭
2022.01.12 18:01

아고 ㅜㅜ 이걸 못봤네요 ㅜㅜ 감사합니다