NLTK之朴素贝叶斯分类器
来源:互联网 发布:哈工大大数据集团 国企 编辑:程序博客网 时间:2024/06/05 19:24
转载请标明出处:http://blog.csdn.net/wuzqchom/article/details/51264231
由于学习需要,最近开始接触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可以用词频代替,实验效果差别不大。
- NLTK之朴素贝叶斯分类器
- 使用NLTK的朴素贝叶斯分类器来训练并完成分类工作
- 朴素贝叶斯分类器之原理
- 朴素贝叶斯分类器之小试牛刀
- 机器学习之朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- 朴素贝叶斯分类器
- libcurl 如何支持https
- java排序之shell排序
- 自定义泛型
- Android自定义一个时间轴,通过ListView来实现时间轴的效果
- leetcode-112. Path Sum
- NLTK之朴素贝叶斯分类器
- RxJS入门(4)----深入Sequence
- 解析MATLAB中设置当前工作目录与搜索路径设置的区别
- 【AR】Kinect + Unity 体感及增强现实开发历程
- 4184: shallot 线段树+按时间分治+线性基
- 进程间通信的方式及比较
- JavaBean与Jsp
- 在已创建MFC工程中添加BCGControlBar来美化外观
- 编写一个词法分析,对于输入的一段程序,可以获取该程序的单词符号。