Optuna lightgbm 集成给出分类特征错误
Optuna lightgbm integration giving categorical features error
我正在使用 optuna lightgbm 集成创建模型,我的训练集有一些分类特征,我使用 lgb.Dataset
class 将这些特征传递给模型,这是我使用的代码(注意: X_train, X_val, y_train, y_val 都是 pandas 数据帧).
import lightgbm as lgb
grid = {
'boosting': 'gbdt',
'metric': ['huber', 'rmse' , 'mape'],
'verbose':1
}
X_train, X_val, y_train, y_val = train_test_split(X, y)
cat_features = [ col for col in X_train if col.startswith('cat') ]
dval = Dataset(X_val, label=y_val, categorical_feature=cat_features)
dtrain = Dataset(X_train, label=y_train, categorical_feature=cat_features)
model = lgb.train(
grid,
dtrain,
valid_sets=[dval],
early_stopping_rounds=100)
每次调用 lgb.train
函数时,我都会收到以下用户警告
UserWarning: categorical_column in param dict is overridden.
我认为 lighgbm 没有按照应有的方式处理我的分类特征,有人知道如何解决这个问题吗?我使用的参数正确吗?
如果选择这些列的名称(不是索引),请同时添加 feature_name
参数作为 documentation states
也就是说,您的 dval
和 dtrain
将初始化如下:
dval = Dataset(X_val, label=y_val, feature_name=cat_features, categorical_feature=cat_features)
dtrain = Dataset(X_train, label=y_train, feature_name=cat_features, categorical_feature=cat_features)
我正在使用 optuna lightgbm 集成创建模型,我的训练集有一些分类特征,我使用 lgb.Dataset
class 将这些特征传递给模型,这是我使用的代码(注意: X_train, X_val, y_train, y_val 都是 pandas 数据帧).
import lightgbm as lgb
grid = {
'boosting': 'gbdt',
'metric': ['huber', 'rmse' , 'mape'],
'verbose':1
}
X_train, X_val, y_train, y_val = train_test_split(X, y)
cat_features = [ col for col in X_train if col.startswith('cat') ]
dval = Dataset(X_val, label=y_val, categorical_feature=cat_features)
dtrain = Dataset(X_train, label=y_train, categorical_feature=cat_features)
model = lgb.train(
grid,
dtrain,
valid_sets=[dval],
early_stopping_rounds=100)
每次调用 lgb.train
函数时,我都会收到以下用户警告
UserWarning: categorical_column in param dict is overridden.
我认为 lighgbm 没有按照应有的方式处理我的分类特征,有人知道如何解决这个问题吗?我使用的参数正确吗?
如果选择这些列的名称(不是索引),请同时添加 feature_name
参数作为 documentation states
也就是说,您的 dval
和 dtrain
将初始化如下:
dval = Dataset(X_val, label=y_val, feature_name=cat_features, categorical_feature=cat_features)
dtrain = Dataset(X_train, label=y_train, feature_name=cat_features, categorical_feature=cat_features)