gpt4 book ai didi

machine-learning - 用于工作负载预测的朴素贝叶斯分类器

转载 作者:行者123 更新时间:2023-11-30 09:02:27 24 4
gpt4 key购买 nike

我想使用朴素贝叶斯分类器来预测设备(例如网卡)的工作负载。我有一系列代表请求的到达间隔时间的观察结果。数据系列表示为 0,1,1,1,0,0,1, ...,其中 1 表示比收支平衡时间长的到达间隔时间,0 表示表示比收支平衡时间短的到达间隔时间。我想预测下一个到达时间是(短于收支平衡时间,或更长)。因此,我有两个类(class),即短课和长课。我已经了解了朴素贝叶斯分类器的理论,但我对在 MATLAB 或 C++ 中实现它感到困惑。我不知道应该从多少个特征/数据开始学习过程,以及如何计算预测类别的最大可能性。在这方面的任何帮助将不胜感激。

最佳答案

您可以从 Markov Model 开始。在马尔可夫模型中,您假设每个状态的概率仅由前一个状态给出。例如,在像 000111100111 这样的系列中,您会出现以下转换:

           Xn=0   Xn=1
X(n-1)=0 3 2
X(n-1)=1 1 5

用概率写成:

           Xn=0   Xn=1
X(n-1)=0 0.6 0.4
X(n-1)=1 0.17 0.83

您可以将其用作一项功能:扫描所有训练系列并记录从 0->0、0->1、1->0 和 1->1 的转换频率。对于分类,您可以查看查询字符串的最后一个状态,并在转换矩阵中查找下一个状态为 0 或 1 的概率。并在此基础上您选择更有可能的状态。

尽管这种方法很简单,但通常效果很好。

一旦你让它与前一个数字一起工作,你就可以开始查看前两个数字并将它们用作另一项功能。因此,该示例的转换矩阵可能如下所示:

                     Xn=0   Xn=1
X(n-2)=0, X(n-1)=0 1 2
X(n-2)=0, X(n-1)=1 0 2
X(n-2)=1, X(n-1)=0 1 0
X(n-2)=1, X(n-1)=1 1 3

您甚至可以将其扩展到最后三位数字等等。

要将这些特征组合在一起,只需将所有特征中下一个状态为 0 的所有概率相乘即可:

p(next is 0)=p1(next is 0)*p2(next is 0)*p3(next is 0)*...*pn(next is 0)

你可以类似地计算下一个状态为1的概率:

p(next is 1)=p1(next is 1)*p2(next is 1)*p3(next is 1)*...*pn(next is 1)

并选择更有可能的状态。当然,您不必将 p(next is 1) 计算为

p(next is 0)+p(next is 1)=1

只是为了说明这种方法如何有效地与计算机玩石头剪刀布,网址为 The New York Times并单击“查看计算机在想什么”以查看实际的马尔可夫模型。

关于machine-learning - 用于工作负载预测的朴素贝叶斯分类器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7967711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com