Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Numpy Scikit朴素贝叶斯文本分类_Numpy_Scikit Learn_Scikits - Fatal编程技术网

Numpy Scikit朴素贝叶斯文本分类

Numpy Scikit朴素贝叶斯文本分类,numpy,scikit-learn,scikits,Numpy,Scikit Learn,Scikits,我正在尝试使用scikit进行朴素的Basyes分类。我有几个问题(我也是scikit的新手) 1) Scikit算法希望输入为numpy数组,标签为数组。在文本分类的情况下,我是否应该通过维护vocab中的单词散列和与之相关联的唯一id,将每个单词映射为一个数字(id)?这是scikit的标准做法吗 2) 如果将同一文本分配给多个类,我应该如何继续。一个明显的方法是复制每个培训示例,每个示例对应一个相关标签。还有更好的代表性吗 3) 类似地,对于测试数据,如何获得与测试关联的多个类 我正在使用

我正在尝试使用scikit进行朴素的Basyes分类。我有几个问题(我也是scikit的新手)

1) Scikit算法希望输入为numpy数组,标签为数组。在文本分类的情况下,我是否应该通过维护vocab中的单词散列和与之相关联的唯一id,将每个单词映射为一个数字(id)?这是scikit的标准做法吗

2) 如果将同一文本分配给多个类,我应该如何继续。一个明显的方法是复制每个培训示例,每个示例对应一个相关标签。还有更好的代表性吗

3) 类似地,对于测试数据,如何获得与测试关联的多个类

我正在使用 作为我的基地。

1)是的。使用特征提取模块中的DictVectorizer或HashVectorizer。 2) 这是一个多标签问题。可能使用multi_类模块中的OneVsRestClassifier。它将为每个类训练一个单独的分类器。 3) 使用多标签分类器/每个CALS使用一个分类器可以做到这一点

看看
谢谢你的回答。在这个策略中我有几个问题:假设我使用OneVsAll/OneVsRestClassifier,标签的排列将构成一个不同的类,而它应该是相同的,这难道不容易受到这个事实的影响吗。例如,对于一个特定的测试,假设我现在有一个标签X,Y,Z,用于几乎相似的文本,如果我有Z,Y,a作为标签,OneVsAll分类器将错误地认为第一个文本适合X,而第二个文本适合Z?而排列并不重要。标签排序会有帮助吗?Scikit learn将为您解决这一问题,但我建议将LabelBinarizer应用于您的标签,这将创建一个独特的表示。