2015-10-13 3 views
2

Идея постепенного обучения, которую я понимаю, заключается в том, что после обучения я сохраняю свою модель и когда у меня есть новые данные, вместо того, чтобы ставить старые данные с новой, я просто загружаю модель, которую я сохранил и тренируюсь снова, используя новые данные и новая обученная модель будут построены поверх старой.WEKA Инкрементальное обучение?

Я искал это в WEKA, и я обнаружил, что это можно сделать с помощью «инкрементальных алгоритмов». Я знаю, что Hoefdding-Tree является инкрементной версией алгоритма J48, но я не уверен, как это происходит при постепенном обучении.

Если кто-нибудь может объяснить, возможно ли это в WEKA и как это можно сделать.

ответ

1

Чтобы сделать постепенное обучение в WEKA, вам нужно выбрать классификаторы, реализующие интерфейс UpdatableClassifer. Есть 10 классификаторов, которые могут это сделать. Обратите внимание, что это можно сделать только с помощью кодирования или командной строки.

Вы должны сначала построить свою модель из учебных данных, а затем сохранить модель. После этого вы используете ту же модель и тренируетесь больше.

Использование алгоритма HoefddingTree, было бы что-то вроде этого:

java weka.classifiers.trees.HoeffdingTree -L 2 -S 0 -E 1.0E-7 -H 0.1 -M 0.01 -G 200.0 -N 0.0 -t Training.arff -no-cv -d ht.model 

java weka.classifiers.trees.HoeffdingTree -t Training.arff -T Testing.arff -l ht.model -d ht.updated.model 

из курса нет необходимости снова указать параметр обучения при обновлении модели, так как эти параметры уже сохранены в модели.

Для получения дополнительной информации:

http://weka.8497.n7.nabble.com/WEKA-Incremental-Learning-Training-td35691.html 
https://weka.wikispaces.com/Classification-Train/test%20set#Classification-Building a Classifier-Incremental 
Смежные вопросы