Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/04/18 17:18:02 (6 years ago)
Author:
pfleck
Message:

#2906 Refactoring

  • Moved transformation-specific parts out of existing interfaces.
  • Moved all Transformation logic to DataAnalysisTransformation.
  • Simplified (Inverse)Transformation of Dataset/ProblemData/Model/Solution.
Location:
branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisTransformationModelView.Designer.cs

    r15870 r15884  
    4545    /// </summary>
    4646    private void InitializeComponent() {
    47       this.originalModelTabPage = new System.Windows.Forms.TabPage();
     47      this.trainedModelTabPage = new System.Windows.Forms.TabPage();
    4848      this.modelViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    4949      this.tabControl = new System.Windows.Forms.TabControl();
     
    5252      this.targetTransformationsTabPage = new System.Windows.Forms.TabPage();
    5353      this.targetTransformationsViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    54       this.originalModelTabPage.SuspendLayout();
     54      this.trainedModelTabPage.SuspendLayout();
    5555      this.tabControl.SuspendLayout();
    5656      this.inputTransformationsTabPage.SuspendLayout();
     
    5858      this.SuspendLayout();
    5959      //
    60       // originalModelTabPage
     60      // trainedModelTabPage
    6161      //
    62       this.originalModelTabPage.Controls.Add(this.modelViewHost);
    63       this.originalModelTabPage.Location = new System.Drawing.Point(4, 22);
    64       this.originalModelTabPage.Name = "originalModelTabPage";
    65       this.originalModelTabPage.Padding = new System.Windows.Forms.Padding(3);
    66       this.originalModelTabPage.Size = new System.Drawing.Size(486, 392);
    67       this.originalModelTabPage.TabIndex = 0;
    68       this.originalModelTabPage.Text = "Original Model";
    69       this.originalModelTabPage.UseVisualStyleBackColor = true;
     62      this.trainedModelTabPage.Controls.Add(this.modelViewHost);
     63      this.trainedModelTabPage.Location = new System.Drawing.Point(4, 22);
     64      this.trainedModelTabPage.Name = "trainedModelTabPage";
     65      this.trainedModelTabPage.Padding = new System.Windows.Forms.Padding(3);
     66      this.trainedModelTabPage.Size = new System.Drawing.Size(486, 392);
     67      this.trainedModelTabPage.TabIndex = 0;
     68      this.trainedModelTabPage.Text = "Trained Model";
     69      this.trainedModelTabPage.UseVisualStyleBackColor = true;
    7070      //
    7171      // modelViewHost
     
    8888            | System.Windows.Forms.AnchorStyles.Left)
    8989            | System.Windows.Forms.AnchorStyles.Right)));
    90       this.tabControl.Controls.Add(this.originalModelTabPage);
     90      this.tabControl.Controls.Add(this.trainedModelTabPage);
    9191      this.tabControl.Controls.Add(this.inputTransformationsTabPage);
    9292      this.tabControl.Controls.Add(this.targetTransformationsTabPage);
     
    154154      this.Name = "DataAnalysisTransformationModelView";
    155155      this.Size = new System.Drawing.Size(500, 424);
    156       this.originalModelTabPage.ResumeLayout(false);
     156      this.trainedModelTabPage.ResumeLayout(false);
    157157      this.tabControl.ResumeLayout(false);
    158158      this.inputTransformationsTabPage.ResumeLayout(false);
     
    164164    #endregion
    165165
    166     private System.Windows.Forms.TabPage originalModelTabPage;
     166    private System.Windows.Forms.TabPage trainedModelTabPage;
    167167    private MainForm.WindowsForms.ViewHost modelViewHost;
    168168    private System.Windows.Forms.TabControl tabControl;
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/DataAnalysisTransformationModelView.cs

    r15870 r15884  
    1818 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
    1919 */
    20 #endregion           
     20#endregion
    2121
    2222using HeuristicLab.Core.Views;
     
    2525namespace HeuristicLab.Problems.DataAnalysis.Views {
    2626  [View("Transformation Model View")]
    27   [Content(typeof(IDataAnalysisTransformationModel), true)]
     27  [Content(typeof(DataAnalysisTransformationModel), true)]
    2828  public partial class DataAnalysisTransformationModelView : ItemView {
    2929
    30     public new IDataAnalysisTransformationModel Content {
    31       get { return (IDataAnalysisTransformationModel)base.Content; }
     30    public new DataAnalysisTransformationModel Content {
     31      get { return (DataAnalysisTransformationModel)base.Content; }
    3232      set { base.Content = value; }
    3333    }
  • branches/2906_Transformations/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs

    r15870 r15884  
    4040
    4141    private const string BacktransformButtonText = "Integrate Transformations";
    42     private const string ReapplyTransformationsButtonText = "Restore Original Model";
     42    private const string ReapplyTransformationsButtonText = "Restore Trained Model";
    4343
    4444    public DataAnalysisSolutionView() {
     
    9393
    9494      transformButton.Text = Content.Model is IDataAnalysisTransformationModel
    95         ? ReapplyTransformationsButtonText : BacktransformButtonText;
     95        ? ReapplyTransformationsButtonText
     96        : BacktransformButtonText;
    9697    }
    9798
     
    237238        problemData = param.Value as DataAnalysisProblemData;
    238239      }
     240
    239241      if (problemData == null) return;
    240242
     
    258260
    259261    private void transformButton_Click(object sender, EventArgs e) {
    260       var transformedSolution = CreateTransformedSolution(Content);
     262      var transformedSolution = DataAnalysisTransformation.TransformSolution(Content);
    261263      MainFormManager.MainForm.ShowContent(transformedSolution);
    262264    }
    263 
    264     private static IDataAnalysisSolution CreateTransformedSolution(IDataAnalysisSolution solution) {
    265       if (solution.Model is IRegressionTransformationModel regressionTransformationModel && !(solution.Model is ITimeSeriesPrognosisTransformationModel)) {
    266         var originalData = (IRegressionProblemData)((IRegressionSolution)solution).ProblemData.Transform();
    267         return regressionTransformationModel.OriginalModel.CreateRegressionSolution(originalData);
    268       } else if (solution.Model is IClassificationTransformationModel classificationTransformationModel) {
    269         var originalData = (IClassificationProblemData)((IClassificationSolution)solution).ProblemData.Transform();
    270         return classificationTransformationModel.OriginalModel.CreateClassificationSolution(originalData);
    271       } else if (solution.Model is IRegressionModel regressionModel && !(solution.Model is ITimeSeriesPrognosisModel)) {
    272         var transformationModel = new RegressionTransformationModel(regressionModel, solution.ProblemData.Transformations);
    273         var transformedData = (IRegressionProblemData)((IRegressionSolution)solution).ProblemData.InverseTransform();
    274         return transformationModel.CreateRegressionSolution(transformedData);
    275       } else if (solution.Model is IClassificationModel classificationModel) {
    276         var transformationModel = new ClassificationTransformationModel(classificationModel, solution.ProblemData.Transformations);
    277         var transformedData = (IClassificationProblemData)((IClassificationSolution)solution).ProblemData.InverseTransform();
    278         return transformationModel.CreateClassificationSolution(transformedData);
    279       } else throw new NotSupportedException();
    280     }
    281 
    282     /*if (Content.Model is IDataAnalysisTransformationModel transformationModel) {
    283       var originalModel = transformationModel.InverseTransform();
    284       originalModel.CreateSolution();
    285     } else {
    286       var originalModel = Content.Model;
    287       var transformationModel = originalModel.Transform();
    288       transformationModel.CreateSolution();
    289     }*/
    290 
    291     ////Content.Model.Transform()
    292 
    293     //var transformedModel = new DataAnalysisTransformationModel(Content.Model, Content.ProblemData.Transformations);
    294     //var originalProblemData = (IRegressionProblemData)Content.ProblemData.InverseTransform();
    295     //var transformedSolution = new TransformedRegressionSolution(transformedModel, originalProblemData);
    296     //MainFormManager.MainForm.ShowContent(transformedSolution);
    297265  }
    298266}
Note: See TracChangeset for help on using the changeset viewer.