You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update documentation for LightGBM and add missing binary references to console app. (#452)
* Add LightGBM to the entrypoint manifest and references to trainers and transform including native code to console command line binary.
* Add documentation to use LightGBM nuget for LightGBM APIs.
Copy file name to clipboardExpand all lines: Directory.Build.targets
+28Lines changed: 28 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -5,5 +5,33 @@
5
5
Text="The tools directory [$(ToolsDir)] does not exist. Please run build in the root of the repo to ensure the tools are installed before attempting to build an individual project." />
Copy file name to clipboardExpand all lines: src/Microsoft.ML.LightGBM/LightGbmRankingTrainer.cs
+5-1Lines changed: 5 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -127,7 +127,11 @@ protected override void CheckAndUpdateParametersBeforeTraining(IChannel ch, Role
127
127
/// </summary>
128
128
publicstaticpartialclassLightGbm
129
129
{
130
-
[TlcModule.EntryPoint(Name="Trainers.LightGbmRanker",Desc="Train an LightGBM ranking model",UserName=LightGbmRankingTrainer.Summary,ShortName=LightGbmRankingTrainer.ShortName)]
Copy file name to clipboardExpand all lines: test/BaselineOutput/Common/EntryPoints/core_ep-list.tsv
+4Lines changed: 4 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -50,6 +50,10 @@ Trainers.FieldAwareFactorizationMachineBinaryClassifier Train a field-aware fact
50
50
Trainers.GeneralizedAdditiveModelBinaryClassifierTrains a gradient boosted stump per feature, on all features simultaneously, to fit target values using least-squares. It mantains no interactions between features.Microsoft.ML.Runtime.FastTree.GamTrainBinaryMicrosoft.ML.Runtime.FastTree.BinaryClassificationGamTrainer+ArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
51
51
Trainers.GeneralizedAdditiveModelRegressorTrains a gradient boosted stump per feature, on all features simultaneously, to fit target values using least-squares. It mantains no interactions between features.Microsoft.ML.Runtime.FastTree.GamTrainRegressionMicrosoft.ML.Runtime.FastTree.RegressionGamTrainer+ArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+RegressionOutput
52
52
Trainers.KMeansPlusPlusClustererK-means is a popular clustering algorithm. With K-means, the data is clustered into a specified number of clusters in order to minimize the within-cluster sum of squares. K-means++ improves upon K-means by using a better method for choosing the initial cluster centers.Microsoft.ML.Runtime.KMeans.KMeansPlusPlusTrainerTrainKMeansMicrosoft.ML.Runtime.KMeans.KMeansPlusPlusTrainer+ArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+ClusteringOutput
53
+
Trainers.LightGbmBinaryClassifierTrain a LightGBM binary class model.Microsoft.ML.Runtime.LightGBM.LightGbmTrainBinaryMicrosoft.ML.Runtime.LightGBM.LightGbmArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
54
+
Trainers.LightGbmClassifierTrain a LightGBM multi class model.Microsoft.ML.Runtime.LightGBM.LightGbmTrainMultiClassMicrosoft.ML.Runtime.LightGBM.LightGbmArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+MulticlassClassificationOutput
55
+
Trainers.LightGbmRankerTrain a LightGBM ranking model.Microsoft.ML.Runtime.LightGBM.LightGbmTrainRankingMicrosoft.ML.Runtime.LightGBM.LightGbmArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+RankingOutput
Trainers.LinearSvmBinaryClassifierTrain a linear SVM.Microsoft.ML.Runtime.Learners.LinearSvmTrainLinearSvmMicrosoft.ML.Runtime.Learners.LinearSvm+ArgumentsMicrosoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
54
58
Trainers.LogisticRegressionBinaryClassifier Logistic Regression is a classification method used to predict the value of a categorical dependent variable from its relationship to one or more independent variables assumed to have a logistic distribution. If the dependent variable has only two possible values (success/failure), then the logistic regression is binary. If the dependent variable has more than two possible values (blood type given diagnostic test results), then the logistic regression is multinomial.The optimization technique used for LogisticRegressionBinaryClassifier is the limited memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS). Both the L-BFGS and regular BFGS algorithms use quasi-Newtonian methods to estimate the computationally intensive Hessian matrix in the equation used by Newton's method to calculate steps. But the L-BFGS approximation uses only a limited amount of memory to compute the next step direction, so that it is especially suited for problems with a large number of variables. The memory_size parameter specifies the number of past positions and gradients to store for use in the computation of the next step.This learner can use elastic net regularization: a linear combination of L1 (lasso) and L2 (ridge) regularizations. Regularization is a method that can render an ill-posed problem more tractable by imposing constraints that provide information to supplement the data and that prevents overfitting by penalizing models with extreme coefficient values. This can improve the generalization of the model learned by selecting the optimal complexity in the bias-variance tradeoff. Regularization works by adding the penalty that is associated with coefficient values to the error of the hypothesis. An accurate model with extreme coefficient values would be penalized more, but a less accurate model with more conservative values would be penalized less. L1 and L2 regularization have different effects and uses that are complementary in certain respects.l1_weight: can be applied to sparse models, when working with high-dimensional data. It pulls small weights associated features that are relatively unimportant towards 0. l2_weight: is preferable for data that is not sparse. It pulls large weights towards zero. Adding the ridge penalty to the regularization overcomes some of lasso's limitations. It can improve its predictive accuracy, for example, when the number of predictors is greater than the sample size. If x = l1_weight and y = l2_weight, ax + by = c defines the linear span of the regularization terms. The default values of x and y are both 1. An agressive regularization can harm predictive capacity by excluding important variables out of the model. So choosing the optimal values for the regularization parameters is important for the performance of the logistic regression model.<see href='http://en.wikipedia.org/wiki/L-BFGS'>Wikipedia: L-BFGS</see>.<see href='http://en.wikipedia.org/wiki/Logistic_regression'>Wikipedia: Logistic regression</see>.<see href='http://research.microsoft.com/apps/pubs/default.aspx?id=78900'>Scalable Training of L1-Regularized Log-Linear Models</see>.<see href='https://msdn.microsoft.com/en-us/magazine/dn904675.aspx'>Test Run - L1 and L2 Regularization for Machine Learning</see>. Microsoft.ML.Runtime.Learners.LogisticRegression TrainBinary Microsoft.ML.Runtime.Learners.LogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+BinaryClassificationOutput
55
59
Trainers.LogisticRegressionClassifier Logistic Regression is a classification method used to predict the value of a categorical dependent variable from its relationship to one or more independent variables assumed to have a logistic distribution. If the dependent variable has only two possible values (success/failure), then the logistic regression is binary. If the dependent variable has more than two possible values (blood type given diagnostic test results), then the logistic regression is multinomial.The optimization technique used for LogisticRegressionBinaryClassifier is the limited memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS). Both the L-BFGS and regular BFGS algorithms use quasi-Newtonian methods to estimate the computationally intensive Hessian matrix in the equation used by Newton's method to calculate steps. But the L-BFGS approximation uses only a limited amount of memory to compute the next step direction, so that it is especially suited for problems with a large number of variables. The memory_size parameter specifies the number of past positions and gradients to store for use in the computation of the next step.This learner can use elastic net regularization: a linear combination of L1 (lasso) and L2 (ridge) regularizations. Regularization is a method that can render an ill-posed problem more tractable by imposing constraints that provide information to supplement the data and that prevents overfitting by penalizing models with extreme coefficient values. This can improve the generalization of the model learned by selecting the optimal complexity in the bias-variance tradeoff. Regularization works by adding the penalty that is associated with coefficient values to the error of the hypothesis. An accurate model with extreme coefficient values would be penalized more, but a less accurate model with more conservative values would be penalized less. L1 and L2 regularization have different effects and uses that are complementary in certain respects.l1_weight: can be applied to sparse models, when working with high-dimensional data. It pulls small weights associated features that are relatively unimportant towards 0. l2_weight: is preferable for data that is not sparse. It pulls large weights towards zero. Adding the ridge penalty to the regularization overcomes some of lasso's limitations. It can improve its predictive accuracy, for example, when the number of predictors is greater than the sample size. If x = l1_weight and y = l2_weight, ax + by = c defines the linear span of the regularization terms. The default values of x and y are both 1. An agressive regularization can harm predictive capacity by excluding important variables out of the model. So choosing the optimal values for the regularization parameters is important for the performance of the logistic regression model.<see href='http://en.wikipedia.org/wiki/L-BFGS'>Wikipedia: L-BFGS</see>.<see href='http://en.wikipedia.org/wiki/Logistic_regression'>Wikipedia: Logistic regression</see>.<see href='http://research.microsoft.com/apps/pubs/default.aspx?id=78900'>Scalable Training of L1-Regularized Log-Linear Models</see>.<see href='https://msdn.microsoft.com/en-us/magazine/dn904675.aspx'>Test Run - L1 and L2 Regularization for Machine Learning</see>. Microsoft.ML.Runtime.Learners.LogisticRegression TrainMultiClass Microsoft.ML.Runtime.Learners.MulticlassLogisticRegression+Arguments Microsoft.ML.Runtime.EntryPoints.CommonOutputs+MulticlassClassificationOutput
0 commit comments