Changeset 13941 for trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkModel.cs
- Timestamp:
- 06/28/16 13:33:17 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkModel.cs
r13921 r13941 34 34 [StorableClass] 35 35 [Item("NeuralNetworkModel", "Represents a neural network for regression and classification.")] 36 public sealed class NeuralNetworkModel : NamedItem, INeuralNetworkModel {36 public sealed class NeuralNetworkModel : ClassificationModel, INeuralNetworkModel { 37 37 38 38 private alglib.multilayerperceptron multiLayerPerceptron; … … 48 48 } 49 49 50 public IEnumerable<string> VariablesUsedForPrediction {50 public override IEnumerable<string> VariablesUsedForPrediction { 51 51 get { return allowedInputVariables; } 52 52 } 53 53 54 public string TargetVariable {55 get { return targetVariable; }56 }57 58 [Storable]59 private string targetVariable;60 54 [Storable] 61 55 private string[] allowedInputVariables; … … 82 76 multiLayerPerceptron.innerobj.x = (double[])original.multiLayerPerceptron.innerobj.x.Clone(); 83 77 multiLayerPerceptron.innerobj.y = (double[])original.multiLayerPerceptron.innerobj.y.Clone(); 84 targetVariable = original.targetVariable;85 78 allowedInputVariables = (string[])original.allowedInputVariables.Clone(); 86 79 if (original.classValues != null) … … 88 81 } 89 82 public NeuralNetworkModel(alglib.multilayerperceptron multiLayerPerceptron, string targetVariable, IEnumerable<string> allowedInputVariables, double[] classValues = null) 90 : base( ) {83 : base(targetVariable) { 91 84 this.name = ItemName; 92 85 this.description = ItemDescription; 93 86 this.multiLayerPerceptron = multiLayerPerceptron; 94 this.targetVariable = targetVariable;95 87 this.allowedInputVariables = allowedInputVariables.ToArray(); 96 88 if (classValues != null) … … 119 111 } 120 112 121 public IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows) {113 public override IEnumerable<double> GetEstimatedClassValues(IDataset dataset, IEnumerable<int> rows) { 122 114 double[,] inputData = AlglibUtil.PrepareInputMatrix(dataset, allowedInputVariables, rows); 123 115 … … 145 137 } 146 138 147 public INeuralNetworkRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) { 148 return new NeuralNetworkRegressionSolution(new RegressionProblemData(problemData), this); 149 } 150 IRegressionSolution IRegressionModel.CreateRegressionSolution(IRegressionProblemData problemData) { 151 return CreateRegressionSolution(problemData); 152 } 153 public INeuralNetworkClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData) { 154 return new NeuralNetworkClassificationSolution(new ClassificationProblemData(problemData), this); 155 } 156 IClassificationSolution IClassificationModel.CreateClassificationSolution(IClassificationProblemData problemData) { 157 return CreateClassificationSolution(problemData); 139 public IRegressionSolution CreateRegressionSolution(IRegressionProblemData problemData) { 140 return new NeuralNetworkRegressionSolution(this, new RegressionProblemData(problemData)); 141 } 142 public override IClassificationSolution CreateClassificationSolution(IClassificationProblemData problemData) { 143 return new NeuralNetworkClassificationSolution(this, new ClassificationProblemData(problemData)); 158 144 } 159 145
Note: See TracChangeset
for help on using the changeset viewer.