Skip to content

Lockdown Microsoft.ML.FastTree public surface #2511

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Feb 19, 2019

Conversation

codemzs
Copy link
Member

@codemzs codemzs commented Feb 12, 2019

fixes #2266

Reduces public API count from 1098 to 274 237.

Before After
image image

@codemzs
Copy link
Member Author

codemzs commented Feb 12, 2019

### NEW API SURFACE:

N:Microsoft.ML
T:Microsoft.ML.TreeExtensions
M:Microsoft.ML.TreeExtensions.FastForest(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,Microsoft.ML.Trainers.FastTree.FastForestClassification.Options)
M:Microsoft.ML.TreeExtensions.FastForest(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.FastForest(Microsoft.ML.RegressionCatalog.RegressionTrainers,Microsoft.ML.Trainers.FastTree.FastForestRegression.Options)
M:Microsoft.ML.TreeExtensions.FastForest(Microsoft.ML.RegressionCatalog.RegressionTrainers,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Options)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.RankingCatalog.RankingTrainers,Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.RankingCatalog.RankingTrainers,System.String,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.RegressionCatalog.RegressionTrainers,Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options)
M:Microsoft.ML.TreeExtensions.FastTree(Microsoft.ML.RegressionCatalog.RegressionTrainers,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.FastTreeTweedie(Microsoft.ML.RegressionCatalog.RegressionTrainers,Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Options)
M:Microsoft.ML.TreeExtensions.FastTreeTweedie(Microsoft.ML.RegressionCatalog.RegressionTrainers,System.String,System.String,System.String,System.Int32,System.Int32,System.Int32,System.Double)
M:Microsoft.ML.TreeExtensions.GeneralizedAdditiveModels(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer.Options)
M:Microsoft.ML.TreeExtensions.GeneralizedAdditiveModels(Microsoft.ML.BinaryClassificationCatalog.BinaryClassificationTrainers,System.String,System.String,System.String,System.Int32,System.Double,System.Int32)
M:Microsoft.ML.TreeExtensions.GeneralizedAdditiveModels(Microsoft.ML.RegressionCatalog.RegressionTrainers,Microsoft.ML.Trainers.FastTree.RegressionGamTrainer.Options)
M:Microsoft.ML.TreeExtensions.GeneralizedAdditiveModels(Microsoft.ML.RegressionCatalog.RegressionTrainers,System.String,System.String,System.String,System.Int32,System.Double,System.Int32)
N:Microsoft.ML.FastTree
T:Microsoft.ML.FastTree.QuantileRegressionTree
M:Microsoft.ML.FastTree.QuantileRegressionTree.GetLeafSamplesAt(System.Int32)
M:Microsoft.ML.FastTree.QuantileRegressionTree.GetLeafSampleWeightsAt(System.Int32)
T:Microsoft.ML.FastTree.QuantileRegressionTreeEnsemble
T:Microsoft.ML.FastTree.RegressionTree
T:Microsoft.ML.FastTree.RegressionTreeBase
P:Microsoft.ML.FastTree.RegressionTreeBase.CategoricalSplitFlags
P:Microsoft.ML.FastTree.RegressionTreeBase.GtChild
P:Microsoft.ML.FastTree.RegressionTreeBase.LeafValues
P:Microsoft.ML.FastTree.RegressionTreeBase.LteChild
P:Microsoft.ML.FastTree.RegressionTreeBase.NumericalSplitFeatureIndexes
P:Microsoft.ML.FastTree.RegressionTreeBase.NumericalSplitThresholds
P:Microsoft.ML.FastTree.RegressionTreeBase.NumLeaves
P:Microsoft.ML.FastTree.RegressionTreeBase.NumNodes
M:Microsoft.ML.FastTree.RegressionTreeBase.get_CategoricalSplitFlags
M:Microsoft.ML.FastTree.RegressionTreeBase.GetCategoricalCategoricalSplitFeatureRangeAt(System.Int32)
M:Microsoft.ML.FastTree.RegressionTreeBase.GetCategoricalSplitFeaturesAt(System.Int32)
M:Microsoft.ML.FastTree.RegressionTreeBase.get_GtChild
M:Microsoft.ML.FastTree.RegressionTreeBase.get_LeafValues
M:Microsoft.ML.FastTree.RegressionTreeBase.get_LteChild
M:Microsoft.ML.FastTree.RegressionTreeBase.get_NumericalSplitFeatureIndexes
M:Microsoft.ML.FastTree.RegressionTreeBase.get_NumericalSplitThresholds
M:Microsoft.ML.FastTree.RegressionTreeBase.get_NumLeaves
M:Microsoft.ML.FastTree.RegressionTreeBase.get_NumNodes
T:Microsoft.ML.FastTree.RegressionTreeEnsemble
T:Microsoft.ML.FastTree.TreeEnsemble1 P:Microsoft.ML.FastTree.TreeEnsemble1.Bias
P:Microsoft.ML.FastTree.TreeEnsemble1.Trees P:Microsoft.ML.FastTree.TreeEnsemble1.TreeWeights
M:Microsoft.ML.FastTree.TreeEnsemble1.get_Bias M:Microsoft.ML.FastTree.TreeEnsemble1.get_Trees
M:Microsoft.ML.FastTree.TreeEnsemble1.get_TreeWeights N:Microsoft.ML.Trainers.FastTree T:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamModelParameters M:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamModelParameters.#ctor(Microsoft.ML.IHostEnvironment,System.Double[][],System.Double[][],System.Double,System.Int32,System.Int32[]) T:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer M:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView) T:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer.Options F:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer.Options.UnbalancedSets M:Microsoft.ML.Trainers.FastTree.BinaryClassificationGamTrainer.Options.#ctor T:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.EarlyStoppingRule F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithm F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.BestStepRankingRegressionTrees F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.EnablePruning F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.FilterZeroLambdas F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.RandomStart F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.UseLineSearch F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.UseTolerantPruning F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.WriteLastEnsemble F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.DropoutRate F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.LearningRates F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.MaxTreeOutput F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.MinStepSize F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.PruningThreshold F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.Shrinkage F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.EarlyStoppingMetrics F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.GetDerivativesSampleRate F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.NumPostBracketSteps F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.PruningWindowSize F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.BaselineAlphaRisk F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.BaselineScoresFormula F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.PositionDiscountFreeform M:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.#ctor T:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithmType F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithmType.AcceleratedGradientDescent F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithmType.ConjugateGradientDescent F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithmType.GradientDescent F:Microsoft.ML.Trainers.FastTree.BoostedTreeArgs.OptimizationAlgorithmType.value__ T:Microsoft.ML.Trainers.FastTree.BoostingFastTreeTrainerBase3
T:Microsoft.ML.Trainers.FastTree.Bundle
F:Microsoft.ML.Trainers.FastTree.Bundle.Adjacent
F:Microsoft.ML.Trainers.FastTree.Bundle.AggregateLowPopulation
F:Microsoft.ML.Trainers.FastTree.Bundle.None
F:Microsoft.ML.Trainers.FastTree.Bundle.value__
T:Microsoft.ML.Trainers.FastTree.FastForestClassification
M:Microsoft.ML.Trainers.FastTree.FastForestClassification.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.FastForestClassification.Options
F:Microsoft.ML.Trainers.FastTree.FastForestClassification.Options.MaxTreeOutput
M:Microsoft.ML.Trainers.FastTree.FastForestClassification.Options.#ctor
T:Microsoft.ML.Trainers.FastTree.FastForestClassificationModelParameters
T:Microsoft.ML.Trainers.FastTree.FastForestOptionsBase
F:Microsoft.ML.Trainers.FastTree.FastForestOptionsBase.QuantileSampleCount
M:Microsoft.ML.Trainers.FastTree.FastForestOptionsBase.#ctor
T:Microsoft.ML.Trainers.FastTree.FastForestRegression
M:Microsoft.ML.Trainers.FastTree.FastForestRegression.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.FastForestRegression.Options
F:Microsoft.ML.Trainers.FastTree.FastForestRegression.Options.ShuffleLabels
M:Microsoft.ML.Trainers.FastTree.FastForestRegression.Options.#ctor
T:Microsoft.ML.Trainers.FastTree.FastForestRegressionModelParameters
M:Microsoft.ML.Trainers.FastTree.FastForestRegressionModelParameters.Microsoft#ML#Internal#Internallearn#IQuantileRegressionPredictor#CreateMapper(System.Double[])
M:Microsoft.ML.Trainers.FastTree.FastForestRegressionModelParameters.Microsoft#ML#Internal#Internallearn#IQuantileValueMapper#GetMapper(System.Single[])
T:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer
M:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Options
F:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Options.UnbalancedSets
M:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Options.#ctor
M:Microsoft.ML.Trainers.FastTree.FastTreeBinaryClassificationTrainer.Options.Microsoft#ML#IComponentFactory{Microsoft#ML#ITrainer}#CreateComponent(Microsoft.ML.IHostEnvironment)
T:Microsoft.ML.Trainers.FastTree.FastTreeBinaryModelParameters
T:Microsoft.ML.Trainers.FastTree.FastTreeRankingModelParameters
T:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer
M:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.DistanceWeight2
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.NormalizeQueryLambdas
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.ShiftedNdcg
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.TrainDcg
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.CostFunctionParam
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.LambdaMartMaxTruncation
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.CustomGains
F:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.SortingAlgorithm
M:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.#ctor
M:Microsoft.ML.Trainers.FastTree.FastTreeRankingTrainer.Options.Microsoft#ML#IComponentFactory{Microsoft#ML#ITrainer}#CreateComponent(Microsoft.ML.IHostEnvironment)
T:Microsoft.ML.Trainers.FastTree.FastTreeRegressionModelParameters
T:Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer
M:Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options
M:Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options.#ctor
M:Microsoft.ML.Trainers.FastTree.FastTreeRegressionTrainer.Options.Microsoft#ML#IComponentFactory{Microsoft#ML#ITrainer}#CreateComponent(Microsoft.ML.IHostEnvironment)
T:Microsoft.ML.Trainers.FastTree.FastTreeTrainerBase3 P:Microsoft.ML.Trainers.FastTree.FastTreeTrainerBase3.Info
M:Microsoft.ML.Trainers.FastTree.FastTreeTrainerBase3.get_Info T:Microsoft.ML.Trainers.FastTree.FastTreeTweedieModelParameters T:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer M:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView) T:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Options F:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Options.Index M:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Options.#ctor M:Microsoft.ML.Trainers.FastTree.FastTreeTweedieTrainer.Options.Microsoft#ML#IComponentFactory{Microsoft#ML#ITrainer}#CreateComponent(Microsoft.ML.IHostEnvironment) T:Microsoft.ML.Trainers.FastTree.GamModelParametersBase F:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Intercept F:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.NumShapeFunctions P:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Data#IValueMapper#InputType P:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Data#IValueMapper#OutputType P:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#ICalculateFeatureContribution#FeatureContributionCalculator M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.GetBinEffects M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.GetBinEffects(System.Int32) M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.GetBinUpperBounds M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.GetBinUpperBounds(System.Int32) M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Data#IValueMapper#GetMapper``2 M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Data#IValueMapper#get_InputType M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Data#IValueMapper#get_OutputType M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#ICalculateFeatureContribution#get_FeatureContributionCalculator M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#ICanSaveInIniFormat#SaveAsIni(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema,Microsoft.ML.Calibrator.ICalibrator) M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#ICanSaveInTextFormat#SaveAsText(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#ICanSaveSummary#SaveSummary(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.GamModelParametersBase.Microsoft#ML#Internal#Internallearn#IFeatureContributionMapper#GetFeatureContributionMapper``2(System.Int32,System.Int32,System.Boolean) T:Microsoft.ML.Trainers.FastTree.GamTrainerBase3
P:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.Info M:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.get_Info
T:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.EnablePruning
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.FeatureFlocks F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.EntropyCoefficient
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.LearningRates F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.MaxOutput
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.GainConfidenceLevel F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.GetDerivativesSampleRate
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.MaxBins F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.MinDocuments
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.NumIterations F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.RngSeed
F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.DiskTranspose F:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.NumThreads
M:Microsoft.ML.Trainers.FastTree.GamTrainerBase3.OptionsBase.#ctor T:Microsoft.ML.Trainers.FastTree.RandomForestTrainerBase3
T:Microsoft.ML.Trainers.FastTree.RegressionGamModelParameters
M:Microsoft.ML.Trainers.FastTree.RegressionGamModelParameters.#ctor(Microsoft.ML.IHostEnvironment,System.Double[][],System.Double[][],System.Double,System.Int32,System.Int32[])
T:Microsoft.ML.Trainers.FastTree.RegressionGamTrainer
M:Microsoft.ML.Trainers.FastTree.RegressionGamTrainer.Fit(Microsoft.Data.DataView.IDataView,Microsoft.Data.DataView.IDataView)
T:Microsoft.ML.Trainers.FastTree.RegressionGamTrainer.Options
F:Microsoft.ML.Trainers.FastTree.RegressionGamTrainer.Options.PruningMetrics
M:Microsoft.ML.Trainers.FastTree.RegressionGamTrainer.Options.#ctor
T:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters
F:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.InputType
F:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.OutputType
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Data#IValueMapper#InputType
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Data#IValueMapper#OutputType
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICalculateFeatureContribution#FeatureContributionCalculator
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Model#Pfa#ICanSavePfa#CanSavePfa
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#TreePredictor#ITreeEnsemble#NumTrees
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.GetFeatureWeights(Microsoft.ML.Data.VBuffer{System.Single}@)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.GetLeaf(System.Int32,Microsoft.ML.Data.VBuffer{System.Single}@,System.Collections.Generic.List{System.Int32}@)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.GetLeafValue(System.Int32,System.Int32)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Data#IValueMapper#GetMapper2 M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Data#IValueMapper#get_InputType M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Data#IValueMapper#get_OutputType M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICalculateFeatureContribution#get_FeatureContributionCalculator M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanGetSummaryAsIRow#GetStatsIRowOrNull(Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanGetSummaryAsIRow#GetSummaryIRowOrNull(Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanGetSummaryInKeyValuePairs#GetSummaryInKeyValuePairs(Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanSaveInIniFormat#SaveAsIni(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema,Microsoft.ML.Calibrator.ICalibrator) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanSaveInSourceCode#SaveAsCode(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanSaveInTextFormat#SaveAsText(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#ICanSaveSummary#SaveSummary(System.IO.TextWriter,Microsoft.ML.Data.RoleMappedSchema) M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Internal#Internallearn#IFeatureContributionMapper#GetFeatureContributionMapper2(System.Int32,System.Int32,System.Boolean)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Model#Onnx#ICanSaveOnnx#CanSaveOnnx(Microsoft.ML.Model.Onnx.OnnxContext)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Model#Onnx#ISingleCanSaveOnnx#SaveAsOnnx(Microsoft.ML.Model.Onnx.OnnxContext,System.String[],System.String)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Model#Pfa#ICanSavePfa#get_CanSavePfa
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#Model#Pfa#ISingleCanSavePfa#SaveAsPfa(Microsoft.ML.Model.Pfa.BoundPfaContext,Newtonsoft.Json.Linq.JToken)
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#TreePredictor#ITreeEnsemble#GetTrees
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParameters.Microsoft#ML#TreePredictor#ITreeEnsemble#get_NumTrees
T:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnQuantileRegressionTree
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnQuantileRegressionTree.TrainedTreeEnsemble
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnQuantileRegressionTree.get_TrainedTreeEnsemble
T:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnRegressionTree
P:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnRegressionTree.TrainedTreeEnsemble
M:Microsoft.ML.Trainers.FastTree.TreeEnsembleModelParametersBasedOnRegressionTree.get_TrainedTreeEnsemble
T:Microsoft.ML.Trainers.FastTree.TreeOptions
F:Microsoft.ML.Trainers.FastTree.TreeOptions.Bundling
F:Microsoft.ML.Trainers.FastTree.TreeOptions.AllowEmptyTrees
F:Microsoft.ML.Trainers.FastTree.TreeOptions.CategoricalSplit
F:Microsoft.ML.Trainers.FastTree.TreeOptions.CompressEnsemble
F:Microsoft.ML.Trainers.FastTree.TreeOptions.ExecutionTimes
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureFlocks
F:Microsoft.ML.Trainers.FastTree.TreeOptions.PrintTestGraph
F:Microsoft.ML.Trainers.FastTree.TreeOptions.PrintTrainValidGraph
F:Microsoft.ML.Trainers.FastTree.TreeOptions.BaggingTrainFraction
F:Microsoft.ML.Trainers.FastTree.TreeOptions.Bias
F:Microsoft.ML.Trainers.FastTree.TreeOptions.EntropyCoefficient
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureFirstUsePenalty
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureFraction
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureReusePenalty
F:Microsoft.ML.Trainers.FastTree.TreeOptions.GainConfidenceLevel
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MinDocsPercentageForCategoricalSplit
F:Microsoft.ML.Trainers.FastTree.TreeOptions.Smoothing
F:Microsoft.ML.Trainers.FastTree.TreeOptions.SoftmaxTemperature
F:Microsoft.ML.Trainers.FastTree.TreeOptions.SparsifyThreshold
F:Microsoft.ML.Trainers.FastTree.TreeOptions.SplitFraction
F:Microsoft.ML.Trainers.FastTree.TreeOptions.BaggingSize
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureCompressionLevel
F:Microsoft.ML.Trainers.FastTree.TreeOptions.FeatureSelectSeed
F:Microsoft.ML.Trainers.FastTree.TreeOptions.HistogramPoolSize
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MaxBins
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MaxCategoricalGroupsPerNode
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MaxCategoricalSplitPoints
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MaxTreesAfterCompression
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MinDocsForCategoricalSplit
F:Microsoft.ML.Trainers.FastTree.TreeOptions.MinDocumentsInLeafs
F:Microsoft.ML.Trainers.FastTree.TreeOptions.NumLeaves
F:Microsoft.ML.Trainers.FastTree.TreeOptions.NumTrees
F:Microsoft.ML.Trainers.FastTree.TreeOptions.RngSeed
F:Microsoft.ML.Trainers.FastTree.TreeOptions.TestFrequency
F:Microsoft.ML.Trainers.FastTree.TreeOptions.DiskTranspose
F:Microsoft.ML.Trainers.FastTree.TreeOptions.NumThreads
M:Microsoft.ML.Trainers.FastTree.TreeOptions.#ctor

