Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/03/18 10:55:23 (6 years ago)
Author:
fholzing
Message:

#2904: Removed ElementAt

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  
    168168      OnlineCalculatorError error;
    169169      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);
    171171      var originalCalculatorValue = ClassificationSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error);
    172172      if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation.");
     
    177177        progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count);
    178178
    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        }
    180184        impacts.Add(new Tuple<string, double>(variableName, impact));
    181185      }
  • branches/2904_CalculateImpacts/HeuristicLab.Problems.DataAnalysis.Views/3.4/Regression/RegressionSolutionVariableImpactsView.cs

    r16035 r16041  
    165165      //Calculate original quality-values (via calculator, default is R²)
    166166      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
    169170      var originalCalculatorValue = RegressionSolutionVariableImpactsCalculator.CalculateVariableImpact(targetValuesPartition, estimatedValuesPartition, out error);
    170171      if (error != OnlineCalculatorError.None) throw new InvalidOperationException("Error during calculation.");
     
    175176        progress.Status = string.Format("Calculating impact for variable {0} ({1} of {2})", variableName, i, count);
    176177
    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        }
    178183        impacts.Add(new Tuple<string, double>(variableName, impact));
    179184      }
Note: See TracChangeset for help on using the changeset viewer.