I have a dataset of 20000 x 3072 images for a homework assignment. This is just the training set, and the images are 32x32 and can depict one of four labels/classes, namely cars, trucks, boats and planes. There is a separate data set of 4000 x 3072 images of which only the input is provided and the actual class hidden. We are allowed only sklearn and python.

My approach so far, since I'm quite new to the field, apart from using the classifier we were told to try decision trees, nearest neighbors and a linear SGDClassifier, has been to try grid searches varying a few parameters(not many) for these classifiers and also random searches. Now I moved on to ensemble methods, and seeing that I tried random forest classifier, my accuracy is up to 66%. However, for these ensemble methods I provide no hyper parameters since I don't understand how I would try different values, or where to start really and I guess that is my question.

How do I go about thinking of things to try and improve the classifier apart from just trying different classifiers? Ideally I would like some guidance but no direct answers really, maybe a starting point and some tips since it is a homework assignment and I would like to learn.

Thank you!

  • $\begingroup$ Convolution Neural Nets are neccessary to do good image classification. But it's not packaged in SKLearn. See if you can use keras to do this. Else, other good algos are XGBoost, MultiLayerPerceptrons $\endgroup$ – Narahari B M Mar 20 at 3:21
  • $\begingroup$ CNNs are pretty typical for image classification, but there are lots of options. Googling "sklearn image classification" returns many possibilities. One of the Google results is this tutorial and looks like a fun try. $\endgroup$ – rickhg12hs Mar 20 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.