Changeset 12590 for branches/GBT-trunkintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs
- Timestamp:
- 07/04/15 16:03:36 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/GBT-trunkintegration/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/RegressionTreeModel.cs
r12589 r12590 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * and the BEACON Center for the Study of Evolution in Action. 5 * 6 * This file is part of HeuristicLab. 7 * 8 * HeuristicLab is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * HeuristicLab is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 #endregion 22 2 23 using System.Collections.Generic; 3 24 using System.Linq; … … 7 28 using HeuristicLab.Problems.DataAnalysis; 8 29 9 namespace GradientBoostedTrees {30 namespace HeuristicLab.Algorithms.DataAnalysis { 10 31 [StorableClass] 11 32 [Item("RegressionTreeModel", "Represents a decision tree for regression.")] 12 // TODO: Implement a view for this13 33 public class RegressionTreeModel : NamedItem, IRegressionModel { 14 34 15 35 // trees are represented as a flat array 16 // object-graph-travesal has problems if this is defined as a struct. TODO investigate...17 //[StorableClass]18 36 public struct TreeNode { 19 37 public readonly static string NO_VARIABLE = string.Empty; 20 //[Storable]21 38 public string varName; // name of the variable for splitting or -1 if terminal node 22 //[Storable]23 39 public double val; // threshold 24 //[Storable]25 40 public int leftIdx; 26 //[Storable]27 41 public int rightIdx; 28 42 29 //public TreeNode() { 30 // varName = NO_VARIABLE; 31 // leftIdx = -1; 32 // rightIdx = -1; 33 //} 34 //[StorableConstructor] 35 //private TreeNode(bool deserializing) { } 36 public override int GetHashCode() 37 { 38 return (leftIdx * rightIdx) ^ val.GetHashCode(); 43 public override int GetHashCode() { 44 return leftIdx ^ rightIdx ^ val.GetHashCode(); 39 45 } 40 46 }
Note: See TracChangeset
for help on using the changeset viewer.