当前位置:   article > 正文

python|LightGBM模型_lgb.lgbmclassifier

lgb.lgbmclassifier
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Fri Jun 12 16:20:17 2020
  4. @author: weiping
  5. """
  6. import xgboost as xgb
  7. import lightgbm as lgb
  8. from sklearn.model_selection import train_test_split
  9. from sklearn.metrics import *
  10. from sklearn.datasets import load_iris
  11. iris = load_iris()
  12. data_x = iris.data
  13. data_y = iris.target
  14. x_tr,x_te,y_tr,y_te = train_test_split(data_x,data_y,train_size = 0.7,random_state =22)
  15. #XGBboost模型
  16. xgb_model = xgb.XGBClassifier()
  17. xgb_model.fit(x_tr,y_tr)
  18. xgb_predict = xgb_model.predict(x_te)
  19. print("xgb准确率:" ,str(xgb_model.score(x_te,y_te)))
  20. #print("roc_auc_score:",str(roc_auc_score(y_te,xgb_predict))) 不支持多分类
  21. print("precision_score:",str(precision_score(y_te,xgb_predict,average = 'weighted')))
  22. print("recall_score:" , str(recall_score(y_te,xgb_predict,average = 'weighted')))
  23. print("f1_score:",str(f1_score(y_te,xgb_predict,average = 'weighted')))
  24. '''
  25. xgb准确率: 0.9333333333333333
  26. precision_score: 0.9344662309368191
  27. recall_score: 0.9333333333333333
  28. f1_score: 0.9332681655262302
  29. '''
  30. #LGB模型
  31. '''
  32. 模型参数
  33. objective: (objective_type, app, application)
  34. 回归任务:
  35. 'regression'(默认)
  36. 'poisson'
  37. 'tweedie'
  38. 分类任务:
  39. 'binary':二分类
  40. 'multiclass':多分类
  41. boosting_type:(boosting_type, boost)
  42. 'gbdt':传统的梯度提升决策树 (默认)
  43. 'rf':随机森林
  44. 'dart':Dropouts meet Multiple Additive Regression Trees
  45. 'goss':Gradient-based One-Side Sampling 训练更快,可能欠拟合
  46. data:训练数据
  47. valid:验证数据集
  48. num_iteration:(num_trees, n_estimators)
  49. 迭代次数,100(默认)
  50. learning_rate:(eta, shrinkage_rate)
  51. 衰减因子,0.1(默认)
  52. seed:(random_state, random_seed)
  53. num_threads:(n_jobs, nthreads)
  54. num_leaves:
  55. 单棵树的最大叶子数,31(默认)
  56. 控制学习参数:
  57. 'max_depth':
  58. 树的最大深度,-1(默认),无限制
  59. 可用于控制过拟合
  60. 'lambda_l2':(reg_lambda, lambda)
  61. L2正则化,0(默认)
  62. 'lambda_l1':(reg_alpha)
  63. L1正则化,0(默认)
  64. 'min_data_in_leaf'(min_data, min_child_samples)
  65. 一个叶子的最小数据量,20(默认)
  66. 可用于控制过拟合
  67. 'subsample': (sub_row, bagging, bagging_fraction)
  68. 对样本进行采样,1(默认)
  69. 可用于控制过拟合
  70. 'sub_feature': (colsample_bytree, feature_fraction)
  71. 对特征进行采样,1(默认)
  72. 加速训练,控制过拟合
  73. early_stopping: (early_stopping_round)
  74. '''
  75. lgb_model = lgb.LGBMClassifier()
  76. lgb_model.fit(x_tr,y_tr)
  77. lgb_predict = lgb_model.predict(x_te)
  78. print("lgb准确率:" ,str(lgb_model.score(x_te,y_te)))
  79. #print("roc_auc_score:",str(roc_auc_score(y_te,xgb_predict))) 不支持多分类
  80. print("precision_score:",str(precision_score(y_te,lgb_predict,average = 'weighted')))
  81. print("recall_score:" , str(recall_score(y_te,lgb_predict,average = 'weighted')))
  82. print("f1_score:",str(f1_score(y_te,lgb_predict,average = 'weighted')))
  83. '''
  84. lgb准确率: 0.9555555555555556
  85. precision_score: 0.9555555555555556
  86. recall_score: 0.9555555555555556
  87. f1_score: 0.9555555555555556
  88. '''

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/330991
推荐阅读
相关标签
  

闽ICP备14008679号