朴素贝叶斯分类器的存储模型
1. 引言
在机器学习中,以一个简单的线性模型 $Y = a X1 + b$ 为例,其中 $X1$ 是数值输入变量,$Y$ 是数值输出。训练数据会确定系数 $a$ 和 $b$,这些系数包含了学习到的信息。一旦得到这些系数,训练数据就不再需要保留,模型可以用于新数据。
在开发分类器时,通常会忽略存储学习信息这一步骤。但为了完整性和编程需求,我们需要讨论算法如何对结果进行分类(或预测),以及如何存储在训练集上学习到的信息,以便应用于新的未标记数据。在基于参数的机器学习中,通过训练数据学习到的信息存储在参数中(与非参数算法如 KNN 相对)。这里的“参数”与函数签名中的“参数”含义不同,前者是计算机科学术语,后者是统计学术语。
我们使用在训练集上学到的参数对测试集进行预测,这样可以通过在未见过的数据上测试来评估算法的准确性。对于之前实现的朴素贝叶斯算法,现在的额外编程任务是构建一个结构来存储学习到的参数,并编写一个函数在运行时动态读取该结构。
2. 存储学习到的条件概率的矩阵
本章代码的主要更改是添加一个结构来存储参数,即一组矩阵,用于存储在模型训练过程中学习到的条件概率。对于每个输入变量,我们会创建一个矩阵,矩阵的行是类变量的水平,列是相关输入变量的水平,矩阵的单元格存储条件概率。
例如,对于 nominal.weather 数据框,输入变量 humidity 有两个水平: high 和 normal ,类变量 play 有两个水平:
超级会员免费看
订阅专栏 解锁全文
812

被折叠的 条评论
为什么被折叠?



