一、文本预处理阶段###
1.1 设定训练集和测试集
训练集每一类的数量为500个文档,测试集每一类的数量也为500个文档。
image.png
1.2 计算每个文本的DF
为每一个文本计算TF,return格式为:'word', 'file_name', term-frequency
先算出每个文档中的'word', term-frequency, 在结束改文本的循环后将该文本中出现的词以 'word', 'file_name', term-frequency的形式加入 word_docid_tf
def compute_tf_by_file(self):
word_docid_tf = []
for name in self.filenames:
with open(join(name), 'r') as f:
tf_dict = dict()
for line in f:
line = self.process_line(line)
words = jieba.cut(line.strip(), cut_all=False)
for word in words:
tf_dict[word] = tf_dict.get(word, 0) + 1
tf_list = tf_dict.items()
w