MATLAB Наивный байесовский объект хранения
После использования:
nb = NaiveBayes.fit(training, class)
Чтобы создать объект наивного байесовского классификатора, я хочу сохранить N-by-D этих объектов в матрице. Я пытался сделать следующее
ARRAYOFNAIVEBAYES(2,3) = nb;
Но я получаю: "Ошибка при использовании NaiveBayes/subsasgn (строка 9) Класс NaiveBayes не поддерживает подписанные назначения".
Как можно заполнить матрицу наивных байесовских классификаторов в MATLAB?
Обратите внимание, что использование fitNaiveBayes или fitcnb приводит к одной и той же проблеме, поскольку они оба возвращают один и тот же тип объекта.
Спасибо
1 ответ
Попробуйте использовать массив ячеек.
Сначала инициализируйте массив ячеек. Если вы сейчас количество элементов, которые вы хотите сохранить, например, N
Икс D
использовать
ARRAYOFNAIVEBAYES = cell(N,D);
Если вы не знаете размер заранее, вы можете просто начать с пустого массива ячеек:
ARRAYOFNAIVEBAYES = {};
Затем, если позже вы сгенерировали свой объект классификатора nb
и вы хотите хранить его под индексами (2, 3), используйте
ARRAYOFNAIVEBAYES{2,3} = nb;
Чтобы получить доступ к этому значению позже, используйте тот же синтаксис ARRAYOFNAIVEBAYES{2,3}
,
Для получения дополнительной информации см. Документацию Matlab о массивах ячеек.