У меня проблема с оценкой nan R2 при поиске по сетке.
Код: Выделить всё
FDODB=pd.read_excel('Final Training Set for LOGO.xlsx')
array = FDODB.values
X = array[:,2:126]
Y = array[:,1]
Compd = array[:,0]
scaler = StandardScaler()
X = scaler.fit_transform(X)
params = {
'max_depth': [5,7,9],
'learning_rate': [0.03,0.05,0.07],
'n_estimators': [200,300,400],
'min_child_weight': [5,7,9],
'subsample': [0.3, 0.5, 0.7],
'base_score': [0.4, 0.5, 0.6]
}
xgb_reg = XGBRegressor(tree_method='hist', device='cuda')
logo = LeaveOneGroupOut()
grid_search = GridSearchCV(
estimator=xgb_reg,
param_grid=params,
scoring='r2',
error_score="raise",
cv=logo,
verbose=2,
n_jobs=-1,
return_train_score=True
)
grid_search.fit(X, Y, groups=Compd)
best_params = grid_search.best_params_
best_score = grid_search.best_score_
print('Best hyperparameters:', best_params)
print('Best R2 score:', best_score)
warnings.warn(
Лучшие гиперпараметры: {'base_score': 0,5, 'learning_rate': 0,03, 'max_length': 8, 'min_child_weight': 6, 'n_estimators': 200, 'подвыборка' : 0,3>
Лучший результат R2: nan
вот мой код, когда я использовал 10-кратное CV для поиска по сетке, у меня возникли проблемы с получением баллов R2, но всякий раз. Я попробовал LOO или LOGO CV, все оценки R2 просто nan. Я проверил, есть ли в моем обучающем наборе значения nan, но все в порядке. Не могли бы вы помочь, какова возможная причина и как ее решить? Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -k-fold-cv