SPSS 命令: SPSS NAIVEBAYES

在浏览器中做朴素贝叶斯分类

朴素贝叶斯在“各预测变量在每个类别内相互独立”的假设下,综合每个预测变量提供的证据对个案进行分类。

免费 · 无需注册 · 文件留在本机 · 更新于 2026年10月18日

能告诉你什么

Crosstabs 在你的设备上运行 SPSS NAIVEBAYES:标度预测变量切分为等宽分箱,概率经过平滑,保留部分缺失的预测变量,并可通过向前选择按伪 BIC 或保留的测试样本挑选最佳子集。

  • 模型在训练样本和可选测试样本中正确分类的比例,包括整体和各类别。
  • 每个类别的先验概率,以及每个预测变量类别或分箱在给定类别下的条件概率。
  • 哪些预测变量值得保留:来自向前选择的顺序及其伪 BIC 或测试准则。

适用场景

适合使用

  • 用大量分类调查题目预测一个分类结果,例如续订、流失或偏好品牌。
  • 需要一个快速、透明、可以直接阅读概率表的分类器。
  • 预测变量存在零散缺失值,又不希望整条删除个案。

改用其他方法

  • 预测变量之间高度相关(多个题目测量同一事物):独立性假设会重复计算其证据。
  • 需要预测变量的效应量或显著性检验:使用 Logistic 回归或多项 Logistic 回归。
  • 目标为标度变量:朴素贝叶斯需要分类目标;数值预测请使用 KNN 或回归。
  • 必须应用个案权重:面板会忽略权重并给出提示。

在 Crosstabs 中如何操作

  1. 01

    打开数据

    在工作区打开文件并切换到“统计”模式。

  2. 02

    选择朴素贝叶斯

    在“机器学习”组中选择“朴素贝叶斯”。

  3. 03

    设置目标和预测变量

    在“变量”中选择“目标”、“分类预测变量”和“标度预测变量(分箱)”,并设置“标度预测变量的等宽分箱数”(默认 10)。

  4. 04

    选择预测变量筛选方式

    在“预测变量选择”中保留“使用全部预测变量”,或选择“选择最佳子集(最大预测变量数)”或“选择确切数量的预测变量”。

  5. 05

    保留测试样本并运行

    可选勾选“保留测试样本”并设置“训练样本(%)”和“随机种子”;有测试样本时,子集选择使用测试准则而非伪 BIC。点击“运行”。

计算示例

以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。

数据

240 名模拟订阅用户,结果为是否续订(续订或流失)。其中两个预测变量含有信息——客服工单数量(none、some、many)和每月使用小时数(标度变量,切分为 10 个等宽分箱)——另外两个是纯噪声:地区和年龄。由固定随机种子生成;全部个案作为训练样本。

预测变量选择摘要
步骤添加的预测变量平均对数似然(训练)伪 BIC
1usage−0.49190.5033
2support−0.46220.4850
3age−0.44950.4838
4region−0.45090.4966

选定的预测变量:usage, support, age。准则值越小表示子集越好。

先验概率
类别概率
流失0.4208
续订0.5792
分类 — 训练
观测值流失续订正确百分比
流失673466.3%
续订2511482.0%
总百分比38.3%61.7%75.4%

概率使用 1/N 的狄利克雷平滑。

条件概率:support
类别流失续订
many0.46530.1727
none0.23760.5467
some0.29700.2806

结果解读

向前选择依次加入 usage, support, age, region,伪 BIC 最终保留 3 个:usage, support, age。使用这些预测变量,模型对训练个案的正确分类率为 75.4%,而较大类别的先验概率为 57.9%。伪 BIC 还保留了 age,而它在本数据中是纯噪声——仅凭训练数据做选择可能过拟合。没有测试样本时,这是偏乐观的样本内结果;勾选“保留测试样本”可得到更可靠的估计。

输出表格说明

预测变量选择摘要
每一步添加的预测变量、训练样本平均对数似然,以及伪 BIC 或测试准则;准则最小处即为选定子集。
分类
观测类别 × 预测类别的计数、各类别正确百分比和总百分比,分别针对训练个案以及(如有)测试个案。
先验概率
训练数据中各目标类别经平滑后的比例。
条件概率
每个选定预测变量一张表:每个类别或分箱在各目标类别内的概率。同一行在各类别间差异越大,对分类的作用越大。

前提假设与注意事项

  • 在给定类别的条件下预测变量相互独立;即便这一假设只是近似成立,分类器通常仍能较好地排序个案。
  • 标度预测变量在训练数据上切分为等宽分箱,空分箱会被合并。
  • 概率采用 1/N 的狄利克雷平滑,未出现过的类别不会得到零概率。
  • 预测变量缺失时仅在该个案中跳过;观测类别少于两个的预测变量会被忽略。

结果如何验证

在完整个案上,后验概率与 scikit-learn CategoricalNB(alpha = 1/N)在小数点后 12 位一致。一个独立的 NumPy 实现核对了含空分箱合并的等宽分箱、缺失预测变量的处理、先验概率,以及在伪 BIC 和测试数据准则下的向前选择顺序:对数似然与准则在小数点后 12 位一致,选出的预测变量相同。 验证证据(英文)

常见问题

标度预测变量如何处理?

在训练数据上按设定的“等宽分箱数”(默认 10)切分,空分箱与相邻分箱合并。小样本中分箱越少,概率越平滑稳定。

什么是伪 BIC?

没有测试样本时,向前选择的每一步以“负的训练样本平均对数似然”加上随预测变量个数增大的惩罚项 ½·p·ln N / N 评分,取值最小的一步决定最终子集。有测试样本时,准则改为测试个案的负平均对数似然。

为什么训练样本正确率偏乐观?

模型是在估计其概率所用的同一批个案上评分的。勾选“保留测试样本”即可得到模型未见过个案上的分类表。

朴素贝叶斯能使用预测变量有缺失的个案吗?

可以。与会删除整个个案的 KNN 或线性混合模型不同,朴素贝叶斯只在该个案中跳过缺失的预测变量,继续使用其他预测变量。

我的数据会被上传吗?

不会。分箱、筛选和分类都在浏览器中进行,文件保留在你的设备上。

用你自己的数据运行朴素贝叶斯

打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。

打开分析工作区

SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。