@@ -2813,7 +2813,7 @@ public abstract class TreeEnsembleModelParameters :
2813
2813
{
2814
2814
// The below two properties are necessary for tree Visualizer
2815
2815
[ BestFriend ]
2816
- internal InternalTreeEnsemble TrainedEnsemble ;
2816
+ internal InternalTreeEnsemble TrainedEnsemble { get ; }
2817
2817
2818
2818
int ITreeEnsemble . NumTrees => TrainedEnsemble . NumTrees ;
2819
2819
@@ -2919,6 +2919,12 @@ protected TreeEnsembleModelParameters(IHostEnvironment env, string name, ModelLo
2919
2919
OutputType = NumberType . Float ;
2920
2920
}
2921
2921
2922
+ /// <summary>
2923
+ /// This function should be implemented in derived classs to create strongly-typed TreeEnsemble
2924
+ /// from <see cref="TrainedEnsemble"/> and possibly other internal attributes in
2925
+ /// <see cref="TreeEnsembleModelParameters"/>. This also implies we always call this function
2926
+ /// after initializing <see cref="TrainedEnsemble"/>.
2927
+ /// </summary>
2922
2928
protected abstract void CreateTreeEnsembleFromInternalDataStructure ( ) ;
2923
2929
2924
2930
[ BestFriend ]
@@ -3382,6 +3388,16 @@ public TreeNode(Dictionary<string, object> keyValues)
3382
3388
}
3383
3389
}
3384
3390
3391
+ /// <summary>
3392
+ /// <see cref="TreeEnsembleModelParametersBasedOnRegressionTree"/> is derived from
3393
+ /// <see cref="TreeEnsembleModelParameters"/> plus a strongly-typed public attribute,
3394
+ /// <see cref="TrainedTreeEnsemble"/>, for exposing trained model's details to users.
3395
+ /// Its function, <see cref="CreateTreeEnsembleFromInternalDataStructure"/>, is
3396
+ /// called to create <see cref="TrainedTreeEnsemble"/> inside <see cref="TreeEnsembleModelParameters"/>.
3397
+ /// Note that the major difference between <see cref="TreeEnsembleModelParametersBasedOnQuantileRegressionTree"/>
3398
+ /// and <see cref="TreeEnsembleModelParametersBasedOnRegressionTree"/> is the type of
3399
+ /// <see cref="TrainedTreeEnsemble"/>.
3400
+ /// </summary>
3385
3401
public abstract class TreeEnsembleModelParametersBasedOnRegressionTree : TreeEnsembleModelParameters
3386
3402
{
3387
3403
private TreeEnsemble < RegressionTree > _trainedTreeEnsemble ;
@@ -3403,6 +3419,9 @@ protected TreeEnsembleModelParametersBasedOnRegressionTree(IHostEnvironment env,
3403
3419
{
3404
3420
}
3405
3421
3422
+ /// <summary>
3423
+ /// See <see cref="TreeEnsembleModelParameters.CreateTreeEnsembleFromInternalDataStructure"/>.
3424
+ /// </summary>
3406
3425
protected override void CreateTreeEnsembleFromInternalDataStructure ( )
3407
3426
{
3408
3427
var trees = TrainedEnsemble . Trees . Select ( tree => new RegressionTree ( tree ) ) ;
@@ -3411,6 +3430,16 @@ protected override void CreateTreeEnsembleFromInternalDataStructure()
3411
3430
}
3412
3431
}
3413
3432
3433
+ /// <summary>
3434
+ /// <see cref="TreeEnsembleModelParametersBasedOnQuantileRegressionTree"/> is derived from
3435
+ /// <see cref="TreeEnsembleModelParameters"/> plus a strongly-typed public attribute,
3436
+ /// <see cref="TrainedTreeEnsemble"/>, for exposing trained model's details to users.
3437
+ /// Its function, <see cref="CreateTreeEnsembleFromInternalDataStructure"/>, is
3438
+ /// called to create <see cref="TrainedTreeEnsemble"/> inside <see cref="TreeEnsembleModelParameters"/>.
3439
+ /// Note that the major difference between <see cref="TreeEnsembleModelParametersBasedOnQuantileRegressionTree"/>
3440
+ /// and <see cref="TreeEnsembleModelParametersBasedOnRegressionTree"/> is the type of
3441
+ /// <see cref="TrainedTreeEnsemble"/>.
3442
+ /// </summary>
3414
3443
public abstract class TreeEnsembleModelParametersBasedOnQuantileRegressionTree : TreeEnsembleModelParameters
3415
3444
{
3416
3445
private TreeEnsemble < QuantileRegressionTree > _trainedTreeEnsemble ;
@@ -3432,6 +3461,9 @@ protected TreeEnsembleModelParametersBasedOnQuantileRegressionTree(IHostEnvironm
3432
3461
{
3433
3462
}
3434
3463
3464
+ /// <summary>
3465
+ /// See <see cref="TreeEnsembleModelParameters.CreateTreeEnsembleFromInternalDataStructure"/>.
3466
+ /// </summary>
3435
3467
protected override void CreateTreeEnsembleFromInternalDataStructure ( )
3436
3468
{
3437
3469
var trees = TrainedEnsemble . Trees . Select ( tree => new QuantileRegressionTree ( ( InternalQuantileRegressionTree ) tree ) ) ;
0 commit comments