- Timestamp:
- 08/03/18 10:55:23 (6 years ago)
- Location:
- branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Classification/ClassificationSolutionVariableImpactsView.cs
r16036 r16041 168 168 OnlineCalculatorError error; 169 169 IEnumerable<double> targetValuesPartition = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 170 IEnumerable<double> estimatedValuesPartition = rows.Select(v => estimatedValues.ElementAt(v));170 IEnumerable<double> estimatedValuesPartition = Content.GetEstimatedClassValues(rows); 171 171 var originalCalculatorValue = ClassificationSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error); 172 172 if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation."); … … 177 177 progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count); 178 178 179 double impact = ClassificationSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 179 double impact = 0; 180 //If the variable isn't used for prediction, it has zero impact. 181 if (model.VariablesUsedForPrediction.Contains(variableName)) { 182 impact = ClassificationSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 183 } 180 184 impacts.Add(new Tuple<string, double>(variableName, impact)); 181 185 } -
branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionVariableImpactsView.cs
r16035 r16041 165 165 //Calculate original quality-values (via calculator, default is R²) 166 166 OnlineCalculatorError error; 167 IEnumerable<double> targetValuesPartition = rows.Select(v => problemData.TargetVariableValues.ElementAt(v)); 168 IEnumerable<double> estimatedValuesPartition = rows.Select(v => estimatedValues.ElementAt(v)); 167 IEnumerable<double> targetValuesPartition = problemData.Dataset.GetDoubleValues(problemData.TargetVariable, rows); 168 IEnumerable<double> estimatedValuesPartition = Content.GetEstimatedValues(rows); 169 169 170 var originalCalculatorValue = RegressionSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error); 170 171 if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation."); … … 175 176 progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count); 176 177 177 double impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 178 double impact = 0; 179 //If the variable isn't used for prediction, it has zero impact. 180 if (model.VariablesUsedForPrediction.Contains(variableName)) { 181 impact = RegressionSolutionVariableImpactsCalculator.CalculateImpact(variableName, model, modifiableDataset, rows, targetValuesPartition, originalCalculatorValue, replMethod, factorReplMethod); 182 } 178 183 impacts.Add(new Tuple<string, double>(variableName, impact)); 179 184 }
Note: See TracChangeset
for help on using the changeset viewer.