Changeset 15470 for branches/M5Regression/HeuristicLab.Algorithms.DataAnalysis/3.4/M5Regression/MetaModels/ComponentReducedLinearModel.cs
- Timestamp:
- 11/10/17 12:56:36 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/M5Regression/HeuristicLab.Algorithms.DataAnalysis/3.4/M5Regression/MetaModels/ComponentReducedLinearModel.cs
r15430 r15470 21 21 22 22 using System.Collections.Generic; 23 using System.Linq; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 31 32 private IConfidenceRegressionModel Model; 32 33 [Storable] 33 private PrincipleComponent AnalysisStaticPca;34 private PrincipleComponentTransformation Pca; 34 35 35 36 [StorableConstructor] … … 39 40 Pca = cloner.Clone(original.Pca); 40 41 } 41 public ComponentReducedLinearModel(string targetVariable, IConfidenceRegressionModel model, PrincipleComponent AnalysisStaticpca) : base(targetVariable) {42 public ComponentReducedLinearModel(string targetVariable, IConfidenceRegressionModel model, PrincipleComponentTransformation pca) : base(targetVariable) { 42 43 Model = model; 43 44 Pca = pca; … … 51 52 } 52 53 public override IEnumerable<double> GetEstimatedValues(IDataset dataset, IEnumerable<int> rows) { 53 return Model.GetEstimatedValues(Pca.ProjectDataset(dataset), rows); 54 var data = ReduceDataset(dataset, rows.ToArray()); 55 return Model.GetEstimatedValues(Pca.TransformDataset(data), Enumerable.Range(0, data.Rows)); 54 56 } 55 57 public override IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) { … … 57 59 } 58 60 public IEnumerable<double> GetEstimatedVariances(IDataset dataset, IEnumerable<int> rows) { 59 return Model.GetEstimatedVariances(Pca.ProjectDataset(dataset), rows); 61 var data = ReduceDataset(dataset, rows.ToArray()); 62 return Model.GetEstimatedVariances(Pca.TransformDataset(data), Enumerable.Range(0, data.Rows)); 63 } 64 65 private IDataset ReduceDataset(IDataset data, IReadOnlyList<int> rows) { 66 return new Dataset(data.DoubleVariables, data.DoubleVariables.Select(v => data.GetDoubleValues(v, rows).ToList())); 60 67 } 61 68 }
Note: See TracChangeset
for help on using the changeset viewer.