文本分类(Document Classification / Document Categorization)
▶ 分类方法1——基于规则(Hand-coded)
- 精度高
- 开销大
▶ 分类方法2——机器学习(Machine learning)
是一种计算机算法,该算法通过对数据做自动分析来获得规律,并利用这些规律对未知数据进行预测。它是人工智能的一个分支。
有监督学习 | 无监督的学习 |
---|---|
训练集包括输入和由人工标注的输出 | 其训练集没有人为标注的输出 |
分类器(classifier) | 聚类(cluster) |
常用的分类器有:朴素贝叶斯、KNN、决策树、SVM、神经网络等。
朴素贝叶斯(Naïve Bayes)
▶ 朴素贝叶斯的原理
▶ 朴素贝叶斯的优缺点
- 优:朴素贝叶斯假设了数据集属性之间相互独立,因此算法的逻辑性得到极大的简化,这使得朴素贝叶斯十分稳定,即比较健壮。
- 缺:属性的独立性条件同时也是朴素贝叶斯的不足之处,毕竟在实际中,数据集的属性之间往往存在这样那样的关联,很难满足这种属性的独立性,分类效果也会因此大大降低。
▶ 朴素贝叶斯的理解
- 属性独立性是Naïve Bayes的前提也是关键
- 这种独立性也代表着:属性无权重,它们对于决策结果的影响是平等的
- 贝叶斯方法的特点是结合先验概率和后验概率,即避免了只使用先验概率的主观偏见,也避免了单独使用样本信息的过拟合现象——通过下面的简单例子,你就能理解这句话了 >_<
▶ 如何基于这些原理实现Naïve Bayes分类器?
通俗地说,就是根据已有的数据集,得到先验概率和各种属性对于各种决策的条件概率(可以理解为每种属性对每种决策的影响的大小);面对新的场景,对于每一种决策结果,进行一串连乘,推选出概率最高者为最终决策。
一个超级简单的例子
Chinese、Beijing、Tokyo等为相互独立的属性
求第五组(text5)属于那一类(c / j) ?
▶ 手写解
▶ 代码解
text1 = "Chinese Beijing Chinese" # 分类为c
text2 = "Chinese Chinese Shanghai" # 分类为c
text3 = "Chinese Macao" # 分类为c
text4 =