i know the question is so big if without aiming for actual project . for my question : i just do the remote sensing image classification , i use the object-oriented method : first i segmented the image to different regions , then i extract the features from regions such as color,shape and texture .and the number of all features in a region may 30， and commonly there are 2000 regions in all ,and i will choose 5 classes with 15 samples for every class. so in sum : sample data 1530 ; test data 197530; now i faced how to choose the proper classifier to implement the classification , if there are 3 classifier : ANN ,SVM,KNN .which should i choose for the better classification ?
asked Sep 06 '11 at 03:57
I agree with Olivier in characterizing the methods, though I'd start with KNN. KNN is more or less trivial to tune and just works. It might not give as good results as an SVM with Gaussian kernel but I feel it gives a good baseline/starting point in judging your data and your features.
This answer is marked "community wiki".
answered Sep 06 '11 at 05:20
You should first explode the categorical values (color, shape, ) into boolean features as explained in the answer to a question on multivariate clustering. Then scale the feature values so that they all have the same variance.
Then any of ANN, KNN and SVM should work (unless your data is just noise). SVM are probably easier to tune (only 2 simple parameters) than ANN and are better able to generalize than KNN (which is just a "database" with similarity queries).
Hence try SVM with a gaussian kernel and do a grid search of the parameters C and gamma as explained in the libsvm guide.
answered Sep 06 '11 at 04:52