30分钟
IO 参数
max_bin
: 一个整数,表示最大的桶的数量。默认值为 255。lightgbm
会根据它来自动压缩内存。如max_bin=255
时,则lightgbm
将使用uint8
来表示特征的每一个值。
min_data_in_bin
: 一个整数,表示每个桶的最小样本数。默认为3。 该方法可以避免出现一个桶只有一个样本的情况。data_random_seed
: 一个整数,表示并行学习数据分隔中的随机数种子。默认为1 它不包括特征并行。output_model
或者model_output
或者model_out
: 一个字符串,表示训练中输出的模型被保存的文件的文件名。默认LightGBM_model.txt
。input_model
或者model_input
或者model_in
: 一个字符串,表示输入模型的文件的文件名。默认空字符串。- 对于
prediction
任务,该模型将用于预测数据 - 对于
train
任务,训练将从该模型继续
- 对于
output_result
或者predict_result
或者prediction_result
:一个字符串,给出了prediction
结果存放的文件名。默认为LightGBM_predict_result.txt
。pre_partition
或者is_pre_partition
: 一个布尔值,指示数据是否已经被划分。默认值为False
。 如果为true
,则不同的机器使用不同的partition
来训练。 它用于并行学习(不包括特征并行)is_sparse
或者is_enable_sparse
或者enable_sparse
: 一个布尔值,表示是否开启稀疏优化,默认为True
。 如果为True
则启用稀疏优化。two_round
或者two_round_loading
或者use_two_round_loading
: 一个布尔值,指示是否启动两次加载。默认值为False
,表示只需要进行一次加载。- 默认情况下,
lightgbm
会将数据文件映射到内存,然后从内存加载特征,这将提供更快的数据加载速度。但是当数据文件很大时,内存可能会被耗尽。 - 如果数据文件太大,则将它设置为
True
- 默认情况下,
save_binary
或者is_save_binary
或者is_save_binary_file
: 一个布尔值,表示是否将数据集(包括验证集)保存到二进制文件中。默认值为False
。 如果为True
,则可以加快数据的加载速度。verbosity
或者verbose
: 一个整数,表示是否输出中间信息。默认值为1。- 如果小于0,则仅仅输出
critical
信息;如果等于0,则还会输出error,warning
信息; 如果大于0,则还会输出info
信息。
- 如果小于0,则仅仅输出
header
或者has_header
: 一个布尔值,表示输入数据是否有头部。默认为False
。label
或者label_column
: 一个字符串,表示标签列。默认为空字符串。- 你也可以指定一个整数,如
label=0
表示第0列是标签列。 - 你也可以为列名添加前缀,如
label=prefix:label_name
- 你也可以指定一个整数,如
weight
或者weight_column
: 一个字符串,表示样本权重列。默认为空字符串。- 你也可以指定一个整数,如
weight=0
表示第0列是权重列。注意:它是剔除了标签列之后的索引。 假如标签列为0
,权重列为1
,则这里weight=0
。 - 你也可以为列名添加前缀,如
weight=prefix:weight_name
- 你也可以指定一个整数,如
query
或者query_column
或者gourp
或者group_column
: 一个字符串,query/group ID
列。默认为空字符串。- 你也可以指定一个整数,如
query=0
表示第0列是query
列。注意:它是剔除了标签列之后的索引。 假如标签列为0
,query
列为1
,则这里query=0
。 - 你也可以为列名添加前缀,如
query=prefix:query_name
- 你也可以指定一个整数,如
ignore_column
或者ignore_feature
或者blacklist
: 一个字符串,表示训练中忽略的一些列,默认为空字符串。- 可以用数字做索引,如
ignore_column=0,1,2
表示第0,1,2 列将被忽略。注意:它是剔除了标签列之后的索引。 - 你也可以为列名添加前缀,如
ignore_column=prefix:ign_name1,ign_name2
- 可以用数字做索引,如
categorical_feature
或者categorical_column
或者cat_feature
或者cat_column
: 一个字符串,指定category
特征的列。默认为空字符串。- 可以用数字做索引,如
categorical_feature=0,1,2
表示第0,1,2 列将作为category
特征。注意:它是剔除了标签列之后的索引。 - 你也可以为列名添加前缀,如
categorical_feature=prefix:cat_name1,cat_name2
在categorycal
特征中,负的取值被视作缺失值。
- 可以用数字做索引,如
predict_raw_score
或者raw_score
或者is_predict_raw_score
: 一个布尔值,表示是否预测原始得分。默认为False
。 如果为True
则仅预测原始得分。 该参数只用于prediction
任务。predict_leaf_index
或者leaf_index
或者is_predict_leaf_index
: 一个布尔值,表示是否预测每个样本在每棵树上的叶节点编号。默认为False
。 在预测时,每个样本都会被分配到每棵树的某个叶子节点上。该参数就是要输出这些叶子节点的编号。 该参数只用于prediction
任务。predict_contrib
或者contrib
或者is_predict_contrib
: 一个布尔值,表示是否输出每个特征对于每个样本的预测的贡献。默认为False
。 输出的结果形状为[nsamples,nfeatures+1]
, 之所以+1
是考虑到bais
的贡献。所有的贡献加起来就是该样本的预测结果。 该参数只用于prediction
任务。bin_construct_sample_cnt
或者subsample_for_bin
: 一个整数,表示用来构建直方图的样本的数量。默认为200000
。- 如果数据非常稀疏,则可以设置为一个更大的值
- 如果设置更大的值,则会提供更好的训练效果,但是会增加数据加载时间
num_iteration_predict
: 一个整数,表示在预测中使用多少棵子树。默认为-1。 小于等于0表示使用模型的所有子树。 该参数只用于prediction
任务。pred_early_stop
:一个布尔值,表示是否使用早停来加速预测。默认为False
。 如果为True
,则可能影响精度。pred_early_stop_freq
: 一个整数,表示检查早停的频率。默认为10pred_early_stop_margin
: 一个浮点数,表示早停的边际阈值。默认为 10.0use_missing
: 一个布尔值,表示是否使用缺失值功能。默认为True
如果为False
则禁用缺失值功能。zero_as_missing
: 一个布尔值,表示是否将所有的零(包括在libsvm/sparse矩阵
中未显示的值)都视为缺失值。 默认为False
。- 如果为
False
,则将np.nan
视作缺失值。 - 如果为
True
,则np.nan
和 零都将视作缺失值。
- 如果为
init_score_file
: 一个字符串,表示训练时的初始化分数文件的路径。默认为空字符串,表示train_data_file+".init"
(如果存在)valid_init_score_file
: 一个字符串,表示验证时的初始化分数文件的路径。默认为空字符串,表示valid_data_file+".init"
(如果存在) 如果有多个(对应于多个验证集),则可以用逗号,
来分隔。
学员评价