如何为 scikit 和 NLTK 使用不同的数据集?

Posted

技术标签:

【中文标题】如何为 scikit 和 NLTK 使用不同的数据集?【英文标题】:How to use different dataset for scikit and NLTK? 【发布时间】:2015-05-19 03:52:06 【问题描述】:

我正在尝试为我拥有的原始数据实现 Scikit 和 NLTK 的内置朴素贝叶斯分类器。我拥有的数据是设置制表符分隔的行,每个行都有一些标签、段落和一些其他属性。 我有兴趣对段落进行分类。 我需要将此数据转换为适合 Scikit/NLTK 内置分类器的格式。 我想为所有段落实现高斯、伯努利和多项朴素贝叶斯。

问题 1: 对于 scikit,给定的 example 导入 iris 数据。我检查了虹膜数据,它具有数据集中的预先计算值。如何将我的数据转换为这种格式并直接调用高斯函数?有没有这样做的标准方法? 问题2: 对于 NLTK, NaiveBayesClassifier.classify 函数应该输入什么?是布尔值的字典吗?如何使它成为多项式或高斯?

【问题讨论】:

在 scikit-learn 中有处理文本数据的教程:scikit-learn.org/dev/tutorial/text_analytics/… 我尝试安装 scikit 但找不到教程。我的python版本是2.7..需要更高版本吗? 教程在网站上。根据您安装 scikit-learn 的方式,可能不包括用户指南和教程。但他们在网站上。我不确定您还在寻找什么。 【参考方案1】:

@问题2:

nltk.NaiveBayesClassifier.classify 需要一个所谓的“功能集”。特征集是一个字典,特征名称作为键,特征值作为值,例如'word1':True, 'word2':True, 'word3':False。 Nltks 的朴素贝叶斯分类器不能用作多项式方法。但是,您可以安装 scikit learn 并使用 nltk.classify.scikitlearn 包装器模块来部署 scikit 的多项分类器。

【讨论】:

以上是关于如何为 scikit 和 NLTK 使用不同的数据集?的主要内容,如果未能解决你的问题,请参考以下文章

如何为 NLTK 中的歧义句子生成多个解析树?

nltk 和 scikit-learn 的安装

如何为 scikit-learn 播种随机数生成器?

在 scikit-learn 中使用 nltk 搭配作为特征

在NLTK和scikit-learn中结合文本词干和删除标点符号

如何为 scikit-learn 的朴素贝叶斯指定先验概率