Я получаю сообщение об ошибке «NameError: имя 'y_train' не определено».Я скопировал код из примера CatBoost здесь: https://towardsdatascience.com/catboost-vs-light-gbm-vs-xgboost-5f93620723db
Я искал похожие проблемы и обнаружил вещи, которые предполагают, что переменная может использоваться только внутри функции, но так как я не создал функцию, решениеперечисленные не применяются ...
cat_features_index = [c for c in train.columns if c not in ['ID_code', 'target']]
def auc(m, train, test):
return (metrics.roc_auc_score(y_train,m.predict_proba(train)[:,1]),
metrics.roc_auc_score(y_test,m.predict_proba(test)[:,1]))
params = {'depth': [4, 7, 10],
'learning_rate' : [0.03, 0.1, 0.15],
'l2_leaf_reg': [1,4,9],
'iterations': [300]}
cb = cb.CatBoostClassifier()
cb_model = GridSearchCV(cb, params, scoring="roc_auc", cv = 3)
cb_model.fit(train, y_train)
# With Categorical features
clf = cb.CatBoostClassifier(eval_metric="AUC", depth=10, iterations= 500, l2_leaf_reg= 9, learning_rate= 0.15)
Сообщение об ошибке ниже:
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-13-f261cd049b40> in <module>()
11 cb = cb.CatBoostClassifier()
12 cb_model = GridSearchCV(cb, params, scoring="roc_auc", cv = 3)
---> 13 cb_model.fit(train, y_train)
14
15 # With Categorical features
NameError: name 'y_train' is not defined