시작하기무료로 시작하기

더 긴 n-gram 사용하기

지금까지는 각 텍스트에서 개별 단어를 기반으로 피처를 생성했습니다. 이 방법은 Machine Learning 모델에서 꽤 효과적이지만, 단어를 하나씩 따로 살펴보다 보면 문맥 정보가 많이 손실될 수 있습니다. 이 문제를 해결하기 위해 n-gram을 활용할 수 있습니다. n-gram은 연속된 n개의 단어를 하나의 단위로 묶은 것입니다. 예를 들면 다음과 같습니다.

  • 바이그램(bigrams): 연속된 두 단어의 시퀀스
  • 트라이그램(trigrams): 연속된 세 단어의 시퀀스

ngram_range 인수를 튜플 (n1, n2) 형태로 지정하면, n1부터 n2 범위에 해당하는 모든 n-gram이 데이터셋에 자동으로 생성됩니다.

이 연습은 강의의 일부입니다

Python으로 배우는 Machine Learning 특성 공학

강의 보기

연습 안내

  • sklearn.feature_extraction.text에서 CountVectorizer를 임포트하세요.
  • 트라이그램만 고려하도록 CountVectorizer를 인스턴스화하세요.
  • 벡터라이저를 text_clean 열에 한 번에 학습(fit)하고 변환(transform)을 적용하세요.
  • 벡터라이저가 생성한 피처 이름을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import CountVectorizer
from sklearn.feature_extraction.text import ____

# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100, 
                                 stop_words='english', 
                                 ____)

# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])

# Print the trigram features
print(cv_trigram_vec.____)
코드 편집 및 실행