class sklearn.ensemble.AdaBoostClassifier(base_estimator=None, *, n_estimators=50, learning_rate=1.0, algorithm='SAMME.R', random_state=None)
AdaBoost 分类器。
AdaBoost [1] 分类器是一个 meta-estimator,它首先在原始数据集上拟合分类器,然后在同一数据集上拟合分类器的其他副本,但调整错误分类实例的权重,以便后续分类器关注更多关于疑难案件。
此类实现称为AdaBoost-SAMME [2] 的算法。
在用户指南中阅读更多信息。
base_estimator:对象,默认=无
构建增强集成的基本估计器。需要支持样本加权,以及正确的classes_
和n_classes_
属性。如果 None
,则基本估计量是 DecisionTreeClassifier 用 max_depth=1
初始化。
n_estimators:int 默认=50
终止提升的估计器的最大数量。在完美契合的情况下,学习过程会提前停止。
learning_rate:浮点数,默认=1.0
在每次提升迭代中应用于每个分类器的权重。更高的学习率会增加每个分类器的贡献。 learning_rate
和 n_estimators
参数之间存在折衷。
algorithm:{‘SAMME’,‘SAMME.R’},默认=‘SAMME.R’
如果是“SAMME.R”,则使用 SAMME.R 实数提升算法。 base_estimator
必须支持类概率的计算。如果是“SAMME”,则使用 SAMME 离散增强算法。 SAMME.R 算法通常比 SAMME 收敛得更快,以更少的提升迭代实现更低的测试误差。
random_state:int RandomState 实例或无,默认=无
在每次提升迭代中控制在每个 base_estimator
处给出的随机种子。因此,它仅在 base_estimator
公开 random_state
时使用。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。
base_estimator_:估计器
生成集成的基本估计量。
estimators_:分类器列表
拟合sub-estimators 的集合。
classes_:ndarray 形状 (n_classes,)
类标签。
n_classes_:int
类的数量。
estimator_weights_:浮点数数组
增强集成中每个估计器的权重。
estimator_errors_:浮点数数组
增强集成中每个估计器的分类误差。
feature_importances_ndarray 形状 (n_features,)
基于杂质的特征重要性。
n_features_in_:int
拟合期间看到的特征数。
feature_names_in_:ndarray 形状(n_features_in_
,)
拟合期间看到的特征名称。仅当 X
具有全为字符串的函数名称时才定义。
1 Y. Freund, R. Schapire,“on-Line 学习的 Decision-Theoretic 泛化和提升的应用”,1995 年。
2 朱,H. Zou,S. Rosset,T. Hastie,“Multi-class AdaBoost”,2009。
>>> from sklearn.ensemble import AdaBoostClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_samples=1000, n_features=4,
... n_informative=2, n_redundant=0,
... random_state=0, shuffle=False)
>>> clf = AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.fit(X, y)
AdaBoostClassifier(n_estimators=100, random_state=0)
>>> clf.predict([[0, 0, 0, 0]])
array([1])
>>> clf.score(X, y)
0.983...
好了, 以上是本文所有内容,希望对大家有所帮助,也希望大家对码农之家多多支持,你们的支持是我创作的动力!祝大家生活愉快!