python机器学习0基础到入门的心得----入门篇3 朴素贝叶斯

什么是朴素贝叶斯

  • 整个形式只做最原始, 最简单的假设
  • 上一章要求分类器做出多数表决, 给出该样本到底属于哪一类, 不过分类器有时会产生错误结果, 这时候可以要求分类器给出一个最优的类别猜测结果, 也就是选择高概率的决策结果, 同时给出这个猜测的概率是多少

本章节代码


优点:

  1. 数据较少的情况仍然有效, 可以处理多类别问题

缺点:

  1. 对于输入数据的方式比较敏感

适用数据类型: 标称型


术语

一个特征需要N个样本, 10个特征需要1000样本, 如果特征之间相互独立, 样本就可以减少到1000*N, 独立指的是统计意义上的独立, 即一个特征或单词出现的可能性和其他单词相邻没有关系, 举个例子, bacon出现在unhealthy附近,而很少出现在unhealthy附近, 这个假设正式朴素贝叶斯分类器中’朴素’一词的含义, 另一个假设是, 每个特征同等重要(不考虑词在文档中出现的次数, 只考虑出不出现, 这个意义上相当于假设词是等权重的), 这个假设也有一些问题, 如果要判断留言板的留言是否得当, 那么可能不需要看完全部的单词, 只需要看10~20个特征就足以判断, 上述假设有一些小问瑕疵, 但朴素贝叶斯实际效果很好

词集模型: 将每个词的出现与否作为一个特征, 每个词只能出现一次, 这可以被描述为词集模型

词袋模型: 如果一个词在文档中出现不止一次, 这可能意味着 包含 该词 是否出现在 文档中 所不能表达的 某种信息, 在词袋中, 每个单词可以出现多次

留存交叉验证: 随机选择数据的一部分作为测试集, 而剩余部分作为训练集的过程称为留存交叉验证

停用词表: 不仅移除高频词, 同时从某个预订词表中移除结构上的辅助词


本人归纳:

  • 准备数据, 进行词分类
  • 计算词频出现次数的向量
  • 计算类别概率=(计算每个类别下每个词的出现次数 / 每个类别总出现次数), 获得属于某个类别的概率, 类别与类别进行比较
  • 这里写图片描述
  • 计算文档里面每个字的出现的频率, 在累加所有词的概率, 在加上类别概率的ln, 最后哪个类别的概率大,选哪个

猜你喜欢

转载自blog.csdn.net/qq351469076/article/details/80777588