class LogisticRegressionWidget(QWidget, Ui_Widget): def __init__(self, plugin, parent=None): QWidget.__init__(self, parent) self.setupUi(self) self.plugin = plugin self.inputs = plugin.inputs self.settings = QSettings("NextGIS", "MOLUSCE") self.btnFitModel.clicked.connect(self.fitModel) self.manageGui() def manageGui(self): self.spnNeighbourhood.setValue(self.settings.value("ui/LR/neighborhood", 1).toInt()[0]) def fitModel(self): self.settings.setValue("ui/LR/neighborhood", self.spnNeighbourhood.value()) self.model = LR(ns=self.spnNeighbourhood.value()) self.model.setTrainingData(self.inputs["initial"], self.inputs["factors"].values(), self.inputs["final"], mode=self.inputs["samplingMode"], samples=self.plugin.spnSamplesCount.value() ) self.model.train() # populate table self.showCoefficients() self.inputs["model"] = self.model def showCoefficients(self): fm = self.model.getIntercept() coef = self.model.getCoef() self.tblCoefficients.clear() self.tblCoefficients.setColumnCount(len(fm)) self.tblCoefficients.setRowCount(len(coef[0]) + 1) for i in xrange(len(fm)): item = QTableWidgetItem(unicode(fm[i])) self.tblCoefficients.setItem(0, i, item) for j in xrange(len(coef[i])): item = QTableWidgetItem(unicode(coef[i][j])) self.tblCoefficients.setItem(j + 1, i, item) self.tblCoefficients.resizeRowsToContents() self.tblCoefficients.resizeColumnsToContents()