/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void _experimentPanel_DataLoaded(object sender, EventArgs e) { //Depending on experimental type of output data (numerical or categorical or boolean) // prepare the panels for parameters and type of the factory. if (_GPModel == GPModelType.ANNMODEL) { //create facotry based on column data type if (_experimentPanel.IsCategoricalOutput) { this._mainANNFactory = new PSOFactory(); } else { this._mainANNFactory = new BPFactory(); } // if (_setANNPanel == null) { _setANNPanel = new ANNSettingsPanel(); loadGPPanelInMainWindow(this, _setANNPanel, "Settings"); //lock some parameters based on type of output variable if (_experimentPanel.Experiment.GetOutputColumnType() == Core.Experiment.ColumnDataType.Binary || _experimentPanel.Experiment.GetOutputColumnType() == Core.Experiment.ColumnDataType.Categorical ) { _setANNPanel.SetLearnigAlgorithm(1); } else { _setANNPanel.SetLearnigAlgorithm(0); } _setANNPanel.LockLearningAlgoritm(); } if (_runANNPanel == null) { _runANNPanel = new ANNRunPanel(); loadGPPanelInMainWindow(this, _runANNPanel, "Modeling"); } if (_infoPanel == null) { _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); } if (_runANNPanel != null) { this._mainANNFactory.ReportIteration += new EvolutionHandler(annFactory_ReportIteration); _runANNPanel.UpdateChartDataPoint(_experimentPanel.GetOutputValues(), false); _isFileDirty = true; } } else//Preparing GP for modelling nd prediction { //create facotry based on column data type if (_experimentPanel.IsBinarylOutput || _experimentPanel.IsCategoricalOutput) { this._mainGPFactory = new GPFactoryClass(); } else if (_experimentPanel.GetOutputColumnType() == Core.Experiment.ColumnDataType.Numeric) { this._mainGPFactory = new GPFactory(); } else { throw new Exception("Unknown output value type!"); } if (_funPanel == null) { _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); } if (_setPanel == null) { _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); } //set problem type _setPanel.SetParamForClassification(_experimentPanel.GetOutputColumnType()); if (_runPanel == null) { _runPanel = new RunPanel(); loadGPPanelInMainWindow(this, _runPanel, "Run"); } if (_resultPanel == null) { _resultPanel = new ResultPanel(); loadGPPanelInMainWindow(this, _resultPanel, "Result"); } if (_infoPanel == null) { _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); } //set base run panel on _runPAnel _baseRunPanel = _runPanel; if (_runPanel != null) { this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); _runPanel.ResetSolution(); _runPanel.UpdateChartDataPoint(_experimentPanel.GetOutputValues(), false); _isFileDirty = true; } if (_funDefinit != null) { _funDefinit.btnFinishAnalFun.Click += btnFinishAnalFun_Click; } if (_setPanel != null) { _setPanel.ResetSolution += _setPanel_ResetSolution; } } }