当前位置:   article > 正文

python|AdaBoost(AdaBoostClassifier)_adaboostclassifier()

adaboostclassifier()
  1. # -*- coding: utf-8 -*-
  2. """
  3. Created on Thu Nov 7 15:49:21 2019
  4. @author: weiping
  5. """
  6. from sklearn.ensemble import AdaBoostClassifier as abc
  7. from sklearn.ensemble import AdaBoostRegressor as abr
  8. import pandas as pd
  9. import numpy as np
  10. import sklearn.datasets as skdata
  11. import matplotlib.pyplot as plt
  12. from sklearn.model_selection import train_test_split
  13. from sklearn import metrics
  14. '''分类'''
  15. data_x,data_y = skdata.load_iris().data, skdata.load_iris().target
  16. df = pd.DataFrame(data_x,columns = list('abcd'))
  17. df['f'] = data_y
  18. x_tr,x_te,y_tr,y_te = train_test_split(df[list('abcd')],df['f'],train_size = 0.7,random_state =22)
  19. rf = abc()
  20. rf.fit(x_tr,y_tr)
  21. rf_p = rf.predict(x_te)
  22. f_importances = rf.feature_importances_ #特征的重要性
  23. imp = pd.Series(f_importances,index = list('abcd')) #画出特征重要程度的条形图
  24. plt.barh(imp.index,imp.values)
  25. metrics.confusion_matrix(y_te,rf_p)
  26. '''回归'''
  27. d_x ,d_y = skdata.load_boston().data,skdata.load_boston().target
  28. x_tr,x_te,y_tr,y_te = train_test_split(d_x,d_y,train_size = 0.7,random_state = 22)
  29. rfr = abr()
  30. rfr.fit(x_tr,y_tr)
  31. rf_p = rfr.predict(x_te)
  32. imp = pd.Series(rfr.feature_importances_,index = list('abcdefghijklm'))
  33. plt.barh(imp.index,imp.values)
  34. metrics.r2_score(rf_p,y_te)

参数(https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier

base_estimator基分类器,默认是决策树,在该分类器基础上进行boosting,理论上可以是任意一个分类器,但是如果是其他分类器时需要指明样本权重。
n_estimators基分类器提升(循环)次数,默认是50次,这个值过大,模型容易过拟合;值过小,模型容易欠拟合。
learning_rate学习率,表示梯度收敛速度,默认为1,如果过大,容易错过最优值,如果过小,则收敛速度会很慢;该值需要和n_estimators进行一个权衡,当分类器迭代次数较少时,学习率可以小一些,当迭代次数较多时,学习率可以适当放大。
algorithmboosting算法,也就是模型提升准则,有两种方式SAMME和SAMME.R两种,默认是SAMME.R,两者的区别主要是弱学习器权重的度量,前者是对样本集预测错误的概率进行划分的,后者是对样本集的预测错误的比例,即错分率进行划分的,默认是用的SAMME.R。
random_state随机种子设置。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/330999
推荐阅读
相关标签
  

闽ICP备14008679号