Changeset 17931 for trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkModelAlglib_3_7.cs
- Timestamp:
- 04/09/21 19:41:33 (3 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkModelAlglib_3_7.cs
r17926 r17931 20 20 #endregion 21 21 22 extern alias alglib_3_7; 22 23 using System; 23 24 using System.Collections.Generic; … … 34 35 [StorableType("AEB9B960-FCA6-4A6D-BD5F-27BCE9CC5BEA")] 35 36 [Item("NeuralNetworkModel", "Represents a neural network for regression and classification.")] 36 public sealed class NeuralNetworkModel : ClassificationModel, INeuralNetworkModel { 37 [Obsolete("This version uses alglib version 3.7. Use NeuralNetworkModel instead.")] 38 public sealed class NeuralNetworkModelAlglib_3_7 : ClassificationModel, INeuralNetworkModel { 37 39 38 40 private object mlpLocker = new object(); 39 private alglib .multilayerperceptron multiLayerPerceptron;41 private alglib_3_7.alglib.multilayerperceptron multiLayerPerceptron; 40 42 41 43 public override IEnumerable<string> VariablesUsedForPrediction { … … 48 50 private double[] classValues; 49 51 [StorableConstructor] 50 private NeuralNetworkModel (StorableConstructorFlag _) : base(_) {51 multiLayerPerceptron = new alglib .multilayerperceptron();52 } 53 private NeuralNetworkModel (NeuralNetworkModeloriginal, Cloner cloner)52 private NeuralNetworkModelAlglib_3_7(StorableConstructorFlag _) : base(_) { 53 multiLayerPerceptron = new alglib_3_7.alglib.multilayerperceptron(); 54 } 55 private NeuralNetworkModelAlglib_3_7(NeuralNetworkModelAlglib_3_7 original, Cloner cloner) 54 56 : base(original, cloner) { 55 multiLayerPerceptron = new alglib .multilayerperceptron();57 multiLayerPerceptron = new alglib_3_7.alglib.multilayerperceptron(); 56 58 multiLayerPerceptron.innerobj.chunks = (double[,])original.multiLayerPerceptron.innerobj.chunks.Clone(); 57 59 multiLayerPerceptron.innerobj.columnmeans = (double[])original.multiLayerPerceptron.innerobj.columnmeans.Clone(); … … 69 71 this.classValues = (double[])original.classValues.Clone(); 70 72 } 71 public NeuralNetworkModel (alglib.multilayerperceptron multiLayerPerceptron, string targetVariable, IEnumerable<string> allowedInputVariables, double[] classValues = null)73 public NeuralNetworkModelAlglib_3_7(alglib_3_7.alglib.multilayerperceptron multiLayerPerceptron, string targetVariable, IEnumerable<string> allowedInputVariables, double[] classValues = null) 72 74 : base(targetVariable) { 73 75 this.name = ItemName; … … 80 82 81 83 public override IDeepCloneable Clone(Cloner cloner) { 82 return new NeuralNetworkModel (this, cloner);84 return new NeuralNetworkModelAlglib_3_7(this, cloner); 83 85 } 84 86 … … 97 99 // NOTE: mlpprocess changes data in multiLayerPerceptron and is therefore not thread-save! 98 100 lock (mlpLocker) { 99 alglib .mlpprocess(multiLayerPerceptron, x, ref y);101 alglib_3_7.alglib.mlpprocess(multiLayerPerceptron, x, ref y); 100 102 } 101 103 yield return y[0]; … … 117 119 // NOTE: mlpprocess changes data in multiLayerPerceptron and is therefore not thread-save! 118 120 lock (mlpLocker) { 119 alglib .mlpprocess(multiLayerPerceptron, x, ref y);121 alglib_3_7.alglib.mlpprocess(multiLayerPerceptron, x, ref y); 120 122 } 121 123 // find class for with the largest probability value
Note: See TracChangeset
for help on using the changeset viewer.