Gradient Boosting 模型python处理
时间: 2023-12-15 15:06:34 浏览: 80
Gradient Boosting 是一种集成学习(ensemble learning)的方法,它能够将多个弱学习器(weak learner)结合起来,形成一个强学习器(strong learner)。在 Python 中,可以使用 `sklearn` 库中的 `GradientBoostingClassifier` 和 `GradientBoostingRegressor` 类分别实现分类和回归任务。
下面是一个使用 `GradientBoostingClassifier` 的例子:
```python
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载数据集
data = load_iris()
X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2, random_state=42)
# 创建模型并训练
gb = GradientBoostingClassifier(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=42)
gb.fit(X_train, y_train)
# 预测并评估
y_pred = gb.predict(X_test)
score = gb.score(X_test, y_test)
print('Accuracy:', score)
```
在这个例子中,我们使用 `load_iris` 函数加载了鸢尾花数据集,并使用 `train_test_split` 函数将数据集划分为训练集和测试集。然后,我们创建了一个 `GradientBoostingClassifier` 对象,并使用训练集进行训练。最后,我们使用测试集进行预测并计算了模型的准确率。
如果要使用 `GradientBoostingRegressor`,只需要将上面的 `GradientBoostingClassifier` 替换为 `GradientBoostingRegressor`,并相应地修改参数即可。
阅读全文