Reputation: 1
could someone please tell me why i keep getting these errors
class AdaBoostClassifier(ClassifierMixin, BaseEstimator):
def __init__(self, base_estimator = None, n_estimators = 50, random_state = None):
self.base_estimator = base_estimator
self.n_estimators = n_estimators
self.random_state = random_state
def fit(self, X, y):
"""
----------
X : array-like, shape (n_samples, n_features)
The training input samples.
y : array-like, shape (n_samples,)
The target values. An array of int.
Returns
-------
self : object
Returns self.
"""
# Check that X and y have correct shape
X, y = check_X_y(X, y)
# Store the classes seen during fit
self.classes_ = unique_labels(y)
self.X_ = X
self.y_ = y
self.models = []
self.alphas = []
n_samples, _ = X.shape
w = np.ones(n_samples) / n_samples
for m in range(self.n_estimators):
clf = DecisionTreeClassifier(max_depth = 1)
clf.fit(X,y, sample_weight = w)
pred = clf.predict(X)
error = w.dot(pred != y)
alpha = 0.5*(np.log(1-error)-np.log(error))
w = w*np.exp(-alpha*y*pred)
w = w/w.sum() # normalise to sum to 1
self.models.append(clf)
self.alphas.append(alpha)
# Return the classifier
return self.models
def predict(self, X):
""" A reference implementation of a prediction for a classifier.
Parameters
----------
X : array-like, shape (n_samples, n_features)
The input samples.
Returns
-------
y : ndarray, shape (n_samples,)
The label for each sample is the label of the closest sample
seen during fit.
"""
# Check is fit had been called
check_is_fitted(self, ['X_', 'y_'])
# Input validation
X = check_array(X)
n_samples, _ = X.shape
self.ada = np.zeros(n_samples)
for alpha, clf in zip(self.alphas, self.models):
self.ada += alpha*clf.predict(X)
self.ada = np.sign(self.ada)
return self.ada
def score(self, X, y):
self.pred = self.predict(X)
self.accuracy = 100*sum(self.pred==y)/len(y)
return self.accuracy
check_estimator(AdaBoostClassifier)
Traceback (most recent call last): File "C:\Users\Desktop\ada.py", line 98, in check_estimator(AdaBoostClassifier) File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\utils\estimator_checks.py", line 302, in check_estimator check(name, estimator) File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\utils\testing.py", line 355, in wrapper return fn(*args, **kwargs) File "C:\Users\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\utils\estimator_checks.py", line 1646, in check_estimators_fit_returns_self assert estimator.fit(X, y) is estimator AssertionError
Upvotes: 0
Views: 243