Çapraz doğrulama kullanarak XGboost'un hiper parametrelerini optimize etmek istiyorum. Ancak modelin xgb.cv
'den nasıl elde edileceği net değil. Örneğin fmin
' den objektif (params)
'i çağırıyorum. Daha sonra model dtrain
üzerine yerleştirilir ve dvalid
üzerinde doğrulanır. Hyperopt import fmin'den dtrain
?
üzerine eğitim yerine KFold crossvalidation kullanmak istersem, xgbparams olarak tpeimport xgboost = {'n_estimators': hp.quniform ( 'n_estimators', 100, 1000, 1), 'eta': hp.quniform ('eta', 0.025, 0.5, 0.025), 'max_depth': hp.quniform ('max_depth', 1, 13, 1) #. ..} best = fmin (amaç, boşluk = parametreler, algo = tpe.suggest) def amaç (parametreler): dtrain = xgb.DMatrix (X_train, label = y_train) dvalid = xgb.DMatrix (X_valid, label = y_valid) izleme listesi = [(dtrain, 'train'), (dvalid, 'eval')] model = xgb.train (params, dtrain, num_boost_round, evals = watchlist, feval = myFunc) # xgb.cv (param, dtrain, num_boost_round, nfold = 5, tohum = 0, # feval = işlevim)