用matlab写一个决策树代码
时间: 2024-12-15 07:13:44 浏览: 12
在MATLAB中,可以使用`fitctree`函数来创建决策树模型。以下是一个简单的示例,演示如何构建、训练并预测一个决策树:
```Matlab
% 导入所需库
addpath('statistics.toolbox'); % 确保路径包含Statistics and Machine Learning Toolbox
% 假设我们有数据集(如鸢尾花数据)
load fisheriris; % 加载内置的鸢尾花数据集
% 数据预处理
data = meas; % 只取特征变量
target = species; % 取目标变量
categoricalFeatures = []; % 如果有些特征是非数值的,需要在这里指定
% 划分数据集(这里假设50%用于训练,50%用于测试)
cv = cvpartition(size(data,1),'HoldOut',0.5); % 创建交叉验证对象
idxTrain = training(cv); % 训练样本索引
idxTest = test(cv); % 测试样本索引
trainingData = data(idxTrain,:);
testingData = data(idxTest,:);
trainingLabels = target(idxTrain);
testingLabels = target(idxTest);
% 创建决策树模型
treeModel = fitctree(trainingData, trainingLabels, 'CategoricalPredictors', categoricalFeatures);
% 预测
predictions = predict(treeModel, testingData);
% 查看模型信息
disp(treeModel)
% 性能评估
confusionMatrix = confusionmat(testingLabels, predictions);
accuracy = sum(diag(confusionMatrix))/sum(confusionMatrix(:));
disp(['Accuracy: ', num2str(accuracy)])
%
阅读全文