前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第 03 课:开发您的第一个 XGBoost 模型

第 03 课:开发您的第一个 XGBoost 模型

作者头像
PM小王
发布2019-07-02 17:10:14
6110
发布2019-07-02 17:10:14
举报
文章被收录于专栏:程序员小王程序员小王

假设您有一个可用的SciPy环境,可以使用pip轻松安装 XGBoost。 例如:

代码语言:javascript
复制
sudo pip install xgboos

您可以在XGBoost安装说明(https://xgboost.readthedocs.io/en/latest/build.html)中了解有关在您的平台上安装和构建XGBoost的更多信息。

XGBoost模型可以使用包装类直接在scikit-learn框架中使用,XGBClassifier用于分类,XGBRegressor用于回归问题。 这是在Python中使用XGBoost的推荐方法。 从 UCI 机器学习库下载 Pima Indians 糖尿病数据集。它是二进制分类的一个很好的测试数据集,因为所有输入变量都是数字的,这意味着问题可以直接建模而无需数据准备。 我们可以通过构造它并调用**model.fit()**函数来训练XGBoost 模型进行分类:

代码语言:javascript
复制
model = XGBClassifier()
model.fit(X_train, y_train)

然后可以通过在新数据上调用**model.predict()**函数来使用该模型进行预测。

代码语言:javascript
复制
y_pred = model.predict(X_test)

我们可以将这些结合起来如下:

代码语言:javascript
复制
# First XGBoost model for Pima Indians dataset
from numpy import loadtxt
from xgboost import XGBClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# load data
dataset = loadtxt('pima-indians-diabetes.csv', delimiter=",")
# split data into X and y
X = dataset[:,0:8]
Y = dataset[:,8]
# split data into train and test sets
seed = 7
test_size = 0.33
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=test_size, random_state=seed)
# fit model on training data
model = XGBClassifier()
model.fit(X_train, y_train)
# make predictions for test data
y_pred = model.predict(X_test)
predictions = [round(value) for value in y_pred]
# evaluate predictions
accuracy = accuracy_score(y_test, predictions)
print("Accuracy: %.2f%%" % (accuracy * 100.0))

在下一课中,我们将研究如何使用早期停止来限制过度拟合。

在看和转发

都是一种支持

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员小王 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 在看和转发
  • 都是一种支持
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档