Source code for gui.core.crossValidateMethods.cv_SVR
from PyQt5 import QtWidgets, QtCore
from sklearn.svm import SVR
from gui.ui.cv_SVR import Ui_Form
from gui.util.Modules import Modules
[docs]
class Ui_Form(Ui_Form, Modules):
[docs]
def connectWidgets(self):
svr = SVR()
svr.kernel = 'rbf'
svr.degree = 3
svr.gamma = 'auto'
svr.coef0 = 0.0
svr.tol = 1e-3
svr.C = 1.0
svr.epsilon = 0.1
svr.shrinking = True
svr.cache_size = 200
svr.verbose = False
svr.max_iter = -1
self.cLineEdit.setText(str(svr.C))
self.epsilonLineEdit.setText(str(svr.epsilon))
self.kernel_list.setCurrentItem(
self.kernel_list.findItems(
'Radial Basis Function',
QtCore.Qt.MatchExactly
)[0]
)
self.degreeLineEdit.setText(str(svr.degree))
self.coeff0LineEdit.setText(str(svr.coef0))
self.shrinking_list.setCurrentItem(
self.shrinking_list.findItems(
str(svr.shrinking),
QtCore.Qt.MatchExactly
)[0]
)
self.toleranceLineEdit.setText(str(svr.tol))
self.maxIterationsLineEdit.setText(str(svr.max_iter))
[docs]
def run(self):
kernel_lookup = {
'Radial Basis Function': 'rbf',
'Linear': 'linear',
'Polynomial': 'poly',
'Sigmoid': 'sigmoid',
'Precomputed': 'precomputed'
}
kernels = [kernel_lookup[i.text()] for i in
self.kernel_list.selectedItems()]
shrinking_items = [i.text() == 'True' for i in
self.shrinking_list.selectedItems()]
params = {
'C': [float(i) for i in self.cLineEdit.text().split(',')],
'epsilon': [float(i) for i in
self.epsilonLineEdit.text().split(',')],
'kernel': kernels,
'gamma': ['auto'],
'shrinking': shrinking_items,
'tol': [float(i) for i in
self.toleranceLineEdit.text().split(',')],
'cache_size': [200],
'verbose': [True],
'max_iter': [int(i) for i in
self.maxIterationsLineEdit.text().split(',')]
}
if 'linear' in kernels:
params['coef0'] = [float(i) for i in
self.coeff0LineEdit.text().split(',')]
if 'poly' in kernels:
params['degree'] = [int(i) for i in
self.degreeLineEdit.text().split(',')]
return params
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())