Я пишу это (4 значения)
clf2 = LogisticRegression()
scores2 = cross_val_score (clf2, X, y, cv=10)
...
clf5 = ExtraTreesClassifier(n_estimators=100, max_depth=None,
min_samples_split=5, random_state=0)
scores5 = cross_val_score(clf5, X, y, cv=5)
тогда это
class myEnsemble:
def __init_(self, models):
self.models = model
def fit(self, X, y):
for model in self.models:
model.fit(X, y)
def predict (self, X):
preds = [model. predict(X) for model in self.models]
res = []
for i in range(len(X)):
line = [preds[j][i] for j in range (len(preds))]
res.append(round(sum(line) / len(line)))
return res
model = myEnsemble([clf2, clf3, clf4, clf5])
model.fit (X_train, y_train)`
Но я получаю эту ошибку
myEnsemble() takes no arguments
Почему у меня эта ошибка



__init__ должен иметь два завершающих символа подчеркивания. Вы поставили только одно подчеркивание. Таким образом, python интерпретирует его как обычную функцию, а не как конструктор. Используется конструктор по умолчанию, поэтому он ожидает 0 аргументов. Чтобы исправить это, просто добавьте еще один знак подчеркивания «_» в конец def __init_(self, models):, чтобы он стал def __init__(self, models):.
Вам не хватает замыкающего
_в вашем методе__init__.