use of org.knime.base.node.mine.regression.logistic.learner4.LogRegLearnerSettings.LearningRateStrategies in project knime-core by knime.
the class LogRegLearnerNodeDialogPane method solverChanged.
private void solverChanged(final Solver solver) {
boolean sgMethod = solver != Solver.IRLS;
if (sgMethod) {
setEnabledSGRelated(true);
m_lazyCalculationCheckBox.setEnabled(solver.supportsLazy());
ComboBoxModel<Prior> oldPriorModel = m_priorComboBox.getModel();
EnumSet<Prior> compatiblePriors = solver.getCompatiblePriors();
Prior oldSelectedPrior = (Prior) oldPriorModel.getSelectedItem();
m_priorComboBox.setModel(new DefaultComboBoxModel<>(compatiblePriors.toArray(new Prior[compatiblePriors.size()])));
Prior newSelectedPrior;
if (compatiblePriors.contains(oldSelectedPrior)) {
m_priorComboBox.setSelectedItem(oldSelectedPrior);
newSelectedPrior = oldSelectedPrior;
} else {
newSelectedPrior = (Prior) m_priorComboBox.getSelectedItem();
// TODO warn user that the prior selection changed
}
enforcePriorCompatibilities(newSelectedPrior);
LearningRateStrategies oldSelectedLRS = (LearningRateStrategies) m_learningRateStrategyComboBox.getSelectedItem();
EnumSet<LearningRateStrategies> compatibleLRS = solver.getCompatibleLearningRateStrategies();
m_learningRateStrategyComboBox.setModel(new DefaultComboBoxModel<>(compatibleLRS.toArray(new LearningRateStrategies[compatibleLRS.size()])));
LearningRateStrategies newSelectedLRS = (LearningRateStrategies) m_learningRateStrategyComboBox.getSelectedItem();
if (compatibleLRS.contains(oldSelectedLRS)) {
m_learningRateStrategyComboBox.setSelectedItem(oldSelectedLRS);
newSelectedLRS = oldSelectedLRS;
} else {
newSelectedLRS = (LearningRateStrategies) m_learningRateStrategyComboBox.getSelectedItem();
// TODO warn user that the selected learning rate strategy changed
}
enforceLRSCompatibilities(newSelectedLRS);
} else {
setEnabledSGRelated(false);
}
}
Aggregations