기능: 텍스트 데이터 특성화
(문장, 구문, 단어, 문자)은 일반적으로 단어를 특징 값으로 사용합니다.
방법 1: CountVectorizer
sklearn.feature_extraction.text.CountVectorizer(stop_words= [])
단어 빈도 행렬 반환(각 샘플에 나타나는 특징 단어 수 계산)
CountVectorizer.fit_transform(X)
X: 텍스트 문자열을 포함하는 텍스트 또는 반복 가능한 개체
반환 값: 희소 행렬 반환
CountVectorizer.inverse_transform(X)
코드 표시:
from sklearn.feature_extraction.text import CountVectorizer def count_demo(): #文本特征抽取 data=["life is short, i like like python","life is too long,i dislike python"] #1、实例化一个转换器类 transfer=CountVectorizer() #2、调用fit_transform() result=transfer.fit_transform(data) print("result:\n",result.toarray()) print("特征名字:\n", transfer.get_feature_names()) return None
방법 2: TfidfVectorizer
키워드: 특정 카테고리의 기사에서는 여러 번 나타나지만 다른 카테고리의 기사에서는 드물게 나타납니다. Tf-idf 텍스트 특징 추출
①TF-IDF의 주요 아이디어는: 특정 기사에서 확률이 높은 단어나 문구가 등장하고 다른 기사에서는 거의 등장하지 않는 경우, 해당 단어나 문구가 카테고리 구별이 좋은 것으로 간주하는 것입니다. 능력, 분류에 적합합니다.
②TF-IDF 함수: 문서 세트 또는 코퍼스의 문서 중 하나에 대한 단어의 중요성을 평가하는 데 사용됩니다.
Formula
①용어 빈도(tf)는 특정 단어가 문서에 나타나는 빈도를 나타냅니다.
②역문서 빈도(idf)는 단어의 일반적인 중요도를 측정한 것입니다. 특정 단어의 idf를 계산하려면 해당 단어가 포함된 파일 수를 전체 파일 수로 나누고 기본 10 로그를 사용해야 합니다.
tfidf = tf * idf출력 결과를 이해할 수 있습니다. 중요도
API
sklearn.feature_extraction.text.TfidfVectorizer(stop_words=None,...)단어의 가중치 행렬을 반환합니다TfidfVectorizer.fit_transform(X)
X: 텍스트 또는 텍스트 문자열 포함 Iterable object반환 값: 희소 행렬 반환TfidfVectorizer.inverse_transform(X)
X:배열 배열 또는 희소 행렬
반환 값: 변환 전 데이터 형식
TfidfVectorizer.get_feature_names( )반환값: 단어 목록
중국어 단어 분할 + 특징 추출
from sklearn.feature_extraction.text import TfidfVectorizer import jieba def cut_word(text): #中文分词 #jieba.cut(text)返回的是生成器对象,用list强转成列表 word=list(jieba.cut(text)) #转成字符串 words=" ".join(word) return words def tfidf_demo(): data = ["今天很残酷,明天更残酷,后天会很美好,但绝大多数人都死在明天晚上,却见不到后天的太阳,所以我们干什么都要坚持", "注重自己的名声,努力工作、与人为善、遵守诺言,这样对你们的事业非常有帮助", "服务是全世界最贵的产品,所以最佳的服务就是不要服务,最好的服务就是不需要服务"] data_new = [] # 将中文文本进行分词 for sentence in data: data_new.append(cut_word(sentence)) # 1、实例化一个转换器类 transfer = TfidfVectorizer() # 2、调用fit_transform() result = transfer.fit_transform(data_new) # 得到词频矩阵 是一个sparse矩阵 print("result:\n", result.toarray()) # 将sparse矩阵转化为二维数组 print("特征名字:\n", transfer.get_feature_names()) return None
위 내용은 Python sklearn이 텍스트 데이터에서 기능 추출을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!