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_())