2017-01-18 1 views
0

을 구별 할 때 가장 중요한 단어를 알아 내기 위해 tfidf (Python의 tfidfvectorizer)를 사용할 수 있습니까? 두 텍스트 클래스 (예 : 양수 또는 음수) 정서 등)? 예를 들어, 어느 단어가 긍정적 인 계급을 식별하는 데 가장 중요했는지, 그리고 그 다음에는 그 계급이 부정적 계급을 확인하는 데 가장 유용 했는가? 이 것을텍스트 분류 - 클래스 구분시 가장 유용한 단어 식별

clf = RandomForestClassifier() 
clf.fit(data, labels) 

importances = clf.feature_importances_ 
np.argsort(importances)[::-1] 

feature_names = vectorizer.get_feature_names() 
top_words = [] 

for i in xrange(100): 
    top_words.append(feature_names[indices[i]]) 

참고 : 이진 나무에 임의의 숲을 훈련 순위 분류의 기능의 중요성을 추출하고 가장 중요한 단어를 얻기 위해 사용 -

+1

PCA (Principal Component Analysis)에 익숙하십니까? 그것은 당신이 전형적인 BoW 또는 문장 벡터 패러다임에서 벗어나게하지만, 좋은 결과를 제공해야한다는 아이디어입니다. – Prune

+1

중복 된 http://stackoverflow.com/questions/11116697/how-to-get-most-informative-features-for-scikit-learn-classifiers – vpekar

답변

0

당신은 scikit이 무거운을 배울 수 있도록 할 수 있습니다 가장 중요한 단어가 무엇인지 말해 주며 각 카테고리에 대해 말하는 것은 아닙니다. 각 단어가 각 수업에 대해 말하는 것을 말하면 개별 단어를 분류하고 분류가 무엇인지 볼 수 있습니다.

또 다른 옵션은 모든 양수/음수 데이터 샘플을 가져 와서 이해하려는 단어를 제거하고 이것이 샘플 분류에 어떤 영향을 미치는지 확인하는 것입니다.