#Resolved

@codemzs codemzs requested review from TomFinley and zeahmed February 12, 2019 03:28
@codemzs codemzs added the API Issues pertaining the friendly API label Feb 12, 2019
@codemzs codemzs added this to the 0219 milestone Feb 12, 2019
@codecov
Copy link

codecov bot commented Feb 12, 2019

Codecov Report

Merging #2511 into master will increase coverage by <.01%.
The diff coverage is 55.78%.

@@            Coverage Diff             @@
##           master    #2511      +/-   ##
==========================================
+ Coverage   71.53%   71.54%   +<.01%     
==========================================
  Files         800      800              
  Lines      141858   141846      -12     
  Branches    16121    16119       -2     
==========================================
+ Hits       101476   101479       +3     
+ Misses      35930    35916      -14     
+ Partials     4452     4451       -1
Flag Coverage Δ
#Debug 71.54% <55.78%> (ø) ⬆️
#production 67.83% <55.78%> (+0.01%) ⬆️
#test 85.73% <ø> (-0.05%) ⬇️

@Ivanidzo4ka
Copy link
Contributor

Ivanidzo4ka commented Feb 12, 2019

public delegate void SignatureTreeEnsembleTrainer();

feel free to make it internal #Resolved


Refers to: src/Microsoft.ML.FastTree/FastTree.cs:39 in 1ae455e. [](commit_id = 1ae455e, deletion_comment = False)

