能否提供一个用MATLAB编写的简单决策树算法的示例代码?
时间: 2024-09-07 19:05:37 浏览: 39
决策树算法算法matlab代码-bdol-ml:各种清洁机器学习示例的集中式存储库
当然可以。下面是一个简单的MATLAB决策树示例代码,使用`fitctree`函数并可视化结果:
```matlab
% 加载样本数据,这里假设我们有一个关于学生的数据集
load fisheriris; % 包含鸢尾花数据
% 数据准备,将数据分为特征和目标变量
meas = meas; % 这里假设特征数据在'meas'列
species = species'; % 'species'列为目标变量,转置是为了适应fitctree函数
% 划分训练集和测试集(这里直接用整个数据)
cv = cvpartition(species, 'HoldOut', 0.7); % 70%作为训练集
idxTrain = training(cv);
idxTest = test(cv);
% 使用训练集拟合决策树
tree = fitctree(meas(idxTrain,:), species(idxTrain));
% 打印决策树信息
disp(tree)
% 绘制决策树
view(tree)
% 测试模型在测试集上的性能
yPred = predict(tree, meas(idxTest,:));
accuracy = sum(yPred == species(idxTest)) / numel(species(idxTest))
```
在这个例子中,我们首先加载了鸢尾花数据集,然后划分成训练集和测试集,接着用训练集拟合决策树,最后预测测试集的结果,并计算准确率。
阅读全文