class lightgbm.LGBMClassifier(boosting_type='gbdt', num_leaves=31, max_depth=-1, learning_rate=0.1, n_estimators=10, max_bin=255, subsample_for_bin=200000, objective=None, min_split_gain=0.0, min_child_weight=0.001, min_child_samples=20, subsample=1.0, subsample_freq=1, colsample_bytree=1.0, reg_alpha=0.0, reg_lambda=0.0, random_state=None, n_jobs=-1, silent=True, **kwargs)

boosting_type
default="gbdt"

"gbdt":Gradient Boosting Decision Tree

"dart":Dropouts meet Multiple Additive Regression Trees

"goss":Gradient-based One-Side Sampling

"rf": Random Forest

 
num_leaves  (intoptional (default=31)) 每个基学习器的最大叶子节点 <=2^max_depth
max_depth  (intoptional (default=-1)) 每个基学习器的最大深度, -1 means no limit 当模型过拟合,首先降低max_depth 
learning_rate (floatoptional (default=0.1))  Boosting learning rate  
n_estimators (intoptional (default=10))   基学习器的数量  
max_bin  (intoptional (default=255)) feature将存入的bin的最大数量,应该是直方图的k值  
subsample_for_bin  (intoptional (default=50000)) Number of samples for constructing bins  
objective  (stringcallable or Noneoptional (default=None))

default:

‘regression’ for LGBMRegressor,

‘binary’ or ‘multiclass’ for LGBMClassifier,

