Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/09/21 19:41:33 (3 years ago)
Author:
gkronber
Message:

#3117: update alglib to version 3.17

File:
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/HeuristicLab.Algorithms.DataAnalysis/3.4/NeuralNetwork/NeuralNetworkModelAlglib_3_7.cs

    r17926 r17931  
    2020#endregion
    2121
     22extern alias alglib_3_7;
    2223using System;
    2324using System.Collections.Generic;
     
    3435  [StorableType("AEB9B960-FCA6-4A6D-BD5F-27BCE9CC5BEA")]
    3536  [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 {
    3739
    3840    private object mlpLocker = new object();
    39     private alglib.multilayerperceptron multiLayerPerceptron;
     41    private alglib_3_7.alglib.multilayerperceptron multiLayerPerceptron;
    4042
    4143    public override IEnumerable<string> VariablesUsedForPrediction {
     
    4850    private double[] classValues;
    4951    [StorableConstructor]
    50     private NeuralNetworkModel(StorableConstructorFlag _) : base(_) {
    51       multiLayerPerceptron = new alglib.multilayerperceptron();
    52     }
    53     private NeuralNetworkModel(NeuralNetworkModel original, 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)
    5456      : base(original, cloner) {
    55       multiLayerPerceptron = new alglib.multilayerperceptron();
     57      multiLayerPerceptron = new alglib_3_7.alglib.multilayerperceptron();
    5658      multiLayerPerceptron.innerobj.chunks = (double[,])original.multiLayerPerceptron.innerobj.chunks.Clone();
    5759      multiLayerPerceptron.innerobj.columnmeans = (double[])original.multiLayerPerceptron.innerobj.columnmeans.Clone();
     
    6971        this.classValues = (double[])original.classValues.Clone();
    7072    }
    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)
    7274      : base(targetVariable) {
    7375      this.name = ItemName;
     
    8082
    8183    public override IDeepCloneable Clone(Cloner cloner) {
    82       return new NeuralNetworkModel(this, cloner);
     84      return new NeuralNetworkModelAlglib_3_7(this, cloner);
    8385    }
    8486
     
    9799        // NOTE: mlpprocess changes data in multiLayerPerceptron and is therefore not thread-save!
    98100        lock (mlpLocker) {
    99           alglib.mlpprocess(multiLayerPerceptron, x, ref y);
     101          alglib_3_7.alglib.mlpprocess(multiLayerPerceptron, x, ref y);
    100102        }
    101103        yield return y[0];
     
    117119        // NOTE: mlpprocess changes data in multiLayerPerceptron and is therefore not thread-save!
    118120        lock (mlpLocker) {
    119           alglib.mlpprocess(multiLayerPerceptron, x, ref y);
     121          alglib_3_7.alglib.mlpprocess(multiLayerPerceptron, x, ref y);
    120122        }
    121123        // find class for with the largest probability value
Note: See TracChangeset for help on using the changeset viewer.