给我一段GBDT的代码
时间: 2024-12-25 09:32:45 浏览: 3
GBDT(Gradient Boosting Decision Trees)是一种常用的集成学习算法,通过迭代地添加决策树来提高预测性能。这里是一个基于Python的scikit-learn库实现GBDT的简单例子:
```python
# 导入所需的库
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as np
# 加载数据集
iris = load_iris()
X = iris.data
y = iris.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建GBDT分类器
gbdt_model = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3,
random_state=42) # 参数可以根据实际需求调整
# 训练模型
gbdt_model.fit(X_train, y_train)
# 预测
predictions = gbdt_model.predict(X_test)
# 打印一些评估指标
print("Accuracy:", np.mean(predictions == y_test))
```
在这个代码中:
- `n_estimators`指定了树的数量,
- `learning_rate`控制了每次迭代更新的权重,
- `max_depth`限制了每棵树的最大深度。
阅读全文