import numpy as np import pandas as pd from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import f1_score, accuracy_score class Adaboost: """ __init__(self, num_classifiers): 构造方法,用于初始化Adaboost对象。num_classifiers指定要使用的分类器数量。 weighted_error(y_true, y_pred, weights): 静态方法,计算加权错误率。它接受真实标签y_true、预测标签y_pred和样本权重weights作为输入,并返回加权错误率。 update_weights(weights, alpha, y_true, y_pred): 静态方法,根据分类器权重更新样本权重。它接受当前样本权重weights、分类器权重alpha、真实标签y_true和预测标签y_pred作为输入,并返回更新后的样本权重。 fit(self, X, y): 训练Adaboost分类器。它接受训练数据X和标签y作为输入,并使用num_classifiers个决策树分类器进行训练 """ def __init__(self, num_classifiers): self.num_classifiers = num_classifiers self.classifiers = [] self.classifier_weights = [] @staticmethod def weighted_error(y_true, y_pred, weights): return np.sum(weights[y_true != y_pred]) @staticmethod def update_weights(wei
以类方法定义Adaboost
于 2023-06-19 11:43:09 首次发布