public void GetMultipleRegressionModelInfo(out double[] coefficients, out string qualityParameterName, out string[] inputParameterNames, out string rmse, out bool normalizeValues) { coefficients = _inputParameters.Select(item => item.Coefficient).ToArray(); qualityParameterName = XMLWork.FindNameWithID(_outputParameter.Id.Value, Properties.Settings.Default.Languages); inputParameterNames = _inputParameters .Select(item => XMLWork.FindNameWithID(item.Id.Value, Properties.Settings.Default.Languages)).ToArray(); rmse = RMSEString; normalizeValues = NormalizeValues; }
public void GetLinearRegressionModelInfo(out string modelText, out string xAxisTitle, out string yAxisTitle, out double[] coefficients, out double minX, out double maxX, out string rmse, out bool normalizeValues) { modelText = $"{XMLWork.FindNameWithID(_outputParameter.Id.Value, Properties.Settings.Default.Languages)} = {Math.Round(_inputParameters[0].Coefficient, EquationSignificantDigitsCount)} {(_inputParameters[1].Coefficient < 0 ? "-" : "+")} {Math.Abs(Math.Round(_inputParameters[1].Coefficient, EquationSignificantDigitsCount))} · {XMLWork.FindNameWithID(_inputParameters[1].Id.Value, Properties.Settings.Default.Languages)}"; coefficients = new[] { _inputParameters[0].Coefficient, _inputParameters[1].Coefficient }; xAxisTitle = XMLWork.FindNameWithID(_inputParameters[1].Id.Value, Properties.Settings.Default.Languages); yAxisTitle = XMLWork.FindNameWithID(_outputParameter.Id.Value, Properties.Settings.Default.Languages); minX = _inputParameters[1].LowerBound.Value; maxX = _inputParameters[1].UpperBound.Value; rmse = RMSEString; normalizeValues = NormalizeValues; }
private void ShowRegressionModel() { if (_currentIndex < 0 || _currentIndex >= _regressionModels.Count) { return; } var currentModel = _regressionModels[_currentIndex]; labelRegressionModelId.Text = currentModel.Id.HasValue ? currentModel.Id.Value.ToString() : string.Empty; labelRegressionModelCreationDate.Text = currentModel.CreationDate.ToString("yy-MMM-dd ddd"); labelRegressionModelName.Text = currentModel.Name; labelOutputParameterName.Text = XMLWork.FindNameWithID(currentModel.OutputParameter.Id.Value, Properties.Settings.Default.Languages); labelCalculatedRMSEValue.Text = currentModel.RMSEString; labelNormalizeValues.Text = currentModel.NormalizeValues ? "Yes" : "No"; CreateInputParametersTable(currentModel); CheckButtonsEnabled(_currentIndex); }
private void CreateInputParametersTable(RegressionModelEquation model) { DataTable table = new DataTable(); table.Columns.Add("ParamId", typeof(string)); table.Columns.Add("ParamName", typeof(string)); table.Columns.Add("ParamCoefficient", typeof(double)); table.Columns.Add("ParamUpperBound", typeof(string)); table.Columns.Add("ParamLowerBound", typeof(string)); foreach (var parameter in model.InputParameters) { table.Rows.Add(parameter.Id.HasValue ? parameter.Id.Value.ToString() : string.Empty, parameter.Id.HasValue ? XMLWork.FindNameWithID(parameter.Id.Value, Properties.Settings.Default.Languages) : "free term", Math.Round(parameter.Coefficient, EquationSignificantDigitsCount), parameter.UpperBound.HasValue ? Math.Round(parameter.UpperBound.Value, EquationSignificantDigitsCount).ToString() : string.Empty, parameter.LowerBound.HasValue ? Math.Round(parameter.LowerBound.Value, EquationSignificantDigitsCount).ToString() : string.Empty); } dataGridViewInputParametersInfo.DataSource = table; }