Hi Oscar, Naive Bayes in Apache SAMOA is a non-distributed learner than implements the LocalLearner interface. To have a distributed NaiveBayes classifier, it will be needed to implement the ClassificationLearner interface to create a sub-topology for the classifier. It will be great if you could be interested on helping on that.
Thanks, Albert On Mon, Mar 16, 2020 at 1:18 PM Oscar Henrichs Lucas Henrichs <[email protected]> wrote: > > Hi, I’m Oscar H. L. Henrichs, > > > I’m a student at Pontifícia Universidade Católica do Paraná - Brazil, and > I’ve been studying and implementing an study on Data Streams using Apache > Samoa, under the supervision of Jean Paul Barddal. Our initial goal is to > test and validate the benefits of using Apache Samoa, when comparing it with > MOA and Spark. > > > So far we locally tested a few of the main learners of Apache Samoa, but we > had some trouble when using NaiveBayes, Boosting and AdaptiveBoosting. We are > not sure if the issues raised below have been solved in the new release, so > we believe this is worthy of bringing up. > > > > With NaïveBayes, we think the problem is the implementation of LocalLearner, > as the LocalLearner files seems incomplete or not extending the classes it > should. > > > > For instance, we are trying to run the following snippet, but it fails: > > > Comand: > > $ bin/samoa local target/SAMOA-Local-0.5.0-incubating-SNAPSHOT.jar > "PrequentialEvaluation -l classifiers.NaiveBayes -s (ArffFileStream -f > ARFFFfile/With_Change/SEA_wch_500k.arff) -f 100000" > > > > Error: > > "... Caused by: java.lang.Exception: Class named 'classifiers.NaiveBayes' is > not an instance of org.apache.samoa.learners.Learner ...".*It's just a cut of > the full error log. I've annexed the full log in the email. > > As for the Boosting I believe that I do not know how to call it properly, as > it seems as it is really close to the Bagging process, but with a few extra > steps that either it’s not defined or not properly called. > > > > This is the command we are trying to run, but again, it fails: > > > > Comand: > > $ bin/samoa local target/SAMOA-Local-0.5.0-incubating-SNAPSHOT.jar > "PrequentialEvaluation -l classifiers.NaiveBayes -s (ArffFileStream -f > ARFFFfile/With_Change/SEA_wch_500k.arff) -f 100000" > > > Error: > > "Successfully instantiating org.apache.samoa.tasks.PrequentialEvaluation > > Exception in thread "main" java.lang.NullPointerException > at > org.apache.samoa.learners.classifiers.ensemble.BaggingDistributorProcessor.process(BaggingDistributorProcessor.java:63) > at > org.apache.samoa.topology.impl.SimpleProcessingItem.processEvent(SimpleProcessingItem.java:84) > at org.apache.samoa.topology.impl.SimpleStream.put(SimpleStream.java:72) > at org.apache.samoa.topology.impl.SimpleStream.put(SimpleStream.java:61) > at > org.apache.samoa.topology.LocalEntranceProcessingItem.injectNextEvent(LocalEntranceProcessingItem.java:45) > at > org.apache.samoa.topology.LocalEntranceProcessingItem.startSendingEvents(LocalEntranceProcessingItem.java:63) > at org.apache.samoa.topology.impl.SimpleTopology.run(SimpleTopology.java:44) > at > org.apache.samoa.topology.impl.SimpleEngine.submitTopology(SimpleEngine.java:33) > at org.apache.samoa.LocalDoTask.main(LocalDoTask.java:88) > > Process finished with exit code 1" > > > > As for, we’re sending you this e-mail because we need help to figure out how > to resolve this issues in order to run those tasks. > > > Sincerely, Oscar Henrichs > > > > >
