Changeset 15885


Ignore:
Timestamp:
04/06/18 11:35:10 (12 months ago)
Author:
pfleck
Message:

#2906 Updated project references + small refactoring

Location:
branches/2906_Transformations
Files:
17 edited

Legend:

Unmodified
Added
Removed
  • branches/2906_Transformations/HeuristicLab.DataPreprocessing.Views/3.4/TransformationListView.cs

    r15879 r15885  
    104104      int selectedIndex = itemsListView.SelectedIndices[0];
    105105
    106       // TODO: do not move/remove already applied transformations
    107       // TODO: general disallow of movement?
     106      // TODO: do not move/remove already applied transformations or disallow of movement generally?
    108107      if (Content[selectedIndex].IsApplied) {
    109108        moveUpButton.Enabled = selectedIndex > 0 && Content[selectedIndex - 1].IsApplied;
  • branches/2906_Transformations/HeuristicLab.DataPreprocessing/3.4/Data/PreprocessingData.cs

    r15865 r15885  
    414414      }
    415415
    416       // TODO: set fixed constrained (allowed) values
    417416      foreach (var trans in problemData.Transformations) {
    418417        var newTrans = new PreprocessingTransformation(variableNames.Select(x => new StringValue(x))) {
  • branches/2906_Transformations/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj

    r15865 r15885  
    110110      <SpecificVersion>False</SpecificVersion>
    111111      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     112      <Private>False</Private>
    112113    </Reference>
    113114    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
  • branches/2906_Transformations/HeuristicLab.DataPreprocessing/3.4/ProblemDataCreator.cs

    r15884 r15885  
    7575
    7676    private IDataAnalysisProblemData CreateRegressionData(RegressionProblemData oldProblemData) {
    77       var targetVariable = DataAnalysisTransformation.GetLastTransitiveVariable(oldProblemData.TargetVariable, CreateDataAnalysisTransformation());
     77      var targetVariable = DataAnalysisTransformation.GetStrictTransitiveVariables(oldProblemData.TargetVariable, CreateDataAnalysisTransformation(), false).Last();
    7878      if (!context.Data.VariableNames.Contains(targetVariable))
    7979        targetVariable = context.Data.VariableNames.First();
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views-3.4.csproj

    r15863 r15885  
    102102      <SpecificVersion>False</SpecificVersion>
    103103      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Algorithms.DataAnalysis-3.4.dll</HintPath>
    104     </Reference>
    105     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     104      <Private>False</Private>
     105    </Reference>
     106    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     107      <SpecificVersion>False</SpecificVersion>
     108      <Private>False</Private>
     109    </Reference>
    106110    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    107111      <SpecificVersion>False</SpecificVersion>
    108112      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common-3.3.dll</HintPath>
     113      <Private>False</Private>
    109114    </Reference>
    110115    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    111116      <SpecificVersion>False</SpecificVersion>
    112117      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
    113     </Reference>
    114     <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    115     <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    116     <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     118      <Private>False</Private>
     119    </Reference>
     120    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     121      <SpecificVersion>False</SpecificVersion>
     122      <Private>False</Private>
     123    </Reference>
     124    <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     125      <SpecificVersion>False</SpecificVersion>
     126      <Private>False</Private>
     127    </Reference>
     128    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     129      <SpecificVersion>False</SpecificVersion>
     130      <Private>False</Private>
     131    </Reference>
    117132    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    118133      <SpecificVersion>False</SpecificVersion>
    119134      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     135      <Private>False</Private>
    120136    </Reference>
    121137    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    122138      <SpecificVersion>False</SpecificVersion>
    123139      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll</HintPath>
     140      <Private>False</Private>
    124141    </Reference>
    125142    <Reference Include="HeuristicLab.MainForm-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    126143      <SpecificVersion>False</SpecificVersion>
    127144      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
    128     </Reference>
    129     <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    130     <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     145      <Private>False</Private>
     146    </Reference>
     147    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     148      <SpecificVersion>False</SpecificVersion>
     149      <Private>False</Private>
     150    </Reference>
     151    <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     152      <SpecificVersion>False</SpecificVersion>
     153      <Private>False</Private>
     154    </Reference>
    131155    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    132156      <SpecificVersion>False</SpecificVersion>
    133157      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     158      <Private>False</Private>
    134159    </Reference>
    135160    <Reference Include="HeuristicLab.Optimization.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    136161      <SpecificVersion>False</SpecificVersion>
    137162      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization.Views-3.3.dll</HintPath>
     163      <Private>False</Private>
    138164    </Reference>
    139165    <Reference Include="HeuristicLab.Parameters.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    140166      <SpecificVersion>False</SpecificVersion>
    141167      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Parameters.Views-3.3.dll</HintPath>
     168      <Private>False</Private>
    142169    </Reference>
    143170    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    144171      <SpecificVersion>False</SpecificVersion>
    145172      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     173      <Private>False</Private>
    146174    </Reference>
    147175    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    148176      <SpecificVersion>False</SpecificVersion>
    149177      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    150     </Reference>
    151     <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     178      <Private>False</Private>
     179    </Reference>
     180    <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     181      <SpecificVersion>False</SpecificVersion>
     182      <Private>False</Private>
     183    </Reference>
    152184    <Reference Include="System" />
    153185    <Reference Include="System.Core">
     
    230262      <Project>{5AC82412-911B-4FA2-A013-EDC5E3F3FCC2}</Project>
    231263      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4</Name>
     264      <Private>False</Private>
    232265    </ProjectReference>
    233266    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic.Views\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj">
    234267      <Project>{7A2531CE-3F7C-4F13-BCCA-ED6DC27A7086}</Project>
    235268      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4</Name>
     269      <Private>False</Private>
    236270    </ProjectReference>
    237271    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
    238272      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
    239273      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     274      <Private>False</Private>
    240275    </ProjectReference>
    241276    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Views\3.4\HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj">
    242277      <Project>{3E9E8944-44FF-40BB-A622-3A4A7DD0F198}</Project>
    243278      <Name>HeuristicLab.Problems.DataAnalysis.Views-3.4</Name>
     279      <Private>False</Private>
    244280    </ProjectReference>
    245281    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    246282      <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    247283      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     284      <Private>False</Private>
    248285    </ProjectReference>
    249286  </ItemGroup>
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj

    r15863 r15885  
    102102      <SpecificVersion>False</SpecificVersion>
    103103      <HintPath>..\..\..\..\trunk\bin\ALGLIB-3.7.0.dll</HintPath>
     104      <Private>False</Private>
    104105    </Reference>
    105106    <Reference Include="HeuristicLab.Analysis-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    106107      <SpecificVersion>False</SpecificVersion>
    107108      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
    108     </Reference>
    109     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     109      <Private>False</Private>
     110    </Reference>
     111    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     112      <SpecificVersion>False</SpecificVersion>
     113      <Private>False</Private>
     114    </Reference>
    110115    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    111116      <SpecificVersion>False</SpecificVersion>
    112117      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common-3.3.dll</HintPath>
    113     </Reference>
    114     <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     118      <Private>False</Private>
     119    </Reference>
     120    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     121      <SpecificVersion>False</SpecificVersion>
     122      <Private>False</Private>
     123    </Reference>
    115124    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    116125      <SpecificVersion>False</SpecificVersion>
    117126      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Data-3.3.dll</HintPath>
     127      <Private>False</Private>
    118128    </Reference>
    119129    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    120130      <SpecificVersion>False</SpecificVersion>
    121131      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
    122     </Reference>
    123     <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    124     <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    125     <Reference Include="HeuristicLab.Optimization.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     132      <Private>False</Private>
     133    </Reference>
     134    <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     135      <SpecificVersion>False</SpecificVersion>
     136      <Private>False</Private>
     137    </Reference>
     138    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     139      <SpecificVersion>False</SpecificVersion>
     140      <Private>False</Private>
     141    </Reference>
     142    <Reference Include="HeuristicLab.Optimization.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     143      <SpecificVersion>False</SpecificVersion>
     144      <Private>False</Private>
     145    </Reference>
    126146    <Reference Include="HeuristicLab.Parameters-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    127147      <SpecificVersion>False</SpecificVersion>
    128148      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     149      <Private>False</Private>
    129150    </Reference>
    130151    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    131152      <SpecificVersion>False</SpecificVersion>
    132153      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     154      <Private>False</Private>
    133155    </Reference>
    134156    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    135157      <SpecificVersion>False</SpecificVersion>
    136158      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    137     </Reference>
    138     <Reference Include="HeuristicLab.Problems.Instances-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     159      <Private>False</Private>
     160    </Reference>
     161    <Reference Include="HeuristicLab.Problems.Instances-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     162      <SpecificVersion>False</SpecificVersion>
     163      <Private>False</Private>
     164    </Reference>
    139165    <Reference Include="System" />
    140166    <Reference Include="System.Core">
     
    215241      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
    216242      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     243      <Private>False</Private>
    217244    </ProjectReference>
    218245    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    219246      <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    220247      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     248      <Private>False</Private>
    221249    </ProjectReference>
    222250  </ItemGroup>
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.csproj

    r15863 r15885  
    102102      <SpecificVersion>False</SpecificVersion>
    103103      <HintPath>..\..\..\..\trunk\bin\ALGLIB-3.7.0.dll</HintPath>
     104      <Private>False</Private>
    104105    </Reference>
    105106    <Reference Include="EPPlus-4.0.3, Version=4.0.3.0, Culture=neutral, PublicKeyToken=ea159fdaa78159a1, processorArchitecture=MSIL">
    106107      <SpecificVersion>False</SpecificVersion>
    107108      <HintPath>..\..\..\..\trunk\bin\EPPlus-4.0.3.dll</HintPath>
    108     </Reference>
    109     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
    110     <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     109      <Private>False</Private>
     110    </Reference>
     111    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     112      <SpecificVersion>False</SpecificVersion>
     113      <Private>False</Private>
     114    </Reference>
     115    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     116      <SpecificVersion>False</SpecificVersion>
     117      <Private>False</Private>
     118    </Reference>
    111119    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    112120      <SpecificVersion>False</SpecificVersion>
    113121      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
    114     </Reference>
    115     <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     122      <Private>False</Private>
     123    </Reference>
     124    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     125      <SpecificVersion>False</SpecificVersion>
     126      <Private>False</Private>
     127    </Reference>
    116128    <Reference Include="HeuristicLab.Core.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    117129      <SpecificVersion>False</SpecificVersion>
    118130      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Core.Views-3.3.dll</HintPath>
    119     </Reference>
    120     <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     131      <Private>False</Private>
     132    </Reference>
     133    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     134      <SpecificVersion>False</SpecificVersion>
     135      <Private>False</Private>
     136    </Reference>
    121137    <Reference Include="HeuristicLab.Data.Views-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    122138      <SpecificVersion>False</SpecificVersion>
    123139      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Data.Views-3.3.dll</HintPath>
     140      <Private>False</Private>
    124141    </Reference>
    125142    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    126143      <SpecificVersion>False</SpecificVersion>
    127144      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     145      <Private>False</Private>
    128146    </Reference>
    129147    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    130148      <SpecificVersion>False</SpecificVersion>
    131149      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll</HintPath>
     150      <Private>False</Private>
    132151    </Reference>
    133152    <Reference Include="HeuristicLab.MainForm-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    134153      <SpecificVersion>False</SpecificVersion>
    135154      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.MainForm-3.3.dll</HintPath>
     155      <Private>False</Private>
    136156    </Reference>
    137157    <Reference Include="HeuristicLab.MainForm.WindowsForms-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    138158      <SpecificVersion>False</SpecificVersion>
    139159      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.MainForm.WindowsForms-3.3.dll</HintPath>
     160      <Private>False</Private>
    140161    </Reference>
    141162    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    142163      <SpecificVersion>False</SpecificVersion>
    143164      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     165      <Private>False</Private>
    144166    </Reference>
    145167    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    146168      <SpecificVersion>False</SpecificVersion>
    147169      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     170      <Private>False</Private>
    148171    </Reference>
    149172    <Reference Include="System" />
     
    272295      <Project>{3d28463f-ec96-4d82-afee-38be91a0ca00}</Project>
    273296      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     297      <Private>False</Private>
    274298    </ProjectReference>
    275299    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    276300      <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>
    277301      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     302      <Private>False</Private>
    278303    </ProjectReference>
    279304  </ItemGroup>
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionLatexFormatter.cs

    r15583 r15885  
    487487
    488488    private void FormatStartSymbol(StringBuilder strBuilder) {
    489       strBuilder.Append(targetVariable ?? "target_" + (targetCount++));
     489      strBuilder.Append(EscapeLatexString(targetVariable) ?? "target_{" + (targetCount++) + "}");
    490490      if (containsTimeSeriesSymbol)
    491491        strBuilder.Append("(t)");
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r15864 r15885  
    102102      <SpecificVersion>False</SpecificVersion>
    103103      <HintPath>..\..\..\..\trunk\bin\ALGLIB-3.7.0.dll</HintPath>
     104      <Private>False</Private>
    104105    </Reference>
    105106    <Reference Include="AutoDiff-1.0, Version=1.0.0.14388, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    106107      <SpecificVersion>False</SpecificVersion>
    107108      <HintPath>..\..\..\..\trunk\bin\AutoDiff-1.0.dll</HintPath>
     109      <Private>False</Private>
    108110    </Reference>
    109111    <Reference Include="HeuristicLab.Analysis-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    110112      <SpecificVersion>False</SpecificVersion>
    111113      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Analysis-3.3.dll</HintPath>
    112     </Reference>
    113     <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec" />
     114      <Private>False</Private>
     115    </Reference>
     116    <Reference Include="HeuristicLab.Collections-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     117      <SpecificVersion>False</SpecificVersion>
     118      <Private>False</Private>
     119    </Reference>
    114120    <Reference Include="HeuristicLab.Common-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    115121      <SpecificVersion>False</SpecificVersion>
    116122      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common-3.3.dll</HintPath>
     123      <Private>False</Private>
    117124    </Reference>
    118125    <Reference Include="HeuristicLab.Common.Resources-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    119126      <SpecificVersion>False</SpecificVersion>
    120127      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath>
     128      <Private>False</Private>
    121129    </Reference>
    122130    <Reference Include="HeuristicLab.Core-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    123131      <SpecificVersion>False</SpecificVersion>
    124132      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Core-3.3.dll</HintPath>
     133      <Private>False</Private>
    125134    </Reference>
    126135    <Reference Include="HeuristicLab.Data-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    127136      <SpecificVersion>False</SpecificVersion>
    128137      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Data-3.3.dll</HintPath>
     138      <Private>False</Private>
    129139    </Reference>
    130140    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    131141      <SpecificVersion>False</SpecificVersion>
    132142      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     143      <Private>False</Private>
    133144    </Reference>
    134145    <Reference Include="HeuristicLab.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    135146      <SpecificVersion>False</SpecificVersion>
    136147      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Operators-3.3.dll</HintPath>
     148      <Private>False</Private>
    137149    </Reference>
    138150    <Reference Include="HeuristicLab.Optimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    139151      <SpecificVersion>False</SpecificVersion>
    140152      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization-3.3.dll</HintPath>
     153      <Private>False</Private>
    141154    </Reference>
    142155    <Reference Include="HeuristicLab.Optimization.Operators-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    143156      <SpecificVersion>False</SpecificVersion>
    144157      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath>
     158      <Private>False</Private>
    145159    </Reference>
    146160    <Reference Include="HeuristicLab.Parameters-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    147161      <SpecificVersion>False</SpecificVersion>
    148162      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Parameters-3.3.dll</HintPath>
     163      <Private>False</Private>
    149164    </Reference>
    150165    <Reference Include="HeuristicLab.Persistence-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    151166      <SpecificVersion>False</SpecificVersion>
    152167      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Persistence-3.3.dll</HintPath>
     168      <Private>False</Private>
    153169    </Reference>
    154170    <Reference Include="HeuristicLab.PluginInfrastructure-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    155171      <SpecificVersion>False</SpecificVersion>
    156172      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
     173      <Private>False</Private>
    157174    </Reference>
    158175    <Reference Include="HeuristicLab.Problems.Instances-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    159176      <SpecificVersion>False</SpecificVersion>
    160177      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.Instances-3.3.dll</HintPath>
     178      <Private>False</Private>
    161179    </Reference>
    162180    <Reference Include="HeuristicLab.Random-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    163181      <SpecificVersion>False</SpecificVersion>
    164182      <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Random-3.3.dll</HintPath>
     183      <Private>False</Private>
    165184    </Reference>
    166185    <Reference Include="System" />
     
    355374      <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
    356375      <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>
     376      <Private>False</Private>
    357377    </ProjectReference>
    358378  </ItemGroup>
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/HeuristicLab.Problems.DataAnalysis.Views-3.4.csproj

    r15870 r15885  
    182182      <Private>False</Private>
    183183    </Reference>
    184     <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    185       <SpecificVersion>False</SpecificVersion>
    186       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
    187       <Private>False</Private>
    188     </Reference>
    189     <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    190       <SpecificVersion>False</SpecificVersion>
    191       <HintPath>..\..\..\..\trunk\bin\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.dll</HintPath>
    192       <Private>False</Private>
    193     </Reference>
    194184    <Reference Include="HeuristicLab.Visualization.ChartControlsExtensions-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
    195185      <SpecificVersion>False</SpecificVersion>
     
    594584  </ItemGroup>
    595585  <ItemGroup>
     586    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.csproj">
     587      <Project>{5AC82412-911B-4FA2-A013-EDC5E3F3FCC2}</Project>
     588      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4</Name>
     589      <Private>False</Private>
     590    </ProjectReference>
     591    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis.Symbolic\3.4\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj">
     592      <Project>{3D28463F-EC96-4D82-AFEE-38BE91A0CA00}</Project>
     593      <Name>HeuristicLab.Problems.DataAnalysis.Symbolic-3.4</Name>
     594      <Private>False</Private>
     595    </ProjectReference>
    596596    <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">
    597597      <Project>{df87c13e-a889-46ff-8153-66dcaa8c5674}</Project>
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Dataset.cs

    r15769 r15885  
    142142    }
    143143
    144     protected Dataset(Dataset dataset) : this(dataset.variableNames, dataset.variableValues.Values) { }
     144    public Dataset(Dataset dataset) : this(dataset.variableNames, dataset.variableValues.Values) { }
    145145
    146146    #region Backwards compatible code, remove with 3.5
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationProblemData.cs

    r15846 r15885  
    314314
    315315    public ClassificationProblemData(IClassificationProblemData classificationProblemData)
    316       : this(classificationProblemData.Dataset, classificationProblemData.AllowedInputVariables, classificationProblemData.TargetVariable) {
     316      : this(classificationProblemData.Dataset, classificationProblemData.AllowedInputVariables, classificationProblemData.TargetVariable, classificationProblemData.Transformations) {
    317317      TrainingPartition.Start = classificationProblemData.TrainingPartition.Start;
    318318      TrainingPartition.End = classificationProblemData.TrainingPartition.End;
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Classification/ClassificationTransformationModel.cs

    r15884 r15885  
    3838    public ClassificationTransformationModel(IClassificationModel originalModel, IEnumerable<IDataAnalysisTransformation> transformations)
    3939      : base(originalModel, transformations) {
    40       if (DataAnalysisTransformation.GetTransitiveVariables(new[] { originalModel.TargetVariable }, transformations).Any())
     40      if (transformations.Any(t => t.TransformedVariable == originalModel.TargetVariable))
    4141        throw new NotSupportedException("Classification with a transformed target variable is not allowed");
    4242    }
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Clustering/ClusteringProblemData.cs

    r15846 r15885  
    8787    }
    8888
    89     public ClusteringProblemData(Dataset dataset, IEnumerable<string> allowedInputVariables, IEnumerable<IDataAnalysisTransformation> transformations = null)
     89    public ClusteringProblemData(IDataset dataset, IEnumerable<string> allowedInputVariables, IEnumerable<IDataAnalysisTransformation> transformations = null)
    9090      : base(dataset, allowedInputVariables, transformations ?? Enumerable.Empty<IDataAnalysisTransformation>()) {
    9191    }
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/DataAnalysisTransformation.cs

    r15884 r15885  
    6666      Parameters.Add(new FixedValueParameter<StringValue>("Original Variable", new StringValue(originalVariable).AsReadOnly()));
    6767      Parameters.Add(new FixedValueParameter<StringValue>("Transformed Variable", new StringValue(transformedVariable).AsReadOnly()));
    68       Parameters.Add(new ValueParameter<ITransformation>("Transformation", transformation)); // TODO: should be readonly/fixed
     68      Parameters.Add(new ValueParameter<ITransformation>("Transformation", transformation)); // TODO: should be readonly/fixed; alternatively lock in view
    6969    }
    7070
     
    9292    // originals => include extended
    9393    public static IEnumerable<string> ExtendVariables(IEnumerable<string> variables, IEnumerable<IDataAnalysisTransformation> transformations) {
    94       return GetTransitiveVariables(variables, transformations);
     94      return GetTransitiveVariables(variables, transformations, inverse: false);
    9595    }
    9696
     
    9898    public static IEnumerable<string> ReduceVariables(IEnumerable<string> variables, IEnumerable<IDataAnalysisTransformation> transformations) {
    9999      var originalVariables = new HashSet<string>();
    100       foreach (var variable in variables)
    101         originalVariables.Add(GetLastTransitiveVariable(variable, transformations, inverse: true));
     100      foreach (var variable in variables) {
     101        var originalVariable = GetStrictTransitiveVariables(variable, transformations, inverse: true).Last();
     102        originalVariables.Add(originalVariable);
     103      }
     104
    102105      return originalVariables;
    103106    }
    104107
     108    // return all reachable variables
    105109    public static IEnumerable<string> GetTransitiveVariables(IEnumerable<string> variables, IEnumerable<IDataAnalysisTransformation> transformations, bool inverse = false) {
    106110      var reachableVariables = new HashSet<string>(variables);
     
    116120    }
    117121
    118     public static string GetLastTransitiveVariable(string variable, IEnumerable<IDataAnalysisTransformation> transformations, bool inverse = false) {
     122    // return the (unique) chain of transformations for a given variable
     123    public static IEnumerable<string> GetStrictTransitiveVariables(string variable, IEnumerable<IDataAnalysisTransformation> transformations, bool inverse = false) {
     124      yield return variable;
    119125      if (inverse) transformations = transformations.Reverse();
    120126      foreach (var transformation in transformations) {
    121127        var source = inverse ? transformation.TransformedVariable : transformation.OriginalVariable;
    122128        var target = inverse ? transformation.OriginalVariable : transformation.TransformedVariable;
    123         if (variable == source)
     129        if (variable == source) {
    124130          variable = target;
    125       }
    126 
    127       return variable;
     131          yield return variable;
     132        }
     133      }
    128134    }
    129135    #endregion
     
    137143
    138144        var originalData = modifiableDataset.GetDoubleValues(transformation.OriginalVariable);
    139         //if (!trans.Check(originalData, out string errorMessage))
    140         //  throw new InvalidOperationException($"Cannot estimate Values, Transformation is invalid: {errorMessage}");
    141         // TODO: check was already called before configure (in preprocessing)
    142         // TODO: newly specified data might not pass the check but it does not matter because the data is not configured with
    143         // e.g. impact calculation -> replacement=most common -> originalMean is zero
    144 
    145145        var transformedData = trans.Apply(originalData).ToList();
    146146        if (modifiableDataset.VariableNames.Contains(transformation.TransformedVariable))
     
    150150      }
    151151
    152       return modifiableDataset; // TODO: to regular dataset?
     152      return new Dataset(modifiableDataset);
    153153    }
    154154
     
    178178      }
    179179
    180       return modifiableDataset; // TODO: to regular dataset?
     180      return new Dataset(modifiableDataset);
    181181    }
    182182    #endregion
     
    200200      IDataAnalysisProblemData newProblemData;
    201201      if (problemData is IRegressionProblemData regressionProblemData) {
    202         var newTargetVariable = GetLastTransitiveVariable(regressionProblemData.TargetVariable, problemData.Transformations, inverse);
    203         newProblemData = new RegressionProblemData(dataset, inputs, newTargetVariable, problemData.Transformations);
     202        var newTargetVariable = GetStrictTransitiveVariables(regressionProblemData.TargetVariable, problemData.Transformations, inverse).Last();
     203        if (problemData is ITimeSeriesPrognosisProblemData timeSeriesPrognosisProblemData) {
     204          newProblemData = new TimeSeriesPrognosisProblemData(dataset, inputs, newTargetVariable, problemData.Transformations) {
     205            TrainingHorizon = timeSeriesPrognosisProblemData.TrainingHorizon,
     206            TestHorizon = timeSeriesPrognosisProblemData.TestHorizon,
     207          };
     208
     209        } else
     210          newProblemData = new RegressionProblemData(dataset, inputs, newTargetVariable, problemData.Transformations);
    204211      } else if (problemData is IClassificationProblemData classificationProblemData) {
    205212        newProblemData = new ClassificationProblemData(dataset, inputs, classificationProblemData.TargetVariable, problemData.Transformations);
     213      } else if (problemData is IClusteringProblemData) {
     214        newProblemData = new ClusteringProblemData(dataset, inputs, problemData.Transformations);
    206215      } else throw new NotSupportedException("Type of ProblemData not supported");
    207216
     
    216225
    217226    #region Transform Model
    218     public static IDataAnalysisTransformationModel CreateTransformationIntegratedModel(IDataAnalysisModel model, IEnumerable<IDataAnalysisTransformation> transformations) {
     227    // problemdata required for type-switch. cannot differ based on model type (e.g. RF model is both regression and classification)
     228    public static IDataAnalysisTransformationModel CreateTransformationIntegratedModel(IDataAnalysisModel model, IEnumerable<IDataAnalysisTransformation> transformations, IDataAnalysisProblemData problemData) {
    219229      if (model is IDataAnalysisTransformationModel)
    220230        throw new InvalidOperationException("Model already is a transformation model.");
    221231
    222       switch (model) {
    223         case ITimeSeriesPrognosisModel timeSeriesPrognosisModel:
    224           return new TimeSeriesPrognosisTransformationModel(timeSeriesPrognosisModel, transformations);
    225         case IRegressionModel regressionModel:
    226           return new RegressionTransformationModel(regressionModel, transformations);
    227         case IClassificationModel classificationModel:
    228           return new ClassificationTransformationModel(classificationModel, transformations);
    229         case IClusteringModel clusteringModel:
    230           return new ClusteringTransformationModel(clusteringModel, transformations);
    231         default:
    232           throw new NotSupportedException("Type of the model is not supported;");
    233       }
     232      if (problemData is ITimeSeriesPrognosisProblemData)
     233        return new TimeSeriesPrognosisTransformationModel((ITimeSeriesPrognosisModel)model, transformations);
     234      if (problemData is IRegressionProblemData)
     235        return new RegressionTransformationModel((IRegressionModel)model, transformations);
     236      if (problemData is IClassificationProblemData)
     237        return new ClassificationTransformationModel((IClassificationModel)model, transformations);
     238      if (problemData is IClusteringProblemData)
     239        return new ClusteringTransformationModel((IClusteringModel)model, transformations);
     240
     241      throw new NotSupportedException("Type of the model is not supported;");
    234242    }
    235243
     
    247255      var model = solution.Model is IDataAnalysisTransformationModel // TODO: what if model is a integrated sym-reg model?
    248256        ? RestoreTrainedModel(solution.Model, transformations)
    249         : CreateTransformationIntegratedModel(solution.Model, transformations);
     257        : CreateTransformationIntegratedModel(solution.Model, transformations, solution.ProblemData);
    250258
    251259      var data = solution.Model is IDataAnalysisTransformationModel
     
    257265
    258266    private static IDataAnalysisSolution CreateSolution(IDataAnalysisModel model, IDataAnalysisProblemData problemData) {
    259       switch (model) {
    260         case ITimeSeriesPrognosisModel timeSeriesPrognosisModel:
    261           return timeSeriesPrognosisModel.CreateTimeSeriesPrognosisSolution((ITimeSeriesPrognosisProblemData)problemData);
    262         case IRegressionModel regressionModel:
    263           return regressionModel.CreateRegressionSolution((IRegressionProblemData)problemData);
    264         case IClassificationModel classificationModel:
    265           return classificationModel.CreateClassificationSolution((IClassificationProblemData)problemData);
    266         default:
    267           throw new NotSupportedException("Cannot create Solution of the model type.");
    268       }
     267      if (problemData is ITimeSeriesPrognosisProblemData)
     268        return ((ITimeSeriesPrognosisModel)model).CreateTimeSeriesPrognosisSolution((ITimeSeriesPrognosisProblemData)problemData);
     269      if (problemData is IRegressionProblemData)
     270        return ((IRegressionModel)model).CreateRegressionSolution((IRegressionProblemData)problemData);
     271      if (problemData is IClassificationProblemData)
     272        return ((IClassificationModel)model).CreateClassificationSolution((IClassificationProblemData)problemData);
     273      //if (problemData is IClusteringProblemData)
     274      //  return ((IClusteringModel)model).CreateClusteringSolution((IClusteringProblemData)problemData);
     275
     276      throw new NotSupportedException("Cannot create Solution of the model type.");
    269277    }
    270278    #endregion
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/Regression/RegressionTransformationModel.cs

    r15884 r15885  
    4242    public RegressionTransformationModel(IRegressionModel originalModel, IEnumerable<IDataAnalysisTransformation> transformations)
    4343      : base(originalModel, transformations) {
    44       var transitiveTargets = DataAnalysisTransformation.GetTransitiveVariables(new[] { originalModel.TargetVariable }, transformations, inverse: true).ToList();
    45       TargetTransformations = new ItemList<IDataAnalysisTransformation>(transformations.Where(t => transitiveTargets.Contains(t.OriginalVariable))).AsReadOnly();
    46       TargetVariable = DataAnalysisTransformation.GetLastTransitiveVariable(originalModel.TargetVariable, TargetTransformations, inverse: true);
     44      var learnedTarget = DataAnalysisTransformation.GetStrictTransitiveVariables(originalModel.TargetVariable, transformations, true).Last();
     45      var transitiveTargets = DataAnalysisTransformation.GetStrictTransitiveVariables(learnedTarget, transformations, inverse: false).ToList();
     46      TargetTransformations = new ItemList<IDataAnalysisTransformation>(transformations.Where(t => transitiveTargets.Contains(t.TransformedVariable))).AsReadOnly();
     47
     48      TargetVariable = DataAnalysisTransformation.GetStrictTransitiveVariables(originalModel.TargetVariable, TargetTransformations, true).Last();
    4749    }
    4850
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis/3.4/Implementation/TimeSeriesPrognosis/TimeSeriesPrognosisProblemData.cs

    r15846 r15885  
    15961596
    15971597    public TimeSeriesPrognosisProblemData(ITimeSeriesPrognosisProblemData timeseriesProblemData)
    1598       : this(timeseriesProblemData.Dataset, timeseriesProblemData.AllowedInputVariables, timeseriesProblemData.TargetVariable) {
     1598      : this(timeseriesProblemData.Dataset, timeseriesProblemData.AllowedInputVariables, timeseriesProblemData.TargetVariable, timeseriesProblemData.Transformations) {
    15991599
    16001600      TrainingPartition.Start = timeseriesProblemData.TrainingPartition.Start;
Note: See TracChangeset for help on using the changeset viewer.