/// <summary> /// Ctor for linear regression model /// </summary> public RegressionModelEquation(string modelName, double[] coefficients, double rmse, double minX, double maxX, double minY, double maxY, string nameX, string nameY, bool normalizeValues) { IsLinearRegression = true; Name = modelName; CreationDate = DateTime.Now; NormalizeValues = normalizeValues; _outputParameter = new ModelParameter { Id = XMLWork.FindIDWithName(nameY, Properties.Settings.Default.Languages), Coefficient = 1, LowerBound = minY, UpperBound = maxY }; _RMSE = rmse; _inputParameters = new List <ModelParameter> { new ModelParameter { Id = null, Coefficient = coefficients[0], LowerBound = null, UpperBound = null }, new ModelParameter { Id = XMLWork.FindIDWithName(nameX, Properties.Settings.Default.Languages), Coefficient = coefficients[1], LowerBound = minX, UpperBound = maxX } }; }
/// <summary> /// Ctor for multiple regression model /// </summary> public RegressionModelEquation(string modelName, string outputParamName, List <string> inputParamNames, double rmse, double[] equationCoefficients, string[] equationParametersNames, double[] equationParametersLowerBounds, double[] equationParametersUpperBounds, bool normalizeValues) { IsLinearRegression = false; Name = modelName; CreationDate = DateTime.Now; NormalizeValues = normalizeValues; _outputParameter = new ModelParameter { Id = XMLWork.FindIDWithName(outputParamName, Properties.Settings.Default.Languages), Coefficient = 1, LowerBound = null, UpperBound = null }; _RMSE = rmse; _inputParameters = new List <ModelParameter> { new ModelParameter { Id = null, Coefficient = equationCoefficients[0], LowerBound = null, UpperBound = null } }; for (int i = 1; i < equationCoefficients.Length; i++) { _inputParameters.Add(new ModelParameter { Id = XMLWork.FindIDWithName(equationParametersNames[i - 1], Properties.Settings.Default.Languages), Coefficient = equationCoefficients[i], LowerBound = equationParametersLowerBounds[i - 1], UpperBound = equationParametersUpperBounds[i - 1] }); } }