Scikit Learn多类分类(完美结果)

大家好,我刚开始学习scikit learn,正在尝试进行一些文本多类分类,我在按照这个教程进行学习。
我的数据集有4个类别'fipdl', 'lna','m5s','pd',所以我有4个文件夹(每个类别一个),每个文件夹包含120个txt文件,每个文件大约有25行文本(来自Facebook的状态更新)。我使用其中的90%进行训练,10%用于测试。
10%的txt文件名以’ts’开头,我使用这些文件进行测试。
所以我的代码是:

...

输出结果如下:

...

现在结果看起来好得令人难以置信,因为每种方法都给我1的精确度。
我还想尝试预测我自己输入的字符串而不是使用测试集,以便进行更多测试,所以我将原始代码修改为如下:

...

但它失败了,显示错误信息:

ValueError: Found arrays with inconsistent numbers of samples: [18 44]

我是不是遗漏了什么?或者这完全是一个错误的方法?
任何帮助将不胜感激,
提前感谢Nico。


回答:

尽管我还没有弄清楚为什么它给我完美的结果,但我决定使用不同的方法来分类我的文本(使用MultinomialNB)并用我选择的字符串进行测试。我不确定这是否是最好的方法,但它有效,所以我决定作为答案发布:(请注意,并非所有代码行都是必要的)

...

然后在控制台中只需运行script.py "string to predict"

这个代码可以做很多改进,比如保存训练好的模型,但对于我的使用来说已经足够好了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注