现有训练集 df 和验证集 df_test,帮我写一个lgb模型
时间: 2024-02-25 07:54:45 浏览: 143
好的,以下是一个简单的LGB模型的代码示例:
```python
import lightgbm as lgb
from sklearn.metrics import accuracy_score
# 假设你已经有了训练集和验证集的数据
train_data = lgb.Dataset(df.drop(['target'], axis=1), label=df['target'])
valid_data = lgb.Dataset(df_test.drop(['target'], axis=1), label=df_test['target'])
# 设置LGB的参数
params = {
'objective': 'binary',
'metric': 'binary_logloss',
'boosting_type': 'gbdt',
'num_leaves': 31,
'learning_rate': 0.05,
'feature_fraction': 0.9,
'bagging_fraction': 0.8,
'bagging_freq': 5,
'verbose': 0
}
# 训练LGB模型
model = lgb.train(params,
train_data,
num_boost_round=1000,
valid_sets=[train_data, valid_data],
early_stopping_rounds=100,
verbose_eval=100)
# 预测验证集
y_pred = model.predict(df_test.drop(['target'], axis=1))
predictions = [1 if x >= 0.5 else 0 for x in y_pred]
# 计算准确率
accuracy = accuracy_score(df_test['target'], predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))
```
请注意,这只是一个简单的LGB模型示例,您可能需要根据您的数据和问题调整参数和模型结构。另外,您需要将训练集和验证集的数据(df、df_test)替换为您自己的数据,并根据您的问题选择合适的目标函数、评估指标等。
阅读全文