机器学习之XGboost代码实现

本文详细介绍了如何在Python中实现XGboost,包括基本应用、自定义损失函数以及与其他算法如逻辑回归、随机森林等的对比。通过实例展示了XGboost的训练、预测过程,并提供了自定义目标函数和评估指标的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

XGboost代码实现
XGboost的原生语言是c++,所以它的运行速度比较快。这里将会举例介绍一下python中如何调用XGboost,如果想了解XGboost的理论部分,可以参考这篇博客

例1: XGboost基本应用

数据集:以鸢尾花数据集为例

# /usr/bin/python
# -*- encoding:utf-8 -*-
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import xgboost as xgb

def show_accuracy(a, b, tip):
    acc = a.ravel() == b.ravel()
    print (acc)
    print (tip + '正确率:\t', float(acc.sum()) / a.size)

if __name__ == "__main__":
    #加载iris数据集
    data=load_iris()
    X=data.data
    Y=data.target
    X_train,X_test,y_train,y_test=train_test_split(X,Y,test_size=0.25,random_state=1)  #训练集和测试集
    data_train = xgb.DMatrix(X_train,label=y_train)
    data_test = xgb.DMatrix(X_test,label=y_test)
    print (data_train)
    print (type(data_train))
    # 设置参数
    param = {'max_depth': 3, 'eta': 1, 'silent': 1, 'objective': 'multi:softmax','num_class': 3} # logitraw
    watchlist = [(data_test, 'eval'), (data_train, 'train')]
    n_round = 7
    bst = xgb.train(param, data_train, num_boost_round=4, evals=watchlist)  
    y_hat = bst.predict(data_test)
    show_accuracy(y_hat, y_test, 'XGBoost ')

结果显示:
在这里插入图片描述
xgb.train(),bst.predicty

bst = xgb.train(param, data_train, num_boost_round=4, evals=watchlist)
y_hat = bst.predict(data_test)

xgb.train()和xgb.predict是xgboost训练和测试的方式
xgb.train()函数原型:

xgboost.train(params,dtrain,num_boost_round=10,evals=(),obj=None,feval=None,maxim
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值