분류 모델링 예시
이전에 분류를 위해 러시아어 트윗 세트를 준비해 두었습니다. 20,000개의 트윗 중에서 account_type이 Left 또는 Right인 트윗만 걸러내고, 각 유형에서 처음 2,000개씩 선택했습니다. 트윗은 이미 단어로 토큰화했고, 불용어를 제거했으며, 어간 추출도 완료했습니다. 또한 단어 빈도를 가중치가 TFIDF 값인 문서-단어 행렬로 변환하여 left_right_matrix_small로 저장해 두었습니다.
이 행렬을 사용해 트윗이 좌파 성향의 트윗 봇에서 생성된 것인지, 우파 성향의 트윗 봇에서 생성된 것인지 예측해 보겠습니다. 레이블은 벡터 left_right_labels에 들어 있습니다.
이 연습은 강의의 일부입니다
R로 배우는 자연어 처리 입문
연습 안내
- 재현성을 위해 랜덤 시드를
1111로 설정하세요. - 학습 및 테스트 데이터셋을 만드세요. 학습 데이터는 75%를 사용합니다.
- 학습 데이터로 랜덤 포레스트 모델을 실행하고, 반응 벡터
y에는left_right_labels를 사용하세요. - 랜덤 포레스트 결과를 출력하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
library(randomForest)
# Create train/test split
set.___(___)
sample_size <- floor(___ * nrow(left_right_matrix_small))
train_ind <- ___(nrow(left_right_matrix_small), size = ___)
train <- left_right_matrix_small[___, ]
test <- left_right_matrix_small[-___, ]
# Create a random forest classifier
rfc <- randomForest(x = as.data.frame(as.matrix(___)),
y = ___[___],
nTree = 50)
# Print the results
___