Changeset 12872 for branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions
- Timestamp:
- 08/17/15 18:33:31 (9 years ago)
- Location:
- branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/AbsoluteErrorLoss.cs
r12871 r12872 23 23 using System; 24 24 using System.Collections.Generic; 25 using System.Diagnostics; 26 using System.Linq; 25 27 using HeuristicLab.Common; 26 using HeuristicLab.Core;27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;28 28 29 29 namespace HeuristicLab.Algorithms.DataAnalysis { 30 30 // loss function for the weighted absolute error 31 [StorableClass] 32 [Item("Absolute error loss", "")] 33 public class AbsoluteErrorLoss : Item, ILossFunction { 34 public AbsoluteErrorLoss() { } 35 31 public class AbsoluteErrorLoss : ILossFunction { 36 32 public double GetLoss(IEnumerable<double> target, IEnumerable<double> pred) { 37 33 var targetEnum = target.GetEnumerator(); … … 81 77 } 82 78 83 #region item implementation 84 private AbsoluteErrorLoss(AbsoluteErrorLoss original, Cloner cloner) : base(original, cloner) { } 85 86 public override IDeepCloneable Clone(Cloner cloner) { 87 return new AbsoluteErrorLoss(this, cloner); 79 public override string ToString() { 80 return "Absolute error loss"; 88 81 } 89 #endregion90 82 } 91 83 } -
branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/ILossFunction.cs
r12871 r12872 22 22 23 23 using System.Collections.Generic; 24 using HeuristicLab.Core;25 24 26 25 namespace HeuristicLab.Algorithms.DataAnalysis { … … 28 27 // target represents the target vector (original targets from the problem data, never changed) 29 28 // pred represents the current vector of predictions (a weighted combination of models learned so far, this vector is updated after each step) 30 public interface ILossFunction : IItem{29 public interface ILossFunction { 31 30 // returns the loss of the current prediction vector 32 31 double GetLoss(IEnumerable<double> target, IEnumerable<double> pred); -
branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/LogisticRegressionLoss.cs
r12871 r12872 26 26 using System.Linq; 27 27 using HeuristicLab.Common; 28 using HeuristicLab.Core;29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;30 28 31 29 namespace HeuristicLab.Algorithms.DataAnalysis { 32 30 // Greedy Function Approximation: A Gradient Boosting Machine (page 9) 33 [StorableClass] 34 [Item("Logistic regression loss", "")] 35 public class LogisticRegressionLoss : Item, ILossFunction { 36 public LogisticRegressionLoss() { } 37 31 public class LogisticRegressionLoss : ILossFunction { 38 32 public double GetLoss(IEnumerable<double> target, IEnumerable<double> pred) { 39 33 var targetEnum = target.GetEnumerator(); … … 89 83 } 90 84 91 #region item implementation 92 private LogisticRegressionLoss(LogisticRegressionLoss original, Cloner cloner) : base(original, cloner) { } 93 94 public override IDeepCloneable Clone(Cloner cloner) { 95 return new LogisticRegressionLoss(this, cloner); 85 public override string ToString() { 86 return "Logistic regression loss"; 96 87 } 97 #endregion98 99 88 } 100 89 } -
branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/RelativeErrorLoss.cs
r12871 r12872 26 26 using System.Linq; 27 27 using HeuristicLab.Common; 28 using HeuristicLab.Core;29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;30 28 31 29 namespace HeuristicLab.Algorithms.DataAnalysis { 32 30 // relative error loss is a special case of weighted absolute error loss with weights = (1/target) 33 [StorableClass] 34 [Item("Relative error loss", "")] 35 public class RelativeErrorLoss : Item, ILossFunction { 36 public RelativeErrorLoss() { } 37 31 public class RelativeErrorLoss : ILossFunction { 38 32 public double GetLoss(IEnumerable<double> target, IEnumerable<double> pred) { 39 33 var targetEnum = target.GetEnumerator(); … … 111 105 } 112 106 113 #region item implementation 114 private RelativeErrorLoss(RelativeErrorLoss original, Cloner cloner) : base(original, cloner) { } 115 116 public override IDeepCloneable Clone(Cloner cloner) { 117 return new RelativeErrorLoss(this, cloner); 107 public override string ToString() { 108 return "Relative error loss"; 118 109 } 119 #endregion120 110 } 121 111 } -
branches/crossvalidation-2434/HeuristicLab.Algorithms.DataAnalysis/3.4/GradientBoostedTrees/LossFunctions/SquaredErrorLoss.cs
r12871 r12872 24 24 using System.Collections.Generic; 25 25 using System.Linq; 26 using HeuristicLab.Common;27 using HeuristicLab.Core;28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;29 26 30 27 namespace HeuristicLab.Algorithms.DataAnalysis { 31 [StorableClass] 32 [Item("Squared error loss", "")] 33 public class SquaredErrorLoss : Item, ILossFunction { 34 public SquaredErrorLoss() { } 35 28 public class SquaredErrorLoss : ILossFunction { 36 29 public double GetLoss(IEnumerable<double> target, IEnumerable<double> pred) { 37 30 var targetEnum = target.GetEnumerator(); … … 77 70 } 78 71 79 #region item implementation 80 private SquaredErrorLoss(SquaredErrorLoss original, Cloner cloner) : base(original, cloner) { } 81 82 public override IDeepCloneable Clone(Cloner cloner) { 83 return new SquaredErrorLoss(this, cloner); 72 public override string ToString() { 73 return "Squared error loss"; 84 74 } 85 #endregion86 75 } 87 76 }
Note: See TracChangeset
for help on using the changeset viewer.