python使用GBDT并输出预测结果
时间: 2023-10-28 07:05:49 浏览: 101
GBDT是一种基于决策树的集成学习方法,可以用于分类和回归问题。在Python中,我们可以使用scikit-learn库中的GradientBoostingClassifier和GradientBoostingRegressor来实现GBDT分类和回归。
以下是一个使用GBDT进行分类的例子:
```python
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.datasets import make_hastie_10_2
from sklearn.model_selection import train_test_split
# 生成一个样本数据集
X, y = make_hastie_10_2(n_samples=10000)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y)
# 创建一个GBDT分类器
clf = GradientBoostingClassifier(n_estimators=100, learning_rate=1.0, max_depth=1, random_state=0)
# 训练模型
clf.fit(X_train, y_train)
# 输出预测结果
print(clf.predict(X_test))
```
在这个例子中,我们使用make_hastie_10_2函数生成了一个包含10000个样本的数据集,然后使用train_test_split函数将其划分为训练集和测试集。接着,我们使用GradientBoostingClassifier创建一个GBDT分类器,并使用fit函数训练模型。最后,使用predict函数输出测试集的预测结果。
以下是一个使用GBDT进行回归的例子:
```python
from sklearn.ensemble import GradientBoostingRegressor
from sklearn.datasets import make_regression
from sklearn.model_selection import train_test_split
# 生成一个样本数据集
X, y = make_regression(n_samples=1000, n_features=4, noise=0.1)
# 划分数据集
X_train, X_test, y_train, y_test = train_test_split(X, y)
# 创建一个GBDT回归器
reg = GradientBoostingRegressor(n_estimators=100, learning_rate=0.1, max_depth=3, random_state=0)
# 训练模型
reg.fit(X_train, y_train)
# 输出预测结果
print(reg.predict(X_test))
```
在这个例子中,我们使用make_regression函数生成一个包含1000个样本和4个特征的数据集,然后使用train_test_split函数将其划分为训练集和测试集。接着,我们使用GradientBoostingRegressor创建一个GBDT回归器,并使用fit函数训练模型。最后,使用predict函数输出测试集的预测结果。
阅读全文