MATLAB朴素贝叶斯对象存储

时间:2015-03-28 18:51:19

标签: matlab matrix machine-learning classification naivebayes

使用后:

nb = NaiveBayes.fit(training, class)

要创建朴素贝叶斯分类器对象,我想在矩阵中保存这些对象的N-by-D。 我试过以下

ARRAYOFNAIVEBAYES(2,3) = nb;

但我得到:“使用NaiveBayes / subsasgn时出错(第9行) NaiveBayes类不支持下标作业。“

如何在MATLAB中填充Naive Bayes分类器矩阵?

请注意,在同一问题中使用fitNaiveBayes或fitcnb resuts会返回相同类型的对象。

谢谢

1 个答案:

答案 0 :(得分:0)

尝试使用单元格数组。

首先,初始化单元格数组。如果您现在要存储的元素数量,例如N x D,请使用

ARRAYOFNAIVEBAYES = cell(N,D);

如果您事先不知道尺寸,可以简单地从空单元格数组开始:

ARRAYOFNAIVEBAYES = {};

然后,如果您以后生成了分类器对象nb并且想要将其存储在索引(2,3)下,请使用

ARRAYOFNAIVEBAYES{2,3} = nb;

要稍后访问该值,请使用相同的语法ARRAYOFNAIVEBAYES{2,3}

有关更多信息,请参阅Matlab的cell arrays文档。