给出matlab使用XGBoost的代码
时间: 2024-06-11 15:01:47 浏览: 218
使用 XGBoost 进行分类和回归,可以通过 MATLAB 接口来实现。以下是使用 MATLAB 接口使用 XGBoost 进行分类和回归的代码示例:
1. 加载数据:
```
load fisheriris
X = meas;
Y = species;
```
2. 将数据集分为训练集和测试集:
```
cv = cvpartition(Y,'HoldOut',0.2);
idx = cv.test;
X_train = X(~idx,:);
Y_train = Y(~idx,:);
X_test = X(idx,:);
Y_test = Y(idx,:);
```
3. 将数据转换为 DMatrix 格式,并设置参数:
```
dtrain = xgb.DMatrix(X_train,Y_train);
dtest = xgb.DMatrix(X_test,Y_test);
param = {'objective','multi:softmax','num_class',3};
```
4. 使用 XGBoost 训练模型并进行预测:
```
bst = xgb.train(param,dtrain,100);
[pred_train,acc_train] = xgb.predict(bst,dtrain);
[pred_test,acc_test] = xgb.predict(bst,dtest);
```
5. 输出结果:
```
fprintf('Train Accuracy: %f\n',acc_train);
fprintf('Test Accuracy: %f\n',acc_test);
```
阅读全文