How does one interpret class weight when working with non linear SVMs?
Using class weighting has nothing to do w linear/non-linear kernel. It simply controls the cost of missclassifing particular sample during training. Per-class weight simply put constant weight on each sample in a given class. When you use auto, classes samples gets weightes invertibly proportional to the class size. So if you have class A twice as big as B, then samples from A are twice "cheapier" to missclassify. This will lead to highly balanced model structure, in particular, such SVM tries to maximize Balanced Accuracy (BAC), not "classical" accuracy.
I'm using Scikit-learn SVM classifier to make predictions and i'm using a rbf kernel. I have set the class_weight = 'auto'. Am I right in thinking that classes that appear more often will get lower weights? Say I had two classes, A and B. If A appeared a lot more than B does that mean that later on when making the predictions, there will be fewer A predictions than if I hadn't set the class_weight= 'auto'?
I'm pretty new to this so I'm just trying to get my head around what is happening and why.