问题标签 [naivebayes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4392 浏览

r - 如何交叉验证朴素贝叶斯分类器?

我使用 e1071 进行天真的分类

功能

我想使用 cvTools 进行交叉验证

我怎么能写这个,cvFit的文档对我来说真的很难理解

0 投票
0 回答
1840 浏览

r - R bnlearn - 带有 naive.bayes() check.data() 错误的参数学习

我有一个图结构,由另一种方法确定,我想做参数学习。然而,bnlearn 方法似乎直接在数据集上进行参数学习(严格在数据框中)。我有两个问题:如何使用 bnlearn 从 igraph 或 graphNEL 结构中进行参数学习?

第二个问题:当我尝试使用我的数据集进行参数学习时出现 check.data() 错误。他们的示例代码有效,我不明白为什么我的数据集没有。请参阅下面的代码和下面的可重现示例。

这是他们的示例代码:

我的可重现示例(naive.bayes() 调用错误):

错误信息:

我不认为这个错误来自于检测整数,因为当我将数据转换为数据帧时,我首先将其转换为数字,因为 bnlearn 中的其他方法需要数字或因子数据。这个数据集是计数数据,但我想使用假设我使用连续数据集的方法。这有意义吗?

0 投票
0 回答
301 浏览

scala - 如何为 Spark MLlib 朴素贝叶斯创建训练文件并计算 TF-IDF

我需要在类别树中对很多产品进行分类,我正在使用 Spark 和 Mlib Naive Bayes 进行测试。但我不明白如何计算 TF-IDF。

我有一个这样的培训师文件:

等等等等

其中第一列是类别 id,其他是转换为索引的单词。

这是我用于训练的(伪)代码:

好吧,如果我尝试搜索一个类别:

结果是正确的,它返回一个类别 103: Result = 103.0

现在的问题是,如何计算训练文件的 TF-IDF?

0 投票
0 回答
77 浏览

statistics - 具有相交/正交特征集的朴素贝叶斯分类器?

我面临的分类问题似乎适用于朴素贝叶斯分类器 (NBC)。但是,我有一个问题:通常 NBC 的工作原理是根据随机变量 X 的观察值 x 从一组 C 类中估计最可能的 C 类。

在我的情况下,我有多个变量 X1、X2,它们可能共享也可能不共享特征。变量 X1 可能具有特征 (xa,xb,xc),X2 可能具有 (xc,xd),另一个变量 X3 可能具有 (xe)。是否可以构建一个分类器,允许我同时对 X1、X2 和 X3 进行分类,尽管这些特征是相交的甚至是正交的?

这个问题可以从另一个角度来看:对于某些类,我缺少某些特征中的所有数据。考虑下表:

类 = {C1,C2}。
特征 = X = {X1,X2,X3}, X1={A,B}, X2={1,2}, X3={Y,N}

C1类:

C2类:

如您所见,X3 功能对 C1 类没有任何影响。在分类 C1 时,没有可用于特征 X3 的数据。我可以制作一个将 X=(A,2,N) 分类为 C1 和 C2 的分类器吗?我将如何计算 C1 类中 X3 缺失数据的条件概率?

0 投票
0 回答
349 浏览

text-mining - 客观 - 主观文本分类器:

我正在尝试使用 imdb data 为主观和客观文本构建分类器。对于客观数据点,我使用电影的情节摘要作为输入,而对于主观数据点,我使用电影评论。

我将完整的情节摘要作为一个数据点,在评论的情况下,单个用户的每条评论都是一个数据点。在我的数据库中,不同用户对同一部电影的不同评论作为不同的数据点输入。

在此之后,我清理了特殊字符的单词,删除了停用词,计算了信息增益以创建字典,并使用词频应用朴素贝叶斯计算概率。

现在我的问题是

  • 我构建分类器的算法是否正确?
  • 我的分类器严重偏向客观。我在创建训练数据时犯了错误吗?
  • 我想创建一个通用分类器,可用于推文或
    从博客中提取的东西。影评数据是否足够?现在它甚至不适用于电影评论数据
0 投票
1 回答
523 浏览

machine-learning - 计算朴素贝叶斯分类中的概率

我有一个由分类属性和连续属性组成的数据集。我想应用朴素贝叶斯分类方法对数据进行分类。

如何计算这两种类型的概率?

我应该使用计数方法计算分类数据并假设一些分布并根据连续数据计算吗?

0 投票
0 回答
1023 浏览

python - 为什么我的 .pickle 保存的分类器给出的结果与在一个程序中进行训练和分类不同

我以前在堆栈上看到过这个问题,但解决方案对我不起作用,请参阅Save and Load testing contrast Naive Bayes Classifier in NLTK in another method。我很困惑为什么当我加载腌制分类器而不是仅仅在同一个程序中进行训练和分类时,我的准确性有很大不同。第一个代码块调用腌制分类器,第二个代码块一起进行所有训练和分类。第二种方法的准确率为 99%,而第一种方法的准确率为 81%……

与我训练和测试准确性的这段代码相反。我对所有内容都使用相同的定义,所以我知道问题不在于定义。唯一的区别是腌制分类器......发生了什么?

0 投票
1 回答
394 浏览

machine-learning - 使用朴素贝叶斯获得类概率

我正在尝试用两个类对输入进行分类,这是代码。dino并且crypto是两个类:

另一种方法是:

在第二种方法中,我得到了非常小的值。

哪一个是正确的,还是两者都正确?

0 投票
0 回答
609 浏览

python - 如何使用 Python NLTK 在字符串中查找市、县及其缩写

我正在努力通过提供或寻求、出发地和目的地以及日期和时间来对来自拼车 Facebook 群组的帖子进行分类。人们会发布如下内容:

提供:从旧金山到西南拉(托伦斯)在这个星期四晚上 6 点或 7 点左右离开,也就是明天

提供:SFO--->LA(比佛利山庄地区)星期四上午 9 点 30 美元汽油

使用正则表达式我清理文本:

从旧金山到西南拉托伦斯的产品在这个星期四晚上 6 点或 7 点左右离开,也就是明天

周四上午 9 点 30 分向贝弗利山地区提供 sfo

然后我将新清理的帖子存储在 mysql 数据库中。

有人建议我在为朴素贝叶斯创建训练集之前删除位置并用元词替换它们(欢迎提出其他算法的建议)。我检查地点,例如 ucla(包括城市和县的缩写,例如“sf”)、城市和县。我想使用 Python 的 NLTK 库来删除位置,用元词替换,同时仍然跟踪哪个位置对应于哪个元词。

使用上面的代码(未显示 checkForPlaces 函数,但实际上是相同的),第二个帖子将变为:

周四上午 9 点 30 分向 LOCATION LOCATION 地区提供 LOCATION。

跟踪第一个位置对应于 sfo,第二个对应于 la,第三个对应于比佛利山庄。

  1. 如您所见,sf 是旧金山的缩写。当我在将文本放入数据库之前第一次清理文本时,我应该用 SF 替换所有旧金山实例还是用旧金山替换所有 SF 实例?我目前正在做前者,因为我经常错误地替换缩写词(也许我的正则表达式只需要工作?)。
  2. 或者,如果我可以创建一个所有城市的列表并让一些 NLTK 函数告诉我帖子中是否存在城市或缩写,那会容易得多。这样的事情存在吗?奖励问题:如何解析日期和时间(它们以各种可以想象的格式出现)?

您可以在此处找到更多示例帖子

0 投票
1 回答
1127 浏览

apache-spark - 如何获得 Spark Naive Bayes 分类器中类的概率?

我正在 Spark 中训练 NaiveBayesModel,但是当我使用它来预测新实例时,我需要获取每个类的概率。我查看了 NaiveBayesModel 中 predict 函数的代码,得出以下代码:

这工作正常吗?该行BLAS.axpy(1.0, piVector, prob)不断给我一个错误,即找不到值'axpy'。