Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/11/11 15:03:46 (14 years ago)
Author:
gkronber
Message:

Merged changes from trunk to data analysis exploration branch and added fractional distance metric evaluator. #1142

Location:
branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3
Files:
1 added
5 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3/Evaluators/OnlineMeanMahalanobisDistanceEvaluator.cs

    r4555 r5275  
    6060        // calculate mahalanobis distance using covariance matrix
    6161        // covMatrix^(-1) * diff => target
    62         alglib.ablas.rmatrixmv(covMatrix.GetLength(0), covMatrix.GetLength(1), ref covMatrix, 0, 0, 0, ref diff, 0, ref target, 0);
     62        alglib.ablas.rmatrixmv(covMatrix.GetLength(0), covMatrix.GetLength(1), covMatrix, 0, 0, 0, diff, 0, ref target, 0);
    6363
    6464        // diff^T * (covMatrix^(-1) * diff) => sum
     
    102102      int info = 0;
    103103      alglib.matinv.matinvreport report = new alglib.matinv.matinvreport();
    104       alglib.matinv.rmatrixinverse(ref covMatrix, covMatrix.GetLength(0), ref info, ref report);
     104      alglib.matinv.rmatrixinverse(ref covMatrix, covMatrix.GetLength(0), ref info, report);
    105105      if (info != 1) throw new InvalidOperationException("Can't invert covariance matrix.");
    106106      diff = new double[samples.Length];
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3/HeuristicLab.Problems.DataAnalysis.MultiVariate-3.3.csproj

    r5265 r5275  
    9292  </PropertyGroup>
    9393  <ItemGroup>
     94    <Reference Include="ALGLIB-3.1.0">
     95      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\ALGLIB-3.1.0.dll</HintPath>
     96    </Reference>
     97    <Reference Include="HeuristicLab.ALGLIB-3.1.0">
     98      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-3.1.0.dll</HintPath>
     99    </Reference>
     100    <Reference Include="HeuristicLab.Collections-3.3">
     101      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Collections-3.3.dll</HintPath>
     102    </Reference>
     103    <Reference Include="HeuristicLab.Common-3.3">
     104      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common-3.3.dll</HintPath>
     105    </Reference>
     106    <Reference Include="HeuristicLab.Common.Resources-3.3">
     107      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     108    </Reference>
     109    <Reference Include="HeuristicLab.Core-3.3">
     110      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Core-3.3.dll</HintPath>
     111    </Reference>
     112    <Reference Include="HeuristicLab.Data-3.3">
     113      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Data-3.3.dll</HintPath>
     114    </Reference>
     115    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3">
     116      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3.dll</HintPath>
     117    </Reference>
     118    <Reference Include="HeuristicLab.Operators-3.3">
     119      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Operators-3.3.dll</HintPath>
     120    </Reference>
     121    <Reference Include="HeuristicLab.Optimization-3.3">
     122      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Optimization-3.3.dll</HintPath>
     123    </Reference>
     124    <Reference Include="HeuristicLab.Parameters-3.3">
     125      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Parameters-3.3.dll</HintPath>
     126    </Reference>
     127    <Reference Include="HeuristicLab.Persistence-3.3">
     128      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Persistence-3.3.dll</HintPath>
     129    </Reference>
     130    <Reference Include="HeuristicLab.PluginInfrastructure-3.3">
     131      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     132    </Reference>
     133    <Reference Include="HeuristicLab.Random-3.3">
     134      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Random-3.3.dll</HintPath>
     135    </Reference>
    94136    <Reference Include="System" />
    95137    <Reference Include="System.Core">
     
    110152    <None Include="HeuristicLabProblemsDataAnalysisMultiVariatePlugin.cs.frame" />
    111153    <None Include="Properties\AssemblyInfo.frame" />
     154    <Compile Include="Evaluators\OnlineMeanFractionalDistanceEvaluator.cs" />
    112155    <Compile Include="Evaluators\OnlineMultiVariateEvaluator.cs" />
    113156    <Compile Include="Evaluators\OnlineMeanMahalanobisDistanceEvaluator.cs" />
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3/MultiVariateDataAnalysisProblem.cs

    r4461 r5275  
    5454    [StorableConstructor]
    5555    protected MultiVariateDataAnalysisProblem(bool deserializing) : base(deserializing) { }
     56    protected MultiVariateDataAnalysisProblem(MultiVariateDataAnalysisProblem original, Cloner cloner)
     57      : base(original, cloner) {
     58        RegisterParameterEvents();
     59        RegisterParameterValueEvents();
     60    }
    5661    public MultiVariateDataAnalysisProblem()
    5762      : base() {
     
    9095
    9196    public override IDeepCloneable Clone(Cloner cloner) {
    92       MultiVariateDataAnalysisProblem clone = (MultiVariateDataAnalysisProblem)base.Clone(cloner);
    93       clone.RegisterParameterEvents();
    94       clone.RegisterParameterValueEvents();
    95       return clone;
     97      return new MultiVariateDataAnalysisProblem(this, cloner);
    9698    }
    9799
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3/MultiVariateDataAnalysisProblemData.cs

    r4461 r5275  
    166166    #endregion
    167167
     168
     169    [StorableConstructor]
     170    private MultiVariateDataAnalysisProblemData(bool deserializing) : base() { }
     171    protected MultiVariateDataAnalysisProblemData(MultiVariateDataAnalysisProblemData original, Cloner cloner)
     172      : base(original, cloner) {
     173        RegisterParameterEventHandlers();
     174        RegisterParameterValueEventHandlers();
     175    }
    168176    public MultiVariateDataAnalysisProblemData()
    169177      : base() {
     
    187195    }
    188196
    189 
    190     [StorableConstructor]
    191     private MultiVariateDataAnalysisProblemData(bool deserializing) : base() { }
     197    public override IDeepCloneable Clone(Cloner cloner) {
     198      return new MultiVariateDataAnalysisProblemData(this, cloner);
     199    }
    192200
    193201    [StorableHook(HookType.AfterDeserialization)]
    194     private void AfterDeserializationHook() {
     202    private void AfterDeserialization() {
    195203      RegisterParameterEventHandlers();
    196204      RegisterParameterValueEventHandlers();
     
    395403
    396404    public virtual void ImportFromFile(string fileName) {
    397       var csvFileParser = new CsvFileParser();
    398       csvFileParser.Parse(fileName);
     405      var tableFileParser = new TableFileParser();
     406      tableFileParser.Parse(fileName);
    399407      suppressEvents = true;
    400408      Name = "Data imported from " + Path.GetFileName(fileName);
    401       Dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
     409      Dataset = new Dataset(tableFileParser.VariableNames, tableFileParser.Values);
    402410      Dataset.Name = Path.GetFileName(fileName);
    403411      var variableNames = Dataset.VariableNames.Select(x => new StringValue(x).AsReadOnly()).ToList();
    404412      InputVariables = new CheckedItemList<StringValue>(variableNames).AsReadOnly();
    405413      TargetVariables = new CheckedItemList<StringValue>(variableNames).AsReadOnly();
    406       int middle = (int)(csvFileParser.Rows * 0.5);
     414      int middle = (int)(tableFileParser.Rows * 0.5);
    407415      TrainingSamplesStart = new IntValue(0);
    408416      TrainingSamplesEnd = new IntValue(middle);
    409417      TestSamplesStart = new IntValue(middle);
    410       TestSamplesEnd = new IntValue(csvFileParser.Rows);
     418      TestSamplesEnd = new IntValue(tableFileParser.Rows);
    411419      suppressEvents = false;
    412420      OnProblemDataChanged(EventArgs.Empty);
    413421    }
    414422
    415     public override IDeepCloneable Clone(Cloner cloner) {
    416       MultiVariateDataAnalysisProblemData clone = (MultiVariateDataAnalysisProblemData)base.Clone(cloner);
    417       clone.RegisterParameterEventHandlers();
    418       clone.RegisterParameterValueEventHandlers();
    419       return clone;
    420     }
    421423
    422424    public DataAnalysisProblemData ConvertToDataAnalysisProblemData(string targetVariable) {
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.MultiVariate/3.3/Symbolic/MultiVariateExpressionGrammar.cs

    r4252 r5275  
    3737    }
    3838
     39    [StorableConstructor]
     40    protected MultiVariateExpressionGrammar(bool deserializing) : base(deserializing) { }
     41    protected MultiVariateExpressionGrammar(MultiVariateExpressionGrammar original, Cloner cloner)
     42      : base(original, cloner) {
     43        dimension = original.dimension;
     44    }
    3945    public MultiVariateExpressionGrammar() : this(2) { }
    40 
    4146    public MultiVariateExpressionGrammar(int dimension)
    4247      : base() {
     
    5055
    5156      foreach (Symbol s in Symbols) {
    52         if (s != StartSymbol)
     57        if (s != StartSymbol) 
    5358          for (int i = 0; i < n; i++) {
    5459            SetAllowedChild(StartSymbol, s, i);
     
    5863
    5964    public override IDeepCloneable Clone(Cloner cloner) {
    60       MultiVariateExpressionGrammar clone = (MultiVariateExpressionGrammar)base.Clone(cloner);
    61       clone.dimension = this.dimension;
    62       return clone;
     65      return new MultiVariateExpressionGrammar(this, cloner);
    6366    }
    6467  }
Note: See TracChangeset for help on using the changeset viewer.