I have a dataset of shape edges, that I am trying to make a model for with sklearn. I'm new to the machine learning world, so I am struggling to create a good model. Using SVM, I was able to get a supposed 81% precision, but when I feed it an image outside the training or test set, it consistently returns the wrong prediction, almost every time.
Question: Is there is a better way of doing this than using SVM? Or are these shapes too similar? I have 90 images in the training set.
Here is a link to my ML code.