Skip to content

qm1004/gbdt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gbdt

GBDT:Gradient Boosting Decision Tree implemented by golang.

#Quick start cd example
go build train.go
sh train.sh

#Characteristic Concurrency:Implementing local cocurrent with goroutine when building single tree at each iteration.

Support missing feature value.Every node in the tree has a child named "UNKNOWN VALUE".So every tree is the ternary tree

Support feature enginner.you can use this gbdt to generate combined features.

#Data format Like libsvm, add a sample weight at first column
1 1 0:1.1446 1:2 2:35 3:0 4:206.0 ....
weight label featureid:feature_value....

#Parameter All gbdt parameter define in config.go.

Number_of_feature:
Feature dimensions.eg:In example/train.data,there are 17 different features.

Max_depth:
The maximal depth of the tree.

Tree_count:
Tree count ,namely iteration numbers.

Shrinkage:
Step size.

Feature_sampling_ratio:
Feature sample ratio for build tree.

Data_sampling_ratio:
Data sample ration for build tree.

Min_leaf_size:
Minimal number of samples in leaf.

Losstype :
Loss function type,eg least square,log likehood

Debug :
Print some debug info.

Enable_feature_tunning:
[default=false].
If Enable_feature_tunning is true, it can reduce frenquency of feature which is always chosen as split
feature.Let more feature appear in the tree models.

About

GBDT:Gradient Boosting Decision Tree implemented by golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published