объект .__ init __ () принимает ровно один аргумент (экземпляр для инициализации) ** код не запущен ** - PullRequest
0 голосов
/ 03 августа 2020

Устранена одна проблема при оптимизации параметров с помощью BayesSearchCV. Мой код - вы можете найти его ниже с информацией об ошибке:

import xgboost as xgb
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
from skopt import BayesSearchCV     
       
X = df.drop('Y', axis=1)
y = df.Y
        
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.7, random_state=0)
             
seed =10
xg_cl = xgb.XGBClassifier()
params = {      
         'max_depth':[3,4,5,7,9,11],
         'eta': [0.1, 0.3, 0.5, 0.8, 1.0],
         'learning_rate':[0.01,0.03,0.07,0.1,0.3,0.5,0.9],
         'min_child_weight':[1,3,5,7],
         'reg_lambda':[0.1,0.5,1,1.3,1.7,2.5,3],
         'reg_alpha':[1,1.5,2,3,8,10,12,15,18],
         'gamma':[0.1,0.5,1,1.5,2,5,10,13],
         'subsample':[0.4,0.5,0.6,0.7,0.8,0.9,1],
         'colsample_bytree':[0.4,0.5,0.6,0.7,0.8,0.9,1],
         'scale_pos_weight':[0.5,1,2,3,4,5,10,12],
          'n_estimators': [100, 250, 500, 1000, 5000, 7000]}
        
clf = BayesSearchCV(xg_cl, search_spaces=params, n_iter=10,  verbose = 3, n_jobs = -1, random_state=42, cv=2, scoring='neg_mean_squared_error')
        
clf.fit(X_train, y_train)
        
print('Best roc_auc: {:.4}, with best params: {}'.format(clf.best_score_, clf.best_params_))

Запуск дает мне ошибку:

Traceback (most recent call last):
<ipython-input-104-849db0dd2643> in <module>
     42 clf = BayesSearchCV(xg_cl, search_spaces=params, n_iter=10,  verbose = 3, n_jobs = -1, random_state=42, cv=2, scoring='neg_mean_squared_error')
     43 
---> 44 clf.fit(X_train, y_train)
     45 
     46 print('Best roc_auc: {:.4}, with best params: {}'.format(clf.best_score_, clf.best_params_))
    
............
/opt/conda/lib/python3.7/site-packages/sklearn/utils/deprecation.py in wrapped(*args, **kwargs)
     66         def wrapped(*args, **kwargs):
     67             warnings.warn(msg, category=FutureWarning)
---> 68             return init(*args, **kwargs)
     69         cls.__init__ = wrapped
     70 
    
TypeError: object.__init__() takes exactly one argument (the instance to initialize)

Что именно я могу сделать, чтобы решить эту проблему? Нужна ваша помощь, коллеги

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...