在训练/测试后,如何使用全新的数据测试朴素贝叶斯分类器?

时间:2017-06-27 06:39:14

标签: python pandas machine-learning scikit-learn anaconda

我训练/测试了一个二元分类器,根据类给出输出0或1。它就像垃圾邮件分类器。现在,我有一些额外的数据,我只是想测试它们并得到一个输出数组,如:

[0 1 0 0 0... 1 0]

这是我做的:

我使用pandas库创建数据框

def dataFromDirectory(path):
    rows = []
    index = []
    for filename, message in readFiles(path):
        rows.append({'resume': message})
        index.append(filename)

    return DataFrame(rows, index=index)

test= DataFrame({'resume':[]})
test=test.append(dataFromDirectory(r'<folder path>'))

这很有效,我成功创建了一个数据框,包含10个样本.txt文件。

所以,

test.head()

将分别在两列中提供5x2文件路径和txt文件内容。像这样:

         | data   |
<path1>  | <text> |
<path2>  | <text> |
<path3>  | <text> |
 .  
 .
 .

但是,当我进行Tf-Idf转换时:

testtf=tf.transform(test) #tf is the Tf-Idf vectorizer
pred1=mnb.predict(testtf) #MultinomialNaiveBayes is mnb

我输出为

[0]

我做错了什么?请注意我使用的是Python 3。

0 个答案:

没有答案