@codemzs codemzs force-pushed the fasttreesurfacearea branch 2 times, most recently from a5d31a6 to 40a8d85 Compare February 16, 2019 05:56
@codemzs codemzs self-assigned this Feb 18, 2019
@codemzs codemzs force-pushed the fasttreesurfacearea branch from 40a8d85 to f67e38e Compare February 19, 2019 17:19
@@ -900,12 +899,12 @@ private double[] GetInitScores(Dataset set)

internal abstract class DataConverter
{
protected readonly int NumFeatures;
private protected readonly int NumFeatures;
Copy link

@yaeldekel yaeldekel Feb 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

private [](start = 8, length = 7)

For an internal class, is there a difference between protected and private protected? #Resolved

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably not but I don't see this change doing any harm either :-)


In reply to: 258221426 [](ancestors = 258221426)

private protected double[] InitTrainScores;
private protected double[] InitValidScores;
private protected double[][] InitTestScores;
//internal int Iteration;
Copy link

@yaeldekel yaeldekel Feb 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

//internal int Iteration; [](start = 8, length = 25)

Can be deleted. #Resolved

@@ -223,18 +223,18 @@ private IEnumerable<bool> GetClassificationLabelsFromRatings(Dataset set)
return set.Ratings.Select(x => x >= 1);
}

