微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

LightGBM-覆盖参数警告

如何解决LightGBM-覆盖参数警告

尝试使用LightGBM训练模型时,出现以下警告:

/home/me/projects/programming/project_name/.project_name-env/lib/python3.8/site-packages/lightgbm/basic.py:1286:UserWarning: 从参考数据集中覆盖参数。 warnings.warn('从参考数据集中覆盖参数。')

/home/me/projects/programming/project_name/.project_name-env/lib/python3.8/site-packages/lightgbm/basic.py:1098: 用户警告:param dict中的categorical_column被覆盖。
warnings.warn(参数dict中的'{}被覆盖。'。format(cat_alias))

下面的代码的想法是:

  • 预处理我的X_train,y_train和X_validate,y_validate数据
  • 为我的火车创建LightGBM数据集并验证数据
  • 为教练创建参数字典
  • 使用参数字典为我的火车数据训练多级助推器

代码

# preprocess train data and create train dataset
X_train = df_train.drop(drop_columns,axis=1)
category_encoder = category_encoding.CategoryEncoder()
category_encoder.fit_transform(X_train,['CAT0','CAT1'])
y_train = custom_encoding.custom_encode(df_train['LABEL_COL'].values)
train_dataset = lightgbm.Dataset(X_train,label=y_train,categorical_feature=None)

# same steps for validation data
X_valid = df_valid.drop(organizer_columns,axis=1)
category_encoder.transform(X_valid)
y_valid = custom_encoding.custom_encode(df_valid['LABEL_COL'].values)
valid_dataset = lightgbm.Dataset(X_valid,label=y_valid,reference=train_dataset,categorical_feature = None)
 
# create classifier parameter dictionary
model_params = {
    'objective' : 'multiclass','num_classes' : 20,'device_type' : 'GPU'
}

# create classifier
clf = lightgbm.train(
        params = model_params,train_set = train_dataset,valid_sets = [valid_dataset],verbose_eval = False,num_boost_round = 50
)

我一辈子都看不到我要在验证数据集中的引用数据集中覆盖参数,还是在哪里覆盖类别列的任何内容

添加了“ categorical_features = None”以尝试消除错误(该错误在将其添加到train_dataset和valid_dataset之前就已经存在)。

如果任何人都可以解释lightgbm.train和lightgbm.dataset之间的适当划分,那也将很有帮助。

如果任何人都可以在train函数中解释参数字典和命名参数之间的正确划分,那也将非常有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。