0
$\begingroup$

While I was playing with some hyperparameters, I came to a wired situation. My dataset is IRIS dataset to be specific. SVM algorithm has some hyperparameters that we can tune, such as Kernels, and C value. enter image description here

(All accuracy calculations and SVM are from sklearn package to be specific)

I made a comparison between kernels and noticed sigmoid kernel was performing way worse in terms of accuracy. It is more than 3 times less accuracy than RBF, Linear, and Polynomial. I do know that kernels are quite data-sensitive and data-specific, but I would like to know "Which types of data is sigmoid kernel good at any example? or is this my fault due to wrong C value for sigmoid kernel?"

$\endgroup$
0

1 Answer 1

0
$\begingroup$

The sigmoid kernel is better suited for binary classifications. As the IRIS dataset is for multi-class classification, its performance was not as good as other kernels. You can train with only 2 types of flowers to see if the sigmoid kernel can perform well.

$\endgroup$
3
  • $\begingroup$ Thanks for your answer. Is this due to it’s ability to change any value from 0 to 1? I will definitely check two classes. $\endgroup$
    – Gooday2die
    Commented Jun 18, 2020 at 18:33
  • $\begingroup$ the value of sigmoid can range from 0 to 1. But for large positive input it outputs 1 and large negative value it outputs 0. It outputs 0.5 for input 0. So we can see that it can differentiate only between two classes taking value 0 for one class and 1 for another. For multiclass it don't know how to choose the correct values. $\endgroup$
    – SrJ
    Commented Jun 18, 2020 at 18:45
  • $\begingroup$ Oh, I 100% get what you are saying. I have tried out 2-class data with sigmoid and it's accuracy got better but was less than other three. I will try more parameters. Thanks! $\endgroup$
    – Gooday2die
    Commented Jun 19, 2020 at 1:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .