连续属性 – 朴素贝叶斯算法中的分布

我在尝试通过在MATLAB中编写自己的代码来实现朴素贝叶斯算法。我对其中一个连续属性的分布选择感到困惑。其值如下所示:

         MovieAge :         1         2         3         4         ..         10         1         11         2         12         1         3         13         2         1         4         14         3         2         5         15         4         3         6         16         5         4         ....         32         9         3         15

请告诉我对于这种数据应该使用哪种分布?在我的测试集中,这个属性有时会包含训练数据中未包含的值。如何处理这个问题?谢谢 15


回答:

假设这个变量取整数值,而不是连续值(基于你的例子),最简单的方法是采用直方图类型的方法:某个值的概率是它在训练数据中出现的次数的分数。考虑为高于某个数值的所有值设置一个最终的区间(基于你的例子,可能在20左右)。如果你遇到零计数的问题,可以给所有计数加1(如果你倾向于这样做,可以将其视为Dirichlet先验)。

至于参数形式,如果你更喜欢使用参数形式,泊松分布是一种可能的选择。QQ图,或者甚至是拟合优度测试,将会提示这种分布在你的情况下是否合适,但我认为你使用基于直方图的方法会更好。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注