NLTK之朴素贝叶斯分类器

由于学习需要,最近开始接触NLTK,使用最简单的Naive Bayes Classifier,但是写代码过程中各种错误和不顺,现将其记录于此。

之前并不知道分类器传的是什么参数,于是闷着头瞎写,结果总是报错

TypeError: 'tuple' object does not support item assignment

郁闷了一段时间,终于弄清楚分类器传的参数:

[

({"word1":value1,"word2":value2..."wordn":valuen},label),

({"word1":value1,"word2":value2..."wordn":valuen},label),

...

]

这是一个三层复合结构,首先它是一个list,第二层是一个元组,最里面是一个字典,还不明白?

我们看一个简单的例子。

假设我们有训练数据如下:

("房间太小,台灯古老",-1)

("房间比较宽大,走廊很大",+1)

分词之后我们得到单词集合

["房间",“太小”,“台灯”,“古老”,“比较”,“宽大”,“走廊”,“很大”](手工分词,仅为说明)

我们最后得到的要传的参数如下:

[

({"房间":True,“太小”:True,“台灯”:True,“古老”:True,“比较”:False, “宽大”:False,“走廊”:False,“很大”:False},-1)

({"房间":False,“太小”:False,“台灯”:False,“古老”:False,“比较”:True, “宽大”:True,“走廊”:True,“很大”:True},+1)

]

注意:这里字典的元素是整个语料单词的set元素个数,假如只是传本句训练语料的个数最后准确率只有0.24,而用上述方法NB方法可以达到0.83,至于上面的True和False可以用词频代替,实验效果差别不大。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

【学习】笨办法学R编程(三)

看到各位对“笨办法系列”的东西还比较感兴趣,我也很乐意继续写下去。今天的示例将会用到数据框(data.frame)这种数据类型,并学习如何组合计算...

3225
来自专栏机器学习算法与Python学习

0-1整数规划与隐枚举法-感受剪枝的魅力

前一段时间一直在谈支持向量机,一直到上次给出了改进版的最小二乘支持向量机在实际工程问题中的应用为止算是告一段落了,从今天开始将以斯坦福大学-吴恩达教授的机器学习...

3124
来自专栏冰霜之地

神奇的德布鲁因序列

数学中存在这样一个序列,它充满魔力,在实际工程中也有一部分的应用。今天就打算分享一下这个序列,它在 Google S2 中是如何使用的以及它在图论中,其他领域中...

1023
来自专栏AILearning

【机器学习实战】第13章 利用 PCA 来简化数据

第13章 利用 PCA 来简化数据 ? 降维技术 场景 我们正通过电视观看体育比赛,在电视的显示器上有一个球。 显示器大概包含了100万像素点,而球则可能...

28111
来自专栏恰同学骚年

数据结构基础温故-5.图(中):图的遍历算法

上一篇我们了解了图的基本概念、术语以及存储结构,还对邻接表结构进行了模拟实现。本篇我们来了解一下图的遍历,和树的遍历类似,从图的某一顶点出发访问图中其余顶点,并...

641
来自专栏Spark学习技巧

CountVectorizer

CountVectorizer 关于文本特征提取,前面一篇文章TF-IDF介绍了HashingTF,本文将再介绍一种Spark MLlib的API CountV...

2887
来自专栏PaddlePaddle

【进阶篇】Recurrent Group教程

导语 PaddlePaddle 高度支持灵活和高效的循环神经网络配置。接下来的进阶篇推文将围绕RNN模型展开,指导你如何在 PaddlePaddle 中配置和使...

3275
来自专栏小小挖掘机

如何使用tensorflow做张量排序和字符串拼接?

本文,将总结一下最近使用tensorflow中遇到的两个小需求:张量排序和字符串拼接,咱们一起来学习一下,嘻嘻!

802
来自专栏C语言及其他语言

【每日一题】问题1122【C语言训练】亲密数

题目描述 两个不同的自然数A和B,如果整数A的全部因子(包括1,不包括A本身)之和等于B;且整数B的全部因子(包括1,不包括B本身)之和等于A,则将整数A和B...

2848
来自专栏大闲人柴毛毛

剑指offer——年龄排序问题

题目:对某公司所有员工的年龄进行排序,要求时间复杂度为O(n) 分析:         在已有的排序算法中,性能最好的是快速排序,但是他在最好的情况下时间复杂度...

2776

扫码关注云+社区