‘lambdarank’ for LGBMRanker.

 
min_split_gain  (floatoptional (default=0.)) 树的叶子节点上进行进一步划分所需的最小损失减少  
min_child_weight   (floatoptional (default=1e-3))
Minimum sum of instance weight(hessian) needed in a child(leaf)

 
min_child_samples 
(intoptional (default=20) 叶子节点具有的最小记录数  
subsample 
(floatoptional (default=1.) 训练时采样一定比例的数据  
subsample_freq  (intoptional (default=1)) Frequence of subsample, <=0 means no enable  
colsample_bytree 
(floatoptional (default=1.) Subsample ratio of columns when constructing each tree  
reg_alpha
(floatoptional (default=0.))  L1 regularization term on weights  

reg_lambda

(floatoptional (default=0.)) L2 regularization term on weights  

random_state

(int or Noneoptional (default=None)    
silent (booloptional (default=True))    
n_jobs  (intoptional (default=-1))    

          




######################################################################################################

下表对应了Faster Spread,better accuracy,over-fitting三种目的时,可以调整的参数:

########################################################################################### 

类的属性:

n_features_ int  特征的数量
classes_ rray of shape = [n_classes]  类标签数组(只针对分类问题)
n_classes_ int  类别数量   (只针对分类问题)
best_score_ dict or None  最佳拟合模型得分
best_iteration_ int or None  如果已经指定了early_stopping_rounds,则拟合模型的最佳迭代次数
objective_ string or callable  拟合模型时的具体目标
booster_ Booster 这个模型的Booster
evals_result_ dict or None  如果已经指定了early_stopping_rounds,则评估结果
feature_importances_ array of shape = [n_features] 特征的重要性

###########################################################################################

类的方法: 

fit(X, y, sample_weight=None, init_score=None, eval_set=None, eval_names=None, eval_sample_weight=None, eval_init_score=None, eval_metric='logloss', early_stopping_rounds=None, verbose=True, feature_name='auto', categorical_feature='auto', callbacks=None)
X array-like or sparse matrix of shape = [n_samplesn_features] 特征矩阵
y array-like of shape = [n_samples] The target values (class labels in classification, real numbers in regression)
sample_weight  array-like of shape = [n_samples] or Noneoptional (default=None)) 样本权重,可以采用np.where设置
init_score array-like of shape = [n_samples] or Noneoptional (default=None)) Init score of training data
group array-like of shape = [n_samples] or Noneoptional (default=None) Group data of training data.
eval_set  list or Noneoptional (default=None)  A list of (X, y) tuple pairs to use as a validation sets for early-stopping
eval_names  list of strings or Noneoptional (default=None) Names of eval_set
eval_sample_weight  list of arrays or Noneoptional (default=None) Weights of eval data
eval_init_score  list of arrays or Noneoptional (default=None)  Init score of eval data
eval_group list of arrays or Noneoptional (default=None)  Group data of eval data
eval_metric stringlist of stringscallable or Noneoptional (default="logloss")  "mae","mse",...
early_stopping_rounds int or Noneoptional (default=None)  一定rounds,即停止迭代
verbose  booloptional (default=True)  
feature_name  list of strings or 'auto'optional (default="auto") If ‘auto’ and data is pandas DataFrame, data columns names are used
categorical_feature  list of strings or int, or 'auto'optional (default="auto") If ‘auto’ and data is pandas DataFrame, pandas categorical columns are used
callbacks list of callback functions or Noneoptional (default=None)  




###############################################################################################
 predict_proba(X, raw_score=False, num_iteration=0)
X  array-like or sparse matrix of shape = [n_samplesn_features] Input features matrix
raw_score booloptional (default=False) Whether to predict raw scores
num_iteration intoptional (default=0)  Limit number of iterations in the prediction; defaults to 0 (use all trees).
Returns predicted_probability  The predicted probability for each class for each sample.
Return type array-like of shape = [n_samples, n_classes]  

不平衡处理的参数:

1.一个简单的方法是设置is_unbalance参数为True或者设置scale_pos_weight,二者只能选一个。 设置is_unbalance参数为True时会把负样本的权重设为:正样本数/负样本数。这个参数只能用于二分类。

2.自定义评价函数:

https://cloud.tencent.com/developer/article/1357671

lightGBM的原理总结:

http://www.cnblogs.com/gczr/p/9024730.html

论文翻译:https://blog.csdn.net/u010242233/article/details/79769950https://zhuanlan.zhihu.com/p/42939089

处理分类变量的原理:https://blog.csdn.net/anshuai_aw1/article/details/83275299

CatBoost、LightGBM、XGBoost的对比

https://blog.csdn.net/LrS62520kV/article/details/79620615

 



lightgbm的sklearn接口和原生接口参数详细说明及调参指点的更多相关文章

  1. xgboost的sklearn接口和原生接口参数详细说明及调参指点

    from xgboost import XGBClassifier XGBClassifier(max_depth=3,learning_rate=0.1,n_estimators=100,silen ...

  2. word2vec参数调整 及lda调参

     一.word2vec调参   ./word2vec -train resultbig.txt -output vectors.bin -cbow 0 -size 200 -window 5 -neg ...

  3. DeepMind提出新型超参数最优化方法:性能超越手动调参和贝叶斯优化

    DeepMind提出新型超参数最优化方法:性能超越手动调参和贝叶斯优化 2017年11月29日 06:40:37 机器之心V 阅读数 2183   版权声明:本文为博主原创文章,遵循CC 4.0 BY ...

  4. python+pytest接口自动化(6)-请求参数格式的确定

    我们在做接口测试之前,先需要根据接口文档或抓包接口数据,搞清楚被测接口的详细内容,其中就包含请求参数的编码格式,从而使用对应的参数格式发送请求.例如某个接口规定的请求主体的编码方式为 applicat ...

  5. android 学习随笔二十七(JNI:Java Native Interface,JAVA原生接口 )

    JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? 首先,Java语言提供的类 ...

  6. 接口作为方法的参数或返回值——List接口

    接口作为方法的参数或返回值,源码可知,List为一个接口,ArraryList是的它的实现类: 其中,addNames方法中,入参和返回值都List接口,入参是多态的,编译看左,运行看右(访问成员方法 ...

  7. 编写高质量代码改善C#程序的157个建议——建议43:让接口中的泛型参数支持协变

    建议43:让接口中的泛型参数支持协变 除了上一建议中提到的使用泛型参数兼容接口不可变性外,还有一种办法是为接口中的泛型声明加上out关键字来支持协变,如下所示: interface ISalary&l ...

  8. Python+request 分模块存放接口,多接口共用参数URL、headers的抽离,添加日志打印等《三》

    主要介绍内容如下: 1.分模块存放接口 2.多接口共用参数URL.headers的抽离为配置文件 3.添加日志打印 4.一个py文件运行所有所测的接口 如上介绍内容的作用: 1.分模块存放接口:方便多 ...

  9. 对接接口时,组织参数json出现的问题

    在进行对接第三方接口时,进行参数组装成json的过程中出现参数传递格式错误以及json格式化错误. 在拼接json时,如果json中有对象,则以map的方式组装好所有参数.最后map转成json,不然 ...

随机推荐

  1. Linux期末复习题

    版权声明: https://blog.csdn.net/u014483914/article/details/36622451 1.More和less命令的差别         More命令通经常使用 ...

  2. 从一到无穷大:科学中的事实和臆测 (G. 伽莫夫 著)

    第一部分 做做数字游戏 第一章 大数 (已看) 第二章 自然数和人工数 (已看) 第二部分 空间,时间与爱因斯坦 第三章 空间的不寻常的性质 (已看) 第四章 四维世界 (已看) 第五章 时间和空间的 ...

  3. Python 不可变对象练习

    Python 不可变对象练习 str 是不可变对象,就是对这个对象进行操作不会改变这个对象的数据. 如下: >>> a = 'abc' >>> a.replace( ...

  4. Hadoop 历史服务配置启动查看

    历史服务配置启动查看 1)配置mapred-site.xml <property> <name>mapreduce.jobhistory.address</name> ...

  5. flume-ng-sql-source实现oracle增量数据读取

    一.下载编译flume-ng-sql-source 下载地址:https://github.com/keedio/flume-ng-sql-source.git ,安装说明文档编译和拷贝jar包 嫌麻 ...

  6. Keras/Tensorflow训练逻辑研究

    Keras是什么,以及相关的基础知识,这里就不做详细介绍,请参考Keras学习站点http://keras-cn.readthedocs.io/en/latest/ Tensorflow作为backe ...

  7. PHP中的插件机制原理和实例

    PHP项目中很多用到插件的地方,更尤其是基础程序写成之后很多功能由第三方完善开发的时候,更能用到插件机制,现在说一下插件的实现.特点是无论你是否激活,都不影响主程序的运行,即使是删除也不会影响. 从一 ...

  8. 具有 Button 风格的 Panel

    unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...

  9. SpringCloud之网关 Zuul(四)

    一 Zuul简介 zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. Zuul 在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架.Z ...

  10. STL进阶--相等 vs 等价 (Equality vs Equivalence)

    相等性 vs 等价性 问题: 以下两个find的结果分别指向什么? class Lsb_less { public: bool operator()(int x, int y) { return (x ...