protected override void PrepareLabels(IChannel ch)
private protected override void PrepareLabels(IChannel ch)
{
_trainSetLabels = GetClassificationLabelsFromRatings(TrainSet).ToArray(TrainSet.NumDocs);
//Here we set regression labels to what is in bin file if the values were not overriden with floats
Copy link

@yaeldekel yaeldekel Feb 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

//Here we set regression labels to what is in bin file if the values were not overriden with floats [](start = 12, length = 99)

Not related to your change, but - should this be deleted? #Resolved

Copy link
Contributor

@TomFinley TomFinley Feb 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be, I might prefer to wait on that for now. #Resolved

@@ -8,7 +8,7 @@

namespace Microsoft.ML
{
public sealed class QuantileStatistics : IQuantileDistribution<float>
internal sealed class QuantileStatistics : IQuantileDistribution<float>
Copy link

@yaeldekel yaeldekel Feb 19, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

QuantileStatistics [](start = 26, length = 18)

The IQuantileDistribution interface seems to have just this one implementation,
which only uses the GetQuantile() method. Can this be defined instead as a private class inside FastForestRegressionModelParameters? #Resolved

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That would probably be positive. Then we can delete that internal IQuantileDistribution interface altogether. A quick and easy improvement in case we need to update this PR again.


In reply to: 258227442 [](ancestors = 258227442)

Copy link
Contributor

@TomFinley TomFinley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi thanks for doing this @codemzs.

If you have time while waiting for a second signoff, the enhancements as suggested by @yaeldekel would be nice to improve our overall code quality, and I'd re-address the issues raised by @zeahmed since certainly having public abstract and virtual methods inside an interface class are not problematic at all. 😄 But only if you have time, code quality inside FastTree is sort of just problematic already.

@codemzs codemzs force-pushed the fasttreesurfacearea branch from f67e38e to a29e51d Compare February 19, 2019 21:59
Copy link

@yaeldekel yaeldekel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@codemzs codemzs merged commit 563607c into dotnet:master Feb 19, 2019
@ghost ghost locked as resolved and limited conversation to collaborators Mar 24, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
API Issues pertaining the friendly API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Lockdown Microsoft.ML.FastTree public surface
5 participants