0

使用後:

nb = NaiveBayes.fit(training, class)

単純ベイズ分類器オブジェクトを作成するには、これらのオブジェクトの N 行 D 列を行列に保存します。私は次のことをしようとしました

ARRAYOFNAIVEBAYES(2,3) = nb;

しかし、「NaiveBayes/subsasgn の使用中にエラーが発生しました (9 行目) NaiveBayes クラスは添字付きの割り当てをサポートしていません。」

MATLAB で単純ベイズ分類器の行列を埋めるにはどうすればよいでしょうか?

fitNaiveBayes または fitcnb を使用すると、どちらも同じ種類のオブジェクトが返されるため、同じ問題が発生することに注意してください。

ありがとうございました

4

1 に答える 1

0

セル配列を使用してみてください。

まず、セル配列を初期化します。保存したい要素の数、たとえばNxDを使用する場合は、

ARRAYOFNAIVEBAYES = cell(N,D);

サイズが事前にわからない場合は、単純に空の cell 配列から始めることができます。

ARRAYOFNAIVEBAYES = {};

その後、後で分類子オブジェクトを生成し、nbそれをインデックス (2, 3) の下に格納する場合は、次を使用します。

ARRAYOFNAIVEBAYES{2,3} = nb;

後でその値にアクセスするには、同じ構文を使用しますARRAYOFNAIVEBAYES{2,3}

詳細については、セル配列に関する Matlab のドキュメントを参照してください。

于 2015-03-30T19:18:41.720 に答える