Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/16/10 15:22:57 (14 years ago)
Author:
gkronber
Message:

Refactored HeuristicLab.Problems.DataAnalysis namespace. #938 (Data types and operators for regression problems)

Location:
trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3
Files:
5 deleted
7 edited
1 copied
4 moved

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/CsvFileParser.cs

    r3368 r3373  
    2828using System.Text;
    2929
    30 namespace HeuristicLab.Problems.DataAnalysis.Regression {
     30namespace HeuristicLab.Problems.DataAnalysis {
    3131  public class CsvFileParser {
    3232    private const string VARIABLENAMES = "VARIABLENAMES";
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisProblem.cs

    r3368 r3373  
    2727using HeuristicLab.Parameters;
    2828using HeuristicLab.Data;
    29 using HeuristicLab.Optimization;
    3029using HeuristicLab.Problems.DataAnalysis;
    3130using System.Drawing;
    3231using System.IO;
    3332
    34 namespace HeuristicLab.Problems.DataAnalysis.Regression {
    35   [Item("RegressionProblem", "Represents a regression problem.")]
     33namespace HeuristicLab.Problems.DataAnalysis {
     34  [Item("DataAnalysisProblem", "Represents a data analysis problem.")]
    3635  [Creatable("Problems")]
    3736  [StorableClass]
    38   public class RegressionProblem : ParameterizedNamedItem {
    39     private const string RegressionProblemDataParameterName = "RegressionProblemData";
     37  public class DataAnalysisProblem : ParameterizedNamedItem {
     38    private const string DataAnalysisProblemDataParameterName = "DataAnalysisProblemData";
    4039    public override Image ItemImage {
    4140      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Type; }
     
    4342
    4443    #region Parameter Properties
    45     public ValueParameter<RegressionProblemData> RegressionProblemDataParameter {
    46       get { return (ValueParameter<RegressionProblemData>)Parameters[RegressionProblemDataParameterName]; }
     44    public ValueParameter<DataAnalysisProblemData> DataAnalysisProblemDataParameter {
     45      get { return (ValueParameter<DataAnalysisProblemData>)Parameters[DataAnalysisProblemDataParameterName]; }
    4746    }
    4847    #endregion
    4948    #region properties
    50     public RegressionProblemData RegressionProblemData {
    51       get { return RegressionProblemDataParameter.Value; }
    52       set { RegressionProblemDataParameter.Value = value; }
     49    public DataAnalysisProblemData DataAnalysisProblemData {
     50      get { return DataAnalysisProblemDataParameter.Value; }
     51      set { DataAnalysisProblemDataParameter.Value = value; }
    5352    }
    5453    #endregion
    5554
    56     public RegressionProblem()
     55    public DataAnalysisProblem()
    5756      : base() {
    58       Parameters.Add(new ValueParameter<RegressionProblemData>(RegressionProblemDataParameterName, "The data set, target variable and input variables of the regression problem.", new RegressionProblemData()));
     57      Parameters.Add(new ValueParameter<DataAnalysisProblemData>(DataAnalysisProblemDataParameterName, "The data set, target variable and input variables of the data analysis problem.", new DataAnalysisProblemData()));
    5958    }
    6059
    6160    [StorableConstructor]
    62     private RegressionProblem(bool deserializing) : base() { }
     61    private DataAnalysisProblem(bool deserializing) : base() { }
    6362  }
    6463}
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataAnalysisProblemData.cs

    r3368 r3373  
    2727using HeuristicLab.Parameters;
    2828using HeuristicLab.Data;
    29 using HeuristicLab.Optimization;
    3029using HeuristicLab.Problems.DataAnalysis;
    3130using System.Drawing;
    3231using System.IO;
    3332
    34 namespace HeuristicLab.Problems.DataAnalysis.Regression {
    35   [Item("RegressionProblemData", "Represents an item containing all data defining a regression problem.")]
     33namespace HeuristicLab.Problems.DataAnalysis {
     34  [Item("DataAnalysisProblemData", "Represents an item containing all data defining a data analysis problem.")]
    3635  [StorableClass]
    37   public class RegressionProblemData : NamedItem {
     36  public class DataAnalysisProblemData : NamedItem {
    3837    #region properties
    3938    private Dataset dataset;
     
    109108    #endregion
    110109
    111     public RegressionProblemData()
     110    public DataAnalysisProblemData()
    112111      : base() {
    113112      dataset = new Dataset();
     
    123122
    124123    [StorableConstructor]
    125     private RegressionProblemData(bool deserializing) : base() { }
     124    private DataAnalysisProblemData(bool deserializing) : base() { }
    126125
    127126    #region events
     
    142141      var csvFileParser = new CsvFileParser();
    143142      csvFileParser.Parse(fileName);
    144       Name = "Regression Problem (imported from " + Path.GetFileName(fileName) + ")";
     143      Name = "Data imported from " + Path.GetFileName(fileName);
    145144      Dataset = new Dataset(csvFileParser.VariableNames, csvFileParser.Values);
    146145      Dataset.Name = Path.GetFileName(fileName);
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/DataFormatException.cs

    r3368 r3373  
    2525using System.Text;
    2626
    27 namespace HeuristicLab.Problems.DataAnalysis.Regression {
     27namespace HeuristicLab.Problems.DataAnalysis {
    2828  public class DataFormatException : Exception {
    2929    private int line;
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/HeuristicLab.Problems.DataAnalysis-3.3.csproj

    r3257 r3373  
    7070      <RequiredTargetFramework>3.5</RequiredTargetFramework>
    7171    </Reference>
     72    <Reference Include="System.Drawing" />
    7273    <Reference Include="System.Xml.Linq">
    7374      <RequiredTargetFramework>3.5</RequiredTargetFramework>
     
    8384    <None Include="HeuristicLabProblemsDataAnalysisPlugin.cs.frame" />
    8485    <None Include="Properties\AssemblyInfo.frame" />
     86    <Compile Include="CsvFileParser.cs" />
     87    <Compile Include="DataAnalysisProblem.cs" />
     88    <Compile Include="DataAnalysisProblemData.cs" />
     89    <Compile Include="DataFormatException.cs" />
    8590    <Compile Include="Dataset.cs" />
    8691    <Compile Include="Evaluators\SimpleEvaluator.cs" />
     
    8994    <Compile Include="MatrixExtensions.cs" />
    9095    <Compile Include="Properties\AssemblyInfo.cs" />
     96    <Compile Include="Symbolic\ArithmeticExpressionGrammar.cs" />
     97    <Compile Include="Symbolic\SimpleArithmeticExpressionEvaluator.cs" />
     98    <Compile Include="Symbolic\Symbols\Constant.cs" />
     99    <Compile Include="Symbolic\Symbols\ConstantTreeNode.cs" />
     100    <Compile Include="Symbolic\Symbols\Variable.cs" />
     101    <Compile Include="Symbolic\Symbols\VariableTreeNode.cs" />
    91102  </ItemGroup>
    92103  <ItemGroup>
     
    94105      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
    95106      <Name>HeuristicLab.Collections-3.3</Name>
     107    </ProjectReference>
     108    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.2\HeuristicLab.Common.Resources-3.2.csproj">
     109      <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
     110      <Name>HeuristicLab.Common.Resources-3.2</Name>
    96111    </ProjectReference>
    97112    <ProjectReference Include="..\..\HeuristicLab.Common\3.2\HeuristicLab.Common-3.2.csproj">
     
    127142      <Name>HeuristicLab.PluginInfrastructure</Name>
    128143    </ProjectReference>
     144    <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">
     145      <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>
     146      <Name>HeuristicLab.Random-3.3</Name>
     147    </ProjectReference>
    129148  </ItemGroup>
    130149  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/ArithmeticExpressionGrammar.cs

    r3338 r3373  
    2020#endregion
    2121
    22 
    2322using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2423using System.Collections.Generic;
     
    2827using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2928using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.GeneralSymbols;
    30 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols;
    3129using HeuristicLab.Data;
    32 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic {
     30using HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols;
     31namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
    3332  [StorableClass]
    3433  [Item("ArithmeticExpressionGrammar", "Represents a grammar for functional expressions using only arithmetic operations.")]
     
    4544
    4645    [Storable]
    47     private HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable variableSymbol;
     46    private HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols.Variable variableSymbol;
    4847
    4948    public ArithmeticExpressionGrammar()
     
    5857      var div = new Division();
    5958      var constant = new Constant();
    60       variableSymbol = new HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols.Variable();
     59      variableSymbol = new HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols.Variable();
    6160
    6261      var allSymbols = new List<Symbol>() { add, sub, mul, div, constant, variableSymbol };
    6362      var functionSymbols = new List<Symbol>() { add, sub, mul, div };
     63
    6464      foreach (var symb in allSymbols)
    6565        AddSymbol(symb);
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/SimpleArithmeticExpressionEvaluator.cs

    r3294 r3373  
    2727using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2828using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.GeneralSymbols;
    29 using HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols;
     29using HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols;
    3030
    31 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic {
     31namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
    3232  [StorableClass]
    3333  [Item("SimpleArithmeticExpressionEvaluator", "Default evaluator for arithmetic symbolic expression trees.")]
     
    8282          }
    8383        case CodeSymbol.Dynamic: {
    84             if (currentInstr.dynamicNode is VariableTreeNode) {
    85               var variableTreeNode = currentInstr.dynamicNode as VariableTreeNode;
     84            var variableTreeNode = currentInstr.dynamicNode as VariableTreeNode;
     85            if (variableTreeNode != null) {
    8686              return dataset[row, dataset.GetVariableIndex(variableTreeNode.VariableName)] * variableTreeNode.Weight;
    87             } else if (currentInstr.dynamicNode is ConstantTreeNode) {
    88               return ((ConstantTreeNode)currentInstr.dynamicNode).Value;
     87            }
     88            var constTreeNode = currentInstr.dynamicNode as ConstantTreeNode;
     89            if (constTreeNode != null) {
     90              return constTreeNode.Value;
    8991            } else throw new NotSupportedException();
    9092          }
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Constant.cs

    r3294 r3373  
    2323using HeuristicLab.Core;
    2424using HeuristicLab.Operators;
    25 using HeuristicLab.Random;
    2625using HeuristicLab.Data;
    2726using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    2827using HeuristicLab.Parameters;
    29 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols {
     28namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols {
    3029  [StorableClass]
    3130  [Item("Constant", "Represents a constant value.")]
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/ConstantTreeNode.cs

    r3294 r3373  
    2727using HeuristicLab.Data;
    2828using HeuristicLab.Random;
    29 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols {
     29namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols {
    3030  [StorableClass]
    3131  public sealed class ConstantTreeNode : SymbolicExpressionTreeTerminalNode {
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/Variable.cs

    r3294 r3373  
    2929using System.Collections.Generic;
    3030using System;
    31 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols {
     31namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols {
    3232  [StorableClass]
    3333  [Item("Variable", "Represents a variable value.")]
  • trunk/sources/HeuristicLab.Problems.DataAnalysis/3.3/Symbolic/Symbols/VariableTreeNode.cs

    r3294 r3373  
    2727using HeuristicLab.Data;
    2828using HeuristicLab.Random;
    29 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols {
     29namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Symbols {
    3030  [StorableClass]
    3131  public sealed class VariableTreeNode : SymbolicExpressionTreeTerminalNode {
Note: See TracChangeset for help on using the changeset viewer.