scikit-learn의 N-그램 특성
벡터화기에 구문을 추가합니다
scikit-learn의 N-그램 특성은(는) CoddyKit의 무료 NLP Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 NLP Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. NLP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
라이브러리에 맡기기
n-그램을 직접 만들 수도 있지만 scikit-learn이 대신 만들어 줍니다. 비결은 벡터화 도구에 작은 인수 하나를 추가하는 것입니다.
ngram_range 조절 장치
모든 텍스트 벡터화 도구는 최소 크기와 최대 크기의 튜플인 ngram_range를 지원합니다. 이 값이 벡터화 도구에 어떤 n-그램을 셀지 알려 줍니다.
from sklearn.feature_extraction.text import CountVectorizer
vec = CountVectorizer(ngram_range=(1, 2))유니그램이 기본값입니다
그대로 두면 ngram_range는 (1, 1)이 되어 개별 단어만 사용합니다. 이것이 이미 알고 있는 단순한 단어 가방 모델입니다.
바이그램 추가하기
ngram_range를 (1, 2)로 설정하면 벡터화 도구가 개별 단어와 모든 인접 단어 쌍을 하나의 특성 공간에 함께 보존합니다.
vec = CountVectorizer(ngram_range=(1, 2))
X = vec.fit_transform(["this is not good"])바이그램만 사용하기
단어 쌍만 사용하고 싶으신가요? (2, 2)를 사용하세요. 이제 개별 단어는 사라지고 바이그램만 특성으로 남습니다.
vec = CountVectorizer(ngram_range=(2, 2))어휘 확인하기
fit한 뒤 get_feature_names_out으로 학습된 특성을 살펴보세요. 단어와 연결된 구가 모두 목록에 표시됩니다.
print(vec.get_feature_names_out())
# ['is not', 'not good', 'this is']공백으로 연결된 구
scikit-learn은 각 바이그램의 단어를 하나의 공백으로 연결해 이름을 붙입니다. 예를 들어 not good처럼 표시됩니다. 이 문자열이 하나의 열이 됩니다.
같은 매개변수, TF-IDF
같은 ngram_range을 TfidfVectorizer에도 사용할 수 있습니다. 어떤 특성이 두드러지는지에 따라 가중치가 부여된 n-그램 구를 얻을 수 있습니다.
from sklearn.feature_extraction.text import TfidfVectorizer
vec = TfidfVectorizer(ngram_range=(1, 2))이제 부정 표현도 유지됩니다
바이그램을 켜면 not good이 자체 열에 들어갑니다. 이제 분류기가 이 조합이 부정적인 리뷰를 나타낸다는 것을 학습할 수 있습니다.
특성 개수를 확인하세요
바이그램을 추가하면 열이 크게 늘어날 수 있습니다. 행렬은 희소한 상태로 유지되지만, 어휘는 빠르게 커집니다.
print(X.shape) # many more columns than unigrams alonemin_df와 함께 사용하세요
이러한 급격한 증가를 억제하려면 ngram_range를 min_df와 함께 사용하세요. 드문 구를 제거하면 유용하게 반복되는 n-그램만 남길 수 있습니다.
vec = CountVectorizer(ngram_range=(1, 2), min_df=2)빠른 확인
하나의 벡터화기에서 단일 단어와 서로 인접한 쌍을 함께 얻으려면 어떤 ngram_range를 사용해야 할까요?
복습: scikit-learn의 N-그램
ngram_range 튜플 하나만 지정하면 어떤 벡터화기든 n-그램을 처리할 수 있습니다. 특성을 확인한 다음 min_df로 줄이세요. 이제 적절한 범위를 선택해 보겠습니다. 🎯
AI 튜터와 함께 Python을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 30
- 레슨
- 120
자주 묻는 질문
“scikit-learn의 N-그램 특성” 강의는 무료인가요?
네 — “scikit-learn의 N-그램 특성” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 NLP Academy 강의 전체를 잠금 해제할 수 있습니다. NLP Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“scikit-learn의 N-그램 특성”에서 뭘 배우나요?
벡터화기에 구문을 추가합니다 브라우저에서 직접 실행하는 실습 코드로 NLP Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
NLP Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 NLP Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“scikit-learn의 N-그램 특성” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 NLP Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 NLP Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 단일 단어가 의미를 잃는 이유
- 바이그램과 트라이그램 설명
- scikit-learn의 N-그램 특성
- 알맞은 N-그램 범위 선택하기