Search code examples
python-3.xparticle-swarm

I am using SVR() function for regression. I am unable to optimize it's parameter using #pso by #Pyswarm


Optimizing parameters of #SVR() using #pyswarm #PSO function.

I have 200 inputs of the dataset with 9 features of each input. I have to predict one output parameter. I already did it by calling using #SVR() function using it's default parameters. The results are not satisfactory. Now I want to optimize its parameters using the "PSO" algorithm but unable to do it.

model = SVR()model.fit(Xtrain,ytrain)

pred_y = model.predict(Xtest)

param = {'kernel' : ('linear', 'poly', 'rbf', 'sigmoid'),'C':[1,5,10],'degree' : [3,8],'coef0' : [0.01,10,0.5],'gamma' : ('auto','scale')}

import pyswarms as ps

optimizer = ps.single.GlobalBestPSO(n_particles=10, dimensions=2,options=param)

best_cost, best_pos = optimizer.optimize(model, iters=100)-

2019-08-13 12:19:48,551 - pyswarms.single.global_best - INFO - Optimize for 100 iters with {'kernel': ('linear', 'poly', 'rbf', 'sigmoid'), 'C': [1, 5, 10], 'degree': [3, 8], 'coef0': [0.01, 10, 0.5], 'gamma': ('auto', 'scale')}
pyswarms.single.global_best:   0%|                                       |0/100

TypeError: 'SVR' object is not callable

Solution

  • There is an error in the first two lines. Two lines of code got mixed there by mistake.

    1. model = SVR()
    2. model.fit(Xtrain,ytrain)