搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
深度学习--反向传播_深度学习 反向传播
2
Hadoop大数据简介_doug cutting和mike cafarella
3
刷题DAY57 | LeetCode 647-回文子串 516-最长回文子序列
4
ARM架构和X86架构区别
5
Kafka 架构深入探索
6
修复vscode运行vue不能显示network的地址_vdcode network地址
7
大规模向量检索库Faiss学习总结记录_faiss数据库教程
8
m基于matlab的光通信误码率仿真,分别对比了OFDM+BPSK和OFDM+4QAM的误码率和星座图_仿真qam或ofdm调制解调实现及误码率分析
9
神经网络实用工具(整活)系列---使用OpenAI的翻译模型whisper实现语音(中、日、英等等)转中字,从此生肉变熟肉---提高篇(附带打包好的程序)_whisper 幻听
10
【离线语音专题④】安信可VC离线语音开发板二次开发语音控制LED灯_vc-02 ai-thinker
当前位置:
article
> 正文
XGBoost解决多分类问题_xgboost 分类数据
作者:凡人多烦事01 | 2024-04-23 09:50:00
赞
踩
xgboost 分类数据
XGBoost解决多分类问题
写在前面的话
XGBoost官方给的二分类问题的
例子
是区别蘑菇有无毒,数据集和代码都可以在xgboost中的demo文件夹对应找到,我是用的Anaconda安装的XGBoost,实现起来比较容易。唯一的梗就是在终端中运行所给命令: ../../xgboost mushroom.conf 时会报错,是路径设置的问题,所以我干脆把xgboost文件夹下的xgboost.exe拷到了mushroom.conf配置文件所在文件夹下,这样直接定位到该文件夹下就可以运行: xgboost mushroom.conf。二分类数据预处理,也就是data wraggling部分的代码有一定的借鉴意义,值得一看。
多分类问题给的
例子
是根据34个特征识别6种皮肤病,由于终端中运行runexp.sh没有反应,也不报错,所以我干脆把数据集下载到对应的demo文件夹下了,主要的代码如下,原来有部分比较难懂的语句我自己加了一些注释,这样理解起来就会顺畅多了。
[python]
view plain
copy
#! /usr/bin/python
import
numpy as np
import
xgboost as xgb
# label need to be 0 to num_class -1
# if col 33 is '?' let it be 1 else 0, col 34 substract 1
data = np.loadtxt(
'./dermatology.data'
, delimiter=
','
,converters={
33
:
lambda
x:int(x ==
'?'
),
34
:
lambda
x:int(x)-
1
} )
sz = data.shape
train = data[:int(sz[
0
] *
0.7
), :]
# take row 1-256 as training set
test = data[int(sz[
0
] *
0.7
):, :]
# take row 257-366 as testing set
train_X = train[:,
0
:
33
]
train_Y = train[:,
34
]
test_X = test[:,
0
:
33
]
test_Y = test[:,
34
]
xg_train = xgb.DMatrix( train_X, label=train_Y)
xg_test = xgb.DMatrix(test_X, label=test_Y)
# setup parameters for xgboost
param = {}
# use softmax multi-class classification
param[
'objective'
] =
'multi:softmax'
# scale weight of positive examples
param[
'eta'
] =
0.1
param[
'max_depth'
] =
6
param[
'silent'
] =
1
param[
'nthread'
] =
4
param[
'num_class'
] =
6
watchlist = [ (xg_train,
'train'
), (xg_test,
'test'
) ]
num_round =
5
bst = xgb.train(param, xg_train, num_round, watchlist );
# get prediction
pred = bst.predict( xg_test );
print
(
'predicting, classification error=%f'
% (sum( int(pred[i]) != test_Y[i]
for
i
in
range(len(test_Y))) / float(len(test_Y)) ))
# do the same thing again, but output probabilities
param[
'objective'
] =
'multi:softprob'
bst = xgb.train(param, xg_train, num_round, watchlist );
# Note: this convention has been changed since xgboost-unity
# get prediction, this is in 1D array, need reshape to (ndata, nclass)
yprob = bst.predict( xg_test ).reshape( test_Y.shape[
0
],
6
)
ylabel = np.argmax(yprob, axis=
1
)
# return the index of the biggest pro
print
(
'predicting, classification error=%f'
% (sum( int(ylabel[i]) != test_Y[i]
for
i
in
range(len(test_Y))) / float(len(test_Y)) ))
结果如下:
[python]
view plain
copy
[
0
] train-merror:
0.011719
test-merror:
0.127273
[
1
] train-merror:
0.015625
test-merror:
0.127273
[
2
] train-merror:
0.011719
test-merror:
0.109091
[
3
] train-merror:
0.007812
test-merror:
0.081818
[
4
] train-merror:
0.007812
test-merror:
0.090909
predicting, classification error=
0.090909
[
0
] train-merror:
0.011719
test-merror:
0.127273
[
1
] train-merror:
0.015625
test-merror:
0.127273
[
2
] train-merror:
0.011719
test-merror:
0.109091
[
3
] train-merror:
0.007812
test-merror:
0.081818
[
4
] train-merror:
0.007812
test-merror:
0.090909
predicting, classification error=
0.090909
不管是直接返回诊断类型,还是返回各类型的概率,然后取概率最大的那个对应的类型的index,结果都是一样的。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/473267
推荐阅读
article
XGBoost...
LeetCode题目记录1.XGBoost概念2.集成思想3.分析XGboost思路4.原理推导5.正则化6.优缺点7....
赞
踩
article
常用
数据
分类
算法
原理介绍、优缺点分析与代码实现[LR/RF/DT/
SVM
/
NavieBayes
/GB...
常用
数据
分类
算法
原理介绍、优缺点分析与代码实现[LR/RF/DT/
SVM
/
NavieBayes
/
GBDT
/
XGBoost
...
赞
踩
article
机器
学习
集成
学习
各
算法
-
gbdt
,
xgboost
,lightgbm比较及优缺点
特征
总结_集成
学习
哪...
随机森林优点具有极高的
准确率
随机性的引入,使得随机森林不容易过拟合,有很好的抗噪声能力,对异常点离群点不敏感 能处理很...
赞
踩
article
LR
(
Logistic
Regression
) &
XGBOOST
学习笔记
_
lr、
xgboost
区...
LR
(
Logistic
Regression
) &
XGBOOST
在 CRT中的应用此文将持续更新,欢迎指导交流~立志...
赞
踩
article
RF,
XGBOOST
,LR,
SVM
比较
_
xgboost
和
svm
区别...
RandomForest 随机森林随机森林由多棵决策树组成,并且每棵决策树都是独立的。树结构模型在构建时主要耗时在建立模...
赞
踩
article
RF、
GBDT
、
XGBoost
、
LightGBM
比较_为什么性能上svc > rf > lightg...
RF、
GBDT
和
XGBoost
、
LightGBM
都属于集成学习(Ensemble Learning),集成学习的目的是通...
赞
踩
article
机器
学习
-
决策树
(
XGBoost
、
LightGBM
)_
决策树
指示
函数
...
【
机器
学习
】
决策树
——
XGBoost
、
LightGBM
主要介绍基于 Boosting 框架的主流集成算法,包括 XGBo...
赞
踩
article
Adaboost
,
GBDT
,
Xgboost
,
RF,
LR
,
SVM
等繁多算法如何选择_lr和xgboos...
1.
LR
与
SVM
的区别和联系联系:1.
LR
和
SVM
都可以处理分类问题
,
且一般处理线性二分类(改进后可以处理多分类)2. ...
赞
踩
article
模型
调参经验-LR、
SVM
、RF、
GBDT
、
Xgboost
、
LightGBM
_
svm
lightgb...
LR
SVM
Xgboost
CNNLSTM_
svm
lightgbm
svm
lightgbm
...
赞
踩
article
Boosting
三巨头:
XGBoost
、
LightGBM
和
CatBoost
(发展、原理、
区别
和联系,...
机器学习中,提高模型精度是研究的重点之一,而模型融合技术中,
Boosting
算法是一种常用的方法。在
Boosting
算法...
赞
踩
article
决策树、
随机
森林
、
GBDT
、
XGBoost
_
随机
森林
xgboost...
决策树、
随机
森林
、
GBDT
、
XGBoost
_
随机
森林
xgboost
随机
森林
xgboost 文...
赞
踩
article
【
项目
实战】Python实现
xgboost
分类
模型(
XGBClassifier
算法)
项目
实战_pyt...
说明:这是一个机器学习实战
项目
(附带数据+代码+文档+代码讲解),如需数据+代码+文档+代码讲解可以直接到文章最后获取。...
赞
踩
article
python
基于
xgboost
预测波士顿
房价
_
python
xgboost
boston
数据
集...
python
xgboost
预测
房价
,本文涉及了DataFrame、可视化、
数据
建模等相关代码_
python
xgboo...
赞
踩
article
【机器
学习
】
XGBoost
详细解读 (集成
学习
_
Boosting
_
GBM
)_
xgboost
和gbm...
【机器
学习
】
XGBoost
详细解读 (集成
学习
_
Boosting
_
GBM
)_
xgboost
和gbm
xgboost
和gb...
赞
踩
article
XGB
-13:
使用
XGB
oost
外部
内存
版本_
quantiledmatrix
...
xgboost
使用
外部
内存
版本,以节省
内存
_
quantiledmatrix
quantiledmatrix
...
赞
踩
article
SHAP
(五):
使用
XGBoost
进行
人口普查
收入
分类_
xgboost
shap
...
本笔记本演示了如何
使用
XGBoost
预测个人年
收入
超过 5 万美元的概率。它
使用
标准 UCI 成人
收入
数据集。要下载...
赞
踩
article
多元
分类
预测 |
Matlab
基于
xgboost
(
XGBOOST
)
数据
分类
预测_
matlab
引入x...
随着科技的不断发展和应用,
数据
分类
在各个领域中变得越来越重要。特别是在工业生产中,故障
数据
的
分类
对于提高生产效率和降低成...
赞
踩
article
【
数据
分析与挖掘】
基于
LightGBM
,
XGBoost
,
逻辑
回归
的二
分类
/多
分类
的
分类
预测实战(有数...
【机器学习】
基于
逻辑
回归
,
LightGBM
,
XGBoost
额的
分类
预测一.
基于
逻辑
回归
的
分类
预测1
逻辑
回归
的介绍和应用...
赞
踩
相关标签
分类
数据挖掘
人工智能
python
sklearn
crt
机器学习
监督学习
分类算法
算法
决策树
xgboost
数据分析
集成学习
随机森林
xgboost分类模型
XGBClassifier算法
GridSearchCV
T检验卡方检验