Search code examples
machine-learningscikit-learnclassificationwekalibsvm

Multi-Class Classification in WEKA


I am trying to implement Multiclass classification in WEKA. I have lot of rows, say bank transactions, and one is tagged as Food,Medicine,Rent,etc. I want to develop a classifier which can be trained with the previous data I have and predict the class it can belong to for future transactions. If I am right this is Multiclass and not multilabel since each transaction can belong to only one class.

Below are a few algorithms I am considering

  1. Naive Bayes
  2. Multinomial Logistic Regression
  3. Multiclass SVM
  4. Max Entropy
  5. Neural Networks (if possible)

In my data Number of features <<< Number of transactions and hence I am thinking of one vs rest binary classifier instead of one vs one.

  1. Are there any other algorithms I should lok into which will help with my goal?
  2. Is there any algos that I put are useless for my goal?

Also,I found that scikit-learn in Python is better than WEKA but I can run scikit-learn only on one processor. Is this true?

Answers to any question would be helpful. Thanks!


Solution

  • You can look at RandomForest which is a well known classifier and quite efficient.

    In scikit-learn, you have some class that can be used over several core like RandomForestClassifier. It has a constructor parameter that can be used to define the number of core or a value that will use every available core. Look at the documentation, constructor that contains n_jobs parameter can be used over several core