train.conf 3.25 KB
Newer Older
Guolin Ke's avatar
Guolin Ke committed
1
2
3
4
5
6
7
8
9
# task type, support train and predict
task = train

# boosting type, support gbdt for now, alias: boosting, boost
boosting_type = gbdt

# application type, support following application
# regression , regression task
# binary , binary classification task
Andrew Ziem's avatar
Andrew Ziem committed
10
# lambdarank , LambdaRank task
Guolin Ke's avatar
Guolin Ke committed
11
12
13
# alias: application, app
objective = binary

Andrew Ziem's avatar
Andrew Ziem committed
14
# eval metrics, support multi metric, delimited by ',' , support following metrics
Guolin Ke's avatar
Guolin Ke committed
15
16
17
18
19
20
21
22
# l1 
# l2 , default metric for regression
# ndcg , default metric for lambdarank
# auc 
# binary_logloss , default metric for binary
# binary_error
metric = binary_logloss,auc

Andrew Ziem's avatar
Andrew Ziem committed
23
# frequency for metric output
Guolin Ke's avatar
Guolin Ke committed
24
25
26
27
28
29
30
31
32
metric_freq = 1

# true if need output metric for training data, alias: tranining_metric, train_metric
is_training_metric = true

# number of bins for feature bucket, 255 is a recommend setting, it can save memories, and also has good accuracy. 
max_bin = 255

# training data
Andrew Ziem's avatar
Andrew Ziem committed
33
# if existing weight file, should name to "binary.train.weight"
Guolin Ke's avatar
Guolin Ke committed
34
35
36
37
# alias: train_data, train
data = binary.train

# validation data, support multi validation data, separated by ','
Andrew Ziem's avatar
Andrew Ziem committed
38
# if existing weight file, should name to "binary.test.weight"
Guolin Ke's avatar
Guolin Ke committed
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# alias: valid, test, test_data, 
valid_data = binary.test

# number of trees(iterations), alias: num_tree, num_iteration, num_iterations, num_round, num_rounds
num_trees = 100

# shrinkage rate , alias: shrinkage_rate
learning_rate = 0.1

# number of leaves for one tree, alias: num_leaf
num_leaves = 63

# type of tree learner, support following types:
# serial , single machine version
# feature , use feature parallel to train
# data , use data parallel to train
# voting , use voting based parallel to train
# alias: tree
tree_learner = serial

Andrew Ziem's avatar
Andrew Ziem committed
59
# number of threads for multi-threading. One thread will use each CPU. The default is the CPU count. 
Guolin Ke's avatar
Guolin Ke committed
60
61
62
63
64
65
66
67
68
# num_threads = 8

# feature sub-sample, will random select 80% feature to train on each iteration 
# alias: sub_feature
feature_fraction = 0.8

# Support bagging (data sub-sample), will perform bagging every 5 iterations
bagging_freq = 5

Andrew Ziem's avatar
Andrew Ziem committed
69
# Bagging fraction, will random select 80% data on bagging
Guolin Ke's avatar
Guolin Ke committed
70
71
72
73
74
75
76
# alias: sub_row
bagging_fraction = 0.8

# minimal number data for one leaf, use this to deal with over-fit
# alias : min_data_per_leaf, min_data
min_data_in_leaf = 50

Andrew Ziem's avatar
Andrew Ziem committed
77
# minimal sum Hessians for one leaf, use this to deal with over-fit
Guolin Ke's avatar
Guolin Ke committed
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
min_sum_hessian_in_leaf = 5.0

# save memory and faster speed for sparse feature, alias: is_sparse
is_enable_sparse = true

# when data is bigger than memory size, set this to true. otherwise set false will have faster speed
# alias: two_round_loading, two_round
use_two_round_loading = false

# true if need to save data to binary file and application will auto load data from binary file next time
# alias: is_save_binary, save_binary
is_save_binary_file = false

# output model file
output_model = LightGBM_model.txt

# support continuous train from trained gbdt model
# input_model= trained_model.txt

# output prediction file for predict task
# output_result= prediction.txt


101
# number of machines in distributed training, alias: num_machine
Guolin Ke's avatar
Guolin Ke committed
102
103
num_machines = 1

104
# local listening port in distributed training, alias: local_port
Guolin Ke's avatar
Guolin Ke committed
105
106
local_listen_port = 12400

107
# machines list file for distributed training, alias: mlist
Guolin Ke's avatar
Guolin Ke committed
108
machine_list_file = mlist.txt
109

110
# force splits
111
# forced_splits = forced_splits.json