当前位置: 首页 > article >正文

XGBoost的简单安装及入门使用

XGBoost安装及简单入门

XGBoost支持多种操作系统,如Windows, Linux, MacOS等,并支持多种语言版本,如Python, R, Scale, Java等。XGBoost的安装方式一般有两种,一种是直接通过pip安装(适合用于Python),另外一种是通过源码编译安装
1、通过pip安装
通过pip安装Python包既简单又方便,只需执行如下的命令:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xgboost

使用清华的镜像来进行下载,可以快速安装,在安装完成后,可以在Python中直接引用XGBoost包,代码如下:
在这里插入图片描述

import xgboost as xgb

通过pip安装的是PyPI(Python Package Index)中已经预编译好的XGBoost包,目前提供了Linux 64位和Windows 64位两种。

2、通过源码编译安装
虽然通过pip安装XGBoost比较方便,但是这种方法只适用于Python环境下,并且其安装的XGBoost版本可能不是最新的版本。如果我们想要在其他语言环境下或者想要安装最新的XGBoost版本,则可直接通过编译源码安装。源码编译安装XGBoost主要分为两个步骤
(1)通过C++代码构建共享库(Linux/OSX中为libxgboost.so, Windows中为xgboost.dll)
(2)安装相应的语言包

XGBoost的初使用:
在这里我们使用一个经典的数据集来训练XGBoost,鸢尾花数据集,在训练集上进行测试,并在测试集上测试得到在测试集上的准确率

其简单的代码如下所示:

import xgboost as xgb
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split


iris = load_iris()
X,y = iris.data,iris.target
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1234565) # 数据集分割
from sklearn.metrics import accuracy_score   # 准确率

#定义模型的训练参数
params = {
    'booster': 'gbtree',
    'objective': 'multi:softmax',
    'num_class': 3,
    'gamma': 0.1,
    'max_depth': 6,
    'lambda': 2,
    'subsample': 0.7,
    'colsample_bytree': 0.75,
    'min_child_weight': 3,
    'silent': 0,
    'eta': 0.1,
    'seed': 1,
    'nthread': 4,
}

dtrain = xgb.DMatrix(X_train, y_train)

#训练的轮数
num_round = 5


model = xgb.train(params, dtrain, num_round)
dtest = xgb.DMatrix(X_test)
y_pred = model.predict(dtest)

accuracy = accuracy_score(y_test,y_pred)
print("accuarcy: %.2f%%" % (accuracy*100.0))

在测试集上,可以得到96.67%的准确率
在这里插入图片描述


http://www.kler.cn/a/6333.html

相关文章:

  • esp32如何接入豆包
  • 【华为OD-E卷 - 108 最大矩阵和 100分(python、java、c++、js、c)】
  • Vue - customRef 自定义ref
  • 游戏引擎学习第88天
  • C++ 学习:深入理解 Linux 系统中的冯诺依曼架构
  • 如何在Window计算机本地部署DeepSeek-r1模型
  • Kubuntu(Ubuntu) 22.04安装OBS Studio
  • 简述线程安全问题的原因和解决方案
  • Day913.反向代理和网关是什么关系 -SpringBoot与K8s云原生微服务实践
  • 现在的年轻人真会玩,开发界面都这么时尚,不服老都不行了
  • 第16章_变量、流程控制与游标
  • 记一次weblogic反序列化到内网域控上线
  • 深度探索c++对象模型-31-RTTI与存储位置简介
  • 计算机基本知识扫盲(持续更)
  • 一个令人惊艳的ChatGPT项目,开源了!
  • SpringBoot-核心技术篇
  • STM32G431-基于HAL库(第十四届蓝桥杯嵌入式模拟题2)
  • 【面试】一千万的数据你是怎么查询的?
  • MongoDB - 聚合查询
  • 【Python】【进阶篇】四、Python爬虫的URL编码/解码
  • 【c++】:“无敌的适配器来咯“栈和队列模拟实现以及优先级队列的模拟实现。
  • package XXX is not in GOROOT (C:\Program Files\Go\src\XXX)
  • SQL——数据定义DDL
  • 【@ConditionOnBean】
  • [linux]基础IO
  • [课程][原创]yolov7目标检测封装成类调用