Я хочу создать модель выживания xgboost с output_margin = True в прогнозе.Тем не менее, у sklearn нет метода для передачи новых параметров для предсказания, но он есть для подгонки.
поэтому я написал следующий класс
class PredictWithOutputMargin:
def __init__(self, model):
self.model = model
def predict(self, X):
return self.model.predict(self, X, output_margin=True)
def fit(self, X, y, **kwargs):
return self.model.fit(X, y, **kwargs)
def get_params(self, deep = False):
return self.model.get_params(deep)
, затем я передаю его
from sklearn.model_selection import cross_val_predict as cvp
model = PredictWithOutputMargin(model_instance)
cv_score = cvp(model, train_x, train_y, cv=cv, n_jobs=-1, method=method)
Здесь метод - предикат, а cv - 5.
Однако, когда я запускаю код, я получаю следующую ошибку.
TypeError: __init__() got an unexpected keyword argument 'base_score'
Есть идеи, как его передать?