네이버 영화 평점 감성 분석 GridSearch 관련

21.03.29 21:57 작성 조회수 29

0

삭제된 글입니다

답변 1

답변을 작성해보세요.

0

안녕하십니까,

Tfidf Vectorizer로 변환한 행렬이 희소행렬로 변환 되었습니다.

150000 * 129246 행렬로 150000만개의 행과 129246개의 열(즉 단어 feature들)로 Dense 행렬로 되면 너무 많은 메모리가 소모되고 0값이 들어가게 되어서 희소 행렬로 변환됩니다. 

(0, 113538)이 의미하는 것은 0번째 행의 113538번째 열의 값이 있다는 것입니다.

(0, )에 해당하는 matrix 값이 8개만 나왔다는건 0번째 행의 8개 열에만 값이 있다는 것입니다. 

사이킷런은 희소행렬을 Xtrain으로 입력 받아도 학습이 가능합니다.  즉 150000 * 129246 행렬을 (0, 113538) ... , (0, 112973)..... 과 같은 형태로 지정해도  150000 * 129246 Dense 행렬을 입력 받는 방식과 동일하게 내부에서 변환하여 처리합니다.

따라서 (0, 113538) ... , (0, 112973).....,, 와 같이 8개의 값들은 0번째 행에서 129246개의 열들중 113538번째,  112973번째와 같은 열 인덱스에 따라 지정된 값이면 이들은 0번째 행들의 feature 값들이므로  train_df['label'] 값의 0번째 label로 학습 됩니다.

감사합니다.