8.1
class Adaboost_tree:
def __init__(self, X, Y):
self.X = np.array(X)
self.Y = np.array(Y)
self.N = len(X)
self.feature_num = len(X[0])
self.w = np.array([1 / self.N] * self.N)
self.g_x = []
self.get_feature_dict()
def compute_error(self, y):
y = np.array(y)
return np.sum(self.w[y != self.Y])
def compute_am(self, em):
return 1 / 2 * math.log((1 - em) / em)
def get_feature_dict(self):
self.f_dict = {
}
for i in range(self.feature_num):
self