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 о массивах ячеек.

Другие вопросы по тегам