vectorizer = CountVectorizer() #构建一个计算词频(TF)的玩意儿,当然这里面不足是可以做这些
transformer = TfidfTransformer() #构建一个计算TF-IDF的玩意儿
tfidf = transformer.fit_transform(vectorizer.fit_transform(corpus))
#vectorizer.fit_transform(corpus)将文本corpus输入,得到词频矩阵
#将这个矩阵作为输入,用transformer.fit_transform(词频矩阵)得到TF-IDF权重矩阵
TfidfTransformer + CountVectorizer = TfidfVectorizer
值得注意的是,CountVectorizer()和TfidfVectorizer()里面都有一个成员叫做vocabulary_(后面带一个下划线)
这个成员的意义是词典索引,对应的是TF-IDF权重矩阵的列,只不过一个是私有成员,一个是外部输入,原则上应该保持一致。
vectorizer = TfidfVectorizer(stop_words=stpwrdlst, sublinear_tf = True, max_df = 0.5)
关于参数:
input:string{‘filename‘, ‘file‘, ‘content‘}
如果是‘filename‘,序列作为参数传递给拟合器,预计为文件名列表,这需要读取原始内容进行分析
如果是‘file‘,序列项目必须有一个”read“的方法(类似文件的对象),被调用作为获取内存中的字节