决策树matlab算法
时间: 2023-12-29 11:26:12 浏览: 87
决策树算法是一种常用的机器学习算法,用于分类和回归问题。在MATLAB中,可以使用不同的方法来实现决策树算法。
以下是一种基于信息增益和基尼指数的决策树算法的MATLAB实现示例:
```matlab
% 导入数据集
load watermelon.mat
% 划分训练集和测试集
train_data = data(1:16, :);
test_data = data(17:end, :);
% 构建决策树
tree = fitctree(train_data(:, 1:end-1), train_data(:, end), 'SplitCriterion', 'gdi');
% 绘制决策树
view(tree, 'Mode', 'graph');
% 对测试集进行预测
predictions = predict(tree, test_data(:, 1:end-1));
% 显示预测结果
disp('预测结果:');
disp(predictions);
% 计算准确率
accuracy = sum(predictions == test_data(:, end)) / numel(test_data(:, end));
disp(['准确率:', num2str(accuracy)]);
```
这段代码首先导入了数据集,然后将数据集划分为训练集和测试集。接下来,使用`fitctree`函数构建决策树模型,其中`SplitCriterion`参数可以选择使用信息增益('gdi')或基尼指数('gini')作为划分准则。然后,使用`view`函数绘制生成的决策树。最后,使用`predict`函数对测试集进行预测,并计算准确率。
阅读全文