How to set C, g, and epsilon for SVM?

Joanneyu
Joanneyu New Altair Community Member
edited November 5 in Community Q&A
Hi, 
I am trying to look for an optimal value for C, g, and epsilon for SVM. 
I am using "optimize parameter (evolutionary)", but I wonder why the window is empty when I clicked "edit parameter settings".
I am really new to this process and I am actually not sure what the input data should be...
I'd appreciate if you can provide me some hints! Thank you!


Best Answer

  • varunm1
    varunm1 New Altair Community Member
    Answer ✓
    Hello @Joanneyu

    Are you sure it is not running when you are clicking the run button? The process I shared with you is based on a default Titanic dataset that will run. Can you check if you are having this process execution timer running at the left bottom of studio window?



    Question 2: Can you inform if all the 12 attributes are read as numerical type (Integer or real or numeric) into the studio and also if the problem you are trying to solve is classification or regression? The process I built is for classification.

    You can make some modifications based on your data and you can also post the errors you are getting here for more understanding.

Answers

  • varunm1
    varunm1 New Altair Community Member
    Hello @Joanneyu

    Did you create the sub-process inside "Optimize parameter (evolutionary)"? 

    If not, you should have a sub-process with your required model and performance inside this operator. I attached a .rmp file in this thread for your reference. Please look at the subprocess by double-clicking the Optimize parameter evolutionary operator. I used cross-validation, you can use split or any other validation your need inside this to reduce run time.

    If you observe the edit parameter list, I selected "C" to be optimized for SVM. You can select whatever you need based on your requirements.

    To see the attached process in your Rapidminer, download this and in your rapidminer studio go to FILE --> Import Process and navigate to the downloaded process (.rmp file).

    Note: You can only select the range when you use the optimize parameter (evolutionary operator). If you want to try specific values, you can use "Optimize parameter (Grid)".

    Please let us know if you need more information.
  • Joanneyu
    Joanneyu New Altair Community Member
    Hi @varunm1
    Thank you so much for the detailed info! Few more questions...

    1. It seems that once I clicked "start the execution", nothing happened from the process?
    2. I wonder what type of data set I should use in this case? I tried to import my excel file and linked it with the process, but several warnings pop up. My data are all numerical, with 12 attributes and 1 factor for prediction. 
  • varunm1
    varunm1 New Altair Community Member
    Answer ✓
    Hello @Joanneyu

    Are you sure it is not running when you are clicking the run button? The process I shared with you is based on a default Titanic dataset that will run. Can you check if you are having this process execution timer running at the left bottom of studio window?



    Question 2: Can you inform if all the 12 attributes are read as numerical type (Integer or real or numeric) into the studio and also if the problem you are trying to solve is classification or regression? The process I built is for classification.

    You can make some modifications based on your data and you can also post the errors you are getting here for more understanding.
  • Joanneyu
    Joanneyu New Altair Community Member
    hello @varunm1,
    Thanks for the reply! Right I see. The 12 attributes are read as real. I do not see "numeric" in the change data type though... 
    I am solving regression. Based on your process, do I just simply remove the "nominal to numerical"? I am not sure if I am doing it correctly... after that, there is a warning saying that input excemple set must have label
    Thank you!

     
  • varunm1
    varunm1 New Altair Community Member
    Hello @Joanneyu

    Yes, you can remove that. You need to set label using "set role" operator. Label is your output variable. You should also change the performance operator inside optimize parameter to performance regression.

    I strongly recommend you to check some videos on academy.rapidminer.com that will help you understand the process.