matlab随机森林分类代码
时间: 2023-08-14 12:06:36 浏览: 122
下面是一个简单的 MATLAB 随机森林分类器代码示例:
```
% 导入数据集
data = readtable('data.csv');
% 随机划分数据集为训练集和测试集
cv = cvpartition(height(data),'HoldOut',0.3);
idxTrain = training(cv);
idxTest = test(cv);
% 提取特征和标签
Xtrain = table2array(data(idxTrain,1:end-1));
Ytrain = table2array(data(idxTrain,end));
Xtest = table2array(data(idxTest,1:end-1));
Ytest = table2array(data(idxTest,end));
% 训练随机森林模型
model = TreeBagger(50,Xtrain,Ytrain,'Method','classification');
% 预测测试集
Ypred = predict(model,Xtest);
% 计算分类准确率
accuracy = sum(strcmp(Ypred,Ytest))/numel(Ytest);
disp(['分类准确率为:',num2str(accuracy)]);
```
解释一下代码:
1. 首先,我们使用 `readtable` 函数导入数据集。
2. 然后,我们使用 `cvpartition` 函数将数据集随机划分为训练集和测试集。
3. 接着,我们提取特征和标签,并将它们分别存储在 `Xtrain`、`Ytrain`、`Xtest` 和 `Ytest` 变量中。
4. 接下来,我们使用 `TreeBagger` 函数训练一个随机森林模型。在这个例子中,我们使用了 50 棵决策树,采用分类方法。
5. 然后,我们使用训练好的模型对测试集进行预测。
6. 最后,我们计算分类准确率,即正确分类的样本数除以总样本数。
阅读全文