我正在使用贝叶斯算法来预测新的传入数据。它运行测试数据,所以我可以看看预测有多好。每个新数据项都包含许多属性,其中包含有关学习数据的信息,因此类似:
feature1: 0.15
feature2: 0.26
feature3: 0.8
...
我的伪代码详见:
for item in new_data:
rank = 0
for feature in item:
rank += log(feature_probability(feature))
rank = rank/number_of_features
rank_data.append(rank)
filter(rank_data)
按filter(rank_data)
我的意思是在排序rank_data
中削减最低部分。
数据中的每个项目都有质量数我们无法操作(因为在现实生活中我们不知道它),只是为了检查预测的质量,所以要点是削减最低总和那些质量数字。顺便说一下 - 特征概率是来自某些学习数据的质量数字的平均值。
这里的贝叶斯预测(与我们术语中的几何平均值相同)做得很好,但我正在寻找一些更好的结果算法。
我已经阅读了某种数学作品来自己找到它,但是在我的数据类型中实现它太难了。