使用后:
nb = NaiveBayes.fit(training, class)
要创建朴素贝叶斯分类器对象,我想在矩阵中保存这些对象的N-by-D。 我试过以下
ARRAYOFNAIVEBAYES(2,3) = nb;
但我得到:“使用NaiveBayes / subsasgn时出错(第9行) NaiveBayes类不支持下标作业。“
如何在MATLAB中填充Naive Bayes分类器矩阵?
请注意,在同一问题中使用fitNaiveBayes或fitcnb resuts会返回相同类型的对象。
谢谢
答案 0 :(得分:0)
尝试使用单元格数组。
首先,初始化单元格数组。如果您现在要存储的元素数量,例如N
x D
,请使用
ARRAYOFNAIVEBAYES = cell(N,D);
如果您事先不知道尺寸,可以简单地从空单元格数组开始:
ARRAYOFNAIVEBAYES = {};
然后,如果您以后生成了分类器对象nb
并且想要将其存储在索引(2,3)下,请使用
ARRAYOFNAIVEBAYES{2,3} = nb;
要稍后访问该值,请使用相同的语法ARRAYOFNAIVEBAYES{2,3}
。
有关更多信息,请参阅Matlab的cell arrays文档。