`
unbounder
  • 浏览: 174371 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

文档分类(1)朴素贝叶斯模型

阅读更多
wiki地址:http://en.wikipedia.org/wiki/Bayesian_model_comparison

做爬虫、做搜索、做数据挖掘都免不了对数据做索引,更进一步的操作应该是对得到文档做分类操作。传统yahoo目录式网页导航就是一个很典型的文档分类应用,利用文档分类确定特定领域也能更好的进行数据挖掘。

朴素贝叶斯模型是文档分类的重要一支,也是基础中的基础,

贝叶斯模型的基本公式如下:

稍微解释一下公示的物理意义,M为分类集合C众多某一个类别,D为待分类文档。
我们将带分类文档对于某一个类别的后验概率作为其与这种分类的相关性评分,分数越高代表越相关,再利用公式将后验概率表示为利于计算的形式。
其中P(D)对于同一篇文档是一个常量;而P(M)对应于训练集中各类别的数量,我们可以估计为P(M1)=P(M2)=^P(MN)=1\N,在比较运算中,可以不用考虑。
实际上需要进行计算的量只有特定集合M对于待分类文档D的先验概率,即P(D/M)。

P(D/M)=∏P(di/M)

其中di为D中各属性值,在特定文档分类中,我们可以视为出现的单词。而P(di/M)为在M训练集中某一个单词di出现的词频。

因为有可能出现待分类文档中出现一个训练集中从未出现的单词,也就是p(di/m)=0,做拉普拉斯校准,即令每一个单词在训练集中出现的次数+1,未出现过的单词认定为出现1次。

简单代码如下:
        for (String s : tempList) {//templist为待分文档切词后的结果
            if (itMap.containsKey(s)) {//itmap为某一个训练集按照词频预处理后的hashmap<string,integer>
                int t = itMap.get(s);
                double a = (double) (t + 1) / total4it;
                a = Math.log(a);//将乘法运算变为加法运算,避免结果过小越界。
                tempresult += a;
            } else {
                tempresult += Math.log((double) 1 / total4it);
            }
        }


测试中我们使用从sina爱问中爬下来的计算机、旅游、汽车、经济和生活五个分类中各一万个问答对,选取各自前2000条作为测试集,其余8000条为各自训练集。
在一万条测试数据中,正确分类率达到了89.4%,效果良好。
  • 大小: 2.5 KB
0
0
分享到:
评论

相关推荐

    Matlab2.rar_文档分类_朴素贝叶斯 分类_朴素贝叶斯MATLAB_贝叶斯_贝叶斯分类

    朴素贝叶斯分类是一种基于概率理论的机器学习方法,它在文档分类领域有着广泛的应用。MATLAB作为一种强大的数值计算和编程环境,为实现朴素贝叶斯分类提供了便利。本资料"Matlab2.rar"显然是一个关于如何在MATLAB中...

    3种模型朴素贝叶斯、拉普拉斯平滑完成文本分类

    朴素贝叶斯完成文本分类,包含现在常用的文档、单词、混合 3种模型。引入了拉普拉斯平滑技术,通俗易懂。

    朴素贝叶斯分类器算法

    通过理解贝叶斯定理、特征独立假设、Python实现以及数据预处理,我们可以构建和应用自己的朴素贝叶斯模型。在实践中,需要注意不同Python版本之间的语法差异,并选择合适的评估标准来衡量模型的性能。

    基于朴素贝叶斯的垃圾邮件分类

    朴素贝叶斯算法是一种基于概率的分类方法,因其简单而有效,在处理文本分类问题,如垃圾邮件识别,中表现突出。本主题将深入探讨“基于朴素贝叶斯的垃圾邮件分类”这一技术。 朴素贝叶斯分类器基于贝叶斯定理,该...

    朴素贝叶斯分类模型完整代码

    朴素贝叶斯模型是基于贝叶斯定理的分类方法,假设特征之间相互独立。即使在实际问题中这种假设往往过于简单,但朴素贝叶斯分类器依然表现出色,尤其是在处理高维稀疏数据时,如文本分类。 2. **数据预处理**: - ...

    java实现朴素贝叶斯分类算法

    朴素贝叶斯分类算法是一种基于概率的机器学习方法,它基于贝叶斯定理和特征条件独立假设。在Java中实现朴素贝叶斯分类器,我们需要理解以下几个关键知识点: 1. **贝叶斯定理**:贝叶斯定理是概率论中的一个公式,...

    一种双层贝叶斯模型:随机森林朴素贝叶斯.docx

    该模型由两层组成,第 1 层使用随机森林从原始的单词特征中学习高层特征,第 2 层使用学习到的新特征构建伯努利朴素贝叶斯模型。 朴素贝叶斯模型是文本分类领域中的一种常用模型,然而其假定单词之间相互独立,这...

    一种文本处理中的朴素贝叶斯分类器

    朴素贝叶斯分类器作为一种基于概率的机器学习模型,在文本分类领域具有广泛的应用。该文首先介绍了朴素贝叶斯分类器的基本原理,包括特征独立性假设,并探讨了如何训练及应用朴素贝叶斯分类器来进行文本分类。此外,...

    基于朴素贝叶斯实现的文本分类

    朴素贝叶斯(Naive Bayes)是一种基于概率论的机器学习算法,尤其在文本分类领域表现出色。它依赖于贝叶斯定理,并假设特征之间相互独立,这是其“朴素”的体现。在这个项目中,我们将深入探讨如何利用Python来实现...

    文本分类,使用机器学习算法,如朴素贝叶斯、逻辑回归、支持向量机等

    朴素贝叶斯是一种基于概率的分类方法,它基于贝叶斯定理,并假设特征之间相互独立。在文本分类中,每个词被视为一个特征,文档被看作是由这些特征组成的概率分布。尽管“朴素”一词意味着对特征独立性的简化假设,但...

    朴素贝叶斯分类法

    在中文文本分类领域,朴素贝叶斯被广泛应用于新闻分类、情感分析、文档主题识别等多个场景。其核心思想是通过计算每个类别的先验概率以及每个特征在各个类别下的条件概率,来预测新样本所属的类别。 首先,我们要...

    基于朴素贝叶斯模型的中文关键词提取算法

    该算法首先通过训练过程获取朴素贝叶斯模型中的各个参数,然后以此为基础,在测试过程中完成关键词提取。相较于传统的tf*idf算法,该算法能准确提取出文档中的关键词,具有良好的扩展性。

    基于朴素贝叶斯的文本分类

    其中可能包含了读取数据、预处理文本、构建特征向量、训练朴素贝叶斯模型、评估模型性能的函数。 7. **实际应用**:朴素贝叶斯文本分类常用于垃圾邮件过滤、情感分析、新闻主题分类等多种场景。由于其简单高效,...

    基于朴素贝叶斯分类器的文本分类算法

    此外,当新数据出现时,朴素贝叶斯模型可以轻松地用新数据更新概率分布,这使得它在在线学习和增量学习中表现出色。 然而,朴素贝叶斯也有其局限性。由于假设特征之间独立,它可能无法捕捉到特征之间的复杂关系,这...

    朴素贝叶斯事例代码

    朴素贝叶斯是一种基于概率论的分类方法,广泛应用于机器学习领域。它的核心思想是假设特征之间相互独立,即“朴素”一词的含义。在本案例中,我们将深入探讨如何利用朴素贝叶斯进行文本分类,特别是针对电子邮件是否...

    朴素贝叶斯 文本分类

    8. **优化与改进**:朴素贝叶斯模型可能对缺失值敏感,可以使用拉普拉斯平滑来处理。此外,还可以尝试更复杂的特征工程,比如n-gram、词性标注等,以提高模型的性能。 通过深入研究这个Java项目,我们可以掌握朴素...

    模式识别朴素贝叶斯分类器

    - 虽然朴素贝叶斯模型假设特征独立,但在许多实际问题中,特征之间可能存在相关性。可以通过贝叶斯网络等方法考虑特征间的依赖关系。 - 朴素贝叶斯分类器训练速度快,适合大规模数据集,但预测准确性可能受“朴素”...

    朴素贝叶斯对于文本分类

    4. **构建模型**:将这些概率存储起来,形成朴素贝叶斯模型。 测试阶段,给定一个新的文本,我们计算它属于每个类别的后验概率 P(Class|Text),并选择概率最大的类别作为预测结果。具体计算方式为: P(Class|Text)...

Global site tag (gtag.js) - Google Analytics