MATLAB 朴素贝叶斯对象存储
MATLAB Naive Bayes object storing
使用后:
nb = NaiveBayes.fit(training, class)
要创建一个朴素贝叶斯 classifier 对象,我想将这些对象的 N-by-D 保存在一个矩阵中。
我已尝试执行以下操作
ARRAYOFNAIVEBAYES(2,3) = nb;
但我得到:“使用 NaiveBayes/subsasgn 时出错(第 9 行)
NaiveBayes class 不支持下标赋值。"
如何在 MATLAB 中填充朴素贝叶斯 class 运算符矩阵?
请注意,使用 fitNaiveBayes 或 fitcnb 会导致相同的问题,因为它们 return 是同一类对象。
谢谢
尝试使用元胞数组。
首先,初始化元胞数组。如果您现在要存储的元素数量,例如N
x D
,使用
ARRAYOFNAIVEBAYES = cell(N,D);
如果您事先不知道大小,可以简单地从一个空元胞数组开始:
ARRAYOFNAIVEBAYES = {};
然后,如果稍后您生成了分类器对象 nb
并且您想将其存储在索引 (2, 3) 下,请使用
ARRAYOFNAIVEBAYES{2,3} = nb;
以后要访问该值,请使用相同的语法 ARRAYOFNAIVEBAYES{2,3}
。
有关详细信息,请参阅 cell arrays 的 Matlab 文档。
使用后:
nb = NaiveBayes.fit(training, class)
要创建一个朴素贝叶斯 classifier 对象,我想将这些对象的 N-by-D 保存在一个矩阵中。 我已尝试执行以下操作
ARRAYOFNAIVEBAYES(2,3) = nb;
但我得到:“使用 NaiveBayes/subsasgn 时出错(第 9 行) NaiveBayes class 不支持下标赋值。"
如何在 MATLAB 中填充朴素贝叶斯 class 运算符矩阵?
请注意,使用 fitNaiveBayes 或 fitcnb 会导致相同的问题,因为它们 return 是同一类对象。
谢谢
尝试使用元胞数组。
首先,初始化元胞数组。如果您现在要存储的元素数量,例如N
x D
,使用
ARRAYOFNAIVEBAYES = cell(N,D);
如果您事先不知道大小,可以简单地从一个空元胞数组开始:
ARRAYOFNAIVEBAYES = {};
然后,如果稍后您生成了分类器对象 nb
并且您想将其存储在索引 (2, 3) 下,请使用
ARRAYOFNAIVEBAYES{2,3} = nb;
以后要访问该值,请使用相同的语法 ARRAYOFNAIVEBAYES{2,3}
。
有关详细信息,请参阅 cell arrays 的 Matlab 文档。