python朴素贝叶斯教程-什么是two_obs_test[continuous_list]?

问题描述

我正在 https://towardsdatascience.com/why-how-to-use-the-naive-bayes-algorithms-in-a-regulated-industry-with-sklearn-python-code-dbd8304ab2cf 学习朴素贝叶斯教程,但我一直坚持将第三个代码块中的引用解释为 two_obs_test[continuous_list]

完整的代码清单是...

# Observation_0
gssnX15p0 = (1/((2*np.pi*gssnX15var0)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,0]-gssnX15mean0)**2)/(2*gssnX15var0))
gssnX15p1 = (1/((2*np.pi*gssnX15var1)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,0]-gssnX15mean1)**2)/(2*gssnX15var1))

gssnX16p0 = (1/((2*np.pi*gssnX16var0)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,1]-gssnX16mean0)**2)/(2*gssnX16var0))
gssnX16p1 = (1/((2*np.pi*gssnX16var1)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,1]-gssnX16mean1)**2)/(2*gssnX16var1))

gssnX18p0 = (1/((2*np.pi*gssnX18var0)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,2]-gssnX18mean0)**2)/(2*gssnX18var0))
gssnX18p1 = (1/((2*np.pi*gssnX18var1)**0.5))*np.exp((-(two_obs_test[continuous_list].iloc[0,2]-gssnX18mean1)**2)/(2*gssnX18var1))

我在 sklearn 库中找不到 two_obs_test 并且在我用谷歌搜索时发现的很少。这是什么?

解决方法

教程漏洞太多。我认为无需阅读整本书就能更好地了解朴素贝叶斯的内部结构 https://machinelearningmastery.com/naive-bayes-classifier-scratch-python/ 。我不坚持教程,我建议其他人避免使用它。

,

two_obs_test[continuous_list] 不涉及来自 sklearn 库的任何内容。它只是示例数据库的名称,您可以在此链接上以图片形式找到它: link_of_the_database

continuous_list 指的是连续列名 ['X15','X16','X18'] 并有结果,two_obs_test[continuous_list].iloc[0,0] 指的是图 1 中的第一个观察结果值为 -0.852371

的变量 X15

我没有在其他任何地方找到有人一步一步解释每个 sklearn 的 NB 是如何工作的,这就是本教程存在的原因!