Source code for gui.core.crossValidateMethods.cv_LassoLARS
import numpy as np
from PyQt5 import QtWidgets, QtCore
from sklearn.linear_model import LassoLars
from gui.ui.cv_LassoLARS import Ui_Form
from gui.util.Modules import Modules
[docs]
class Ui_Form(Ui_Form, Modules):
[docs]
def connectWidgets(self):
# LassoLARS
ll = LassoLars()
self.minalpha_spin.setDecimals(20)
self.maxalpha_spin.setDecimals(20)
self.minalpha_spin.setValue(0.0000001)
self.maxalpha_spin.setValue(0.01)
self.nalpha_spin.setValue(100)
self.fit_intercept_list.setCurrentItem(
self.fit_intercept_list.findItems(
str(ll.fit_intercept), QtCore.Qt.MatchExactly
)[0]
)
self.normalize_list.setCurrentItem(
self.normalize_list.findItems(str(ll.normalize), QtCore.Qt.MatchExactly)[0]
)
self.max_iterLineEdit.setText(str(ll.max_iter))
self.force_positive_list.setCurrentItem(
self.force_positive_list.findItems(
str(ll.positive), QtCore.Qt.MatchExactly
)[0]
)
[docs]
def run(self):
fit_intercept_items = [
i.text() == "True" for i in self.fit_intercept_list.selectedItems()
]
normalize_items = [
i.text() == "True" for i in self.normalize_list.selectedItems()
]
positive_items = [
i.text() == "True" for i in self.force_positive_list.selectedItems()
]
alphas = np.logspace(
np.log10(self.minalpha_spin.value()),
np.log10(self.maxalpha_spin.value()),
num=self.nalpha_spin.value(),
)
params = {
"alpha": alphas,
"fit_intercept": fit_intercept_items,
"verbose": [True],
"normalize": normalize_items,
"precompute": ["auto"],
"max_iter": [int(i) for i in self.max_iterLineEdit.text().split(",")],
"copy_X": [True],
"fit_path": [False],
"positive": positive_items,
"model": [0],
}
modelkey = str(params)
return params, modelkey
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_())