Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

Utilizing multi-core processor for classification in WEKA

Currently, WEKA is one of the most favorites machine learning tools. Without programming skills, you can do serious classification, clustering, and big data analysis. For some time I’ve been using its standard GUI features without thinking much about performance bottlenecks. But since researches are becoming more complex by using ensemble, voting and other meta-algorithms that generally are based on multiple classifiers running simultaneously, the performance issues start becoming annoying. You need to wait for hours until the task is completed. The problem is that when running classification algorithms from the WEKA GUI, the utilize a single core of your processor. Such algorithms as Multi-layer Percepron running 10 fold cross-validation is calculating one cross fold at the time on one core taking a long time to accomplish: So I started looking for options to make it use all cores of the processor as separate threads for each fold of operation. There are a couple of options available to do so. One is to use WekaServer package, and another is remote host processing. This time we will focus on WekaServer solution. The idea is to start a WEKA server as a distributed execution environment. When starting the server, you can indicate how…

Continue reading