随机森林工具包(修改版):
https://download.csdn.net/download/weixin_37928884/87230131

决策树与随机森林代码以及数据:
https://download.csdn.net/download/weixin_37928884/87240307

第一列是序号 第二列是良性还是恶性(乳腺癌) 后面是特征属性30个

%% I. 清空环境变量
clear all
clc
warning off%% II. 导入数据
data=xlsread('data_.CSV','data_','A2:AF570');
%%
% 1. 随机产生训练集/测试集
a = randperm(569);
Train = data(a(1:500),:);
Test = data(a(501:end),:);%%
% 2. 训练数据
P_train = Train(:,3:end);
T_train = Train(:,2);%%
% 3. 测试数据
P_test = Test(:,3:end);
T_test = Test(:,2);%% III. 创建随机森林分类器
model = classRF_train(P_train,T_train);%% IV. 仿真测试
[T_sim,votes] = classRF_predict(P_test,model);%% V. 结果分析
count_B = length(find(T_train == 1));
count_M = length(find(T_train == 2));
total_B = length(find(data(:,2) == 1));
total_M = length(find(data(:,2) == 2));
number_B = length(find(T_test == 1));
number_M = length(find(T_test == 2));
number_B_sim = length(find(T_sim == 1 & T_test == 1));
number_M_sim = length(find(T_sim == 2 & T_test == 2));
disp(['病例总数:' num2str(569)...'  良性:' num2str(total_B)...'  恶性:' num2str(total_M)]);
disp(['训练集病例总数:' num2str(500)...'  良性:' num2str(count_B)...'  恶性:' num2str(count_M)]);
disp(['测试集病例总数:' num2str(69)...'  良性:' num2str(number_B)...'  恶性:' num2str(number_M)]);
disp(['良性乳腺肿瘤确诊:' num2str(number_B_sim)...'  误诊:' num2str(number_B - number_B_sim)...'  确诊率p1=' num2str(number_B_sim/number_B*100) '%']);
disp(['恶性乳腺肿瘤确诊:' num2str(number_M_sim)...'  误诊:' num2str(number_M - number_M_sim)...'  确诊率p2=' num2str(number_M_sim/number_M*100) '%']);%% VI. 绘图
figureindex = find(T_sim ~= T_test);
plot(votes(index,1),votes(index,2),'r*')
hold onindex = find(T_sim == T_test);
plot(votes(index,1),votes(index,2),'bo')
hold onlegend('错误分类样本','正确分类样本')plot(0:500,500:-1:0,'r-.')
hold onplot(0:500,0:500,'r-.')
hold online([100 400 400 100 100],[100 100 400 400 100])xlabel('输出为类别1的决策树棵数')
ylabel('输出为类别2的决策树棵数')
title('随机森林分类器性能分析')%% VII. 随机森林中决策树棵数对性能的影响
Accuracy = zeros(1,20);
for i = 50:50:1000       %模拟从50棵树到1000棵树的一个结果,每次增加50棵    i%每种情况,运行100次,取平均值accuracy = zeros(1,100);for k = 1:100% 创建随机森林model = classRF_train(P_train,T_train,i);% 仿真测试T_sim = classRF_predict(P_test,model);accuracy(k) = length(find(T_sim == T_test)) / length(T_test);endAccuracy(i/50) = mean(accuracy);
end% 1. 绘图
figure
plot(50:50:1000,Accuracy)
xlabel('随机森林中决策树棵数')
ylabel('分类正确率')
title('随机森林中决策树棵数对性能的影响')

随机森林分类预测(多棵树)相关推荐

  1. python画树林_如何用Scikit-learn可视化随机森林中的一棵树

    废话不多说,先贴代码from sklearn.datasets import load_iris iris = load_iris() # Model (can also use single dec ...

  2. 使用基于Apache Spark的随机森林方法预测贷款风险

    原文:Predicting Loan Credit Risk using Apache Spark Machine Learning Random Forests  作者:Carol McDonald ...

  3. 随机森林实例:利用基于CART算法的随机森林(Random Forest)树分类方法对于红酒质量进行预测

    随机森林实例:利用基于CART算法的随机森林(Random Forest)树分类方法对于红酒质量进行预测 1.引言 2.理论基础 2.1 什么是决策树 2.2 特征选择的算法 2.2.1 ID3:基于 ...

  4. 数学建模_随机森林分类模型详解Python代码

    数学建模_随机森林分类模型详解Python代码 随机森林需要调整的参数有: (1) 决策树的个数 (2) 特征属性的个数 (3) 递归次数(即决策树的深度)''' from numpy import ...

  5. python 随机森林分类 DecisionTreeClassifier 随机搜索优化参数 GridSearchCV

    @python 随机森林分类模型 随机优化参数 学习笔记 随机森林 1.随机森林模型 随机森林算法是基于决策树算法的Begging优化版本,通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策 ...

  6. 随机森林分类算法python代码_Python机器学习笔记:随机森林算法

    随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为&q ...

  7. Python信贷风控模型:Adaboost,XGBoost,SGD, SVC,随机森林, KNN预测信贷违约支付

    全文链接:http://tecdat.cn/?p=26184 在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何变化?( ...

  8. 随机森林分类算法python代码_独家 | 一文读懂随机森林的解释和实现(附python代码)...

    作者:William Koehrsen 翻译:和中华 校对:李润嘉 本文约6000字,建议阅读15分钟. 本文从单棵决策树讲起,然后逐步解释了随机森林的工作原理,并使用sklearn中的随机森林对某个 ...

  9. Python 随机森林分类

    Python 随机森林分类 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理. 2 决策树分类简介 相关概念见下: 决策树的最大问题是 ...

最新文章

  1. 如何使用华为云的计算资源进行深度学习(ModelArts)
  2. 干净架构在 Web 服务开发中的实践
  3. 团队软件开发第一次冲刺(四)
  4. ssh suse 配置_SUSE+linux+配置节点间的SSH信任关系
  5. vue组件间的5种传值方式
  6. C语言预定义宏 __func__、__FUNCTION__、__LINE__、__FILE__、__DATE__、__TIME__
  7. python一节课多久_第一节课 python简介
  8. @data注解不生效_你说啥什么?注解你还不会?
  9. Java的异常跟踪栈
  10. 3.FreeRTOS学习笔记-任务
  11. 分享精心收藏的前台开发素材网站,都是干货
  12. fastdfs集群搭建_领课教育开源系统-FastDFS的安装和使用
  13. ios控件 UIViewController
  14. .net微信公众平台源码,微信营销平台源码(微网站,微商城,微营销,微会员)
  15. Pr 音频效果参考:混响
  16. Codeforces Problem-1591B Array Eversion
  17. drcom for linux,Drcom for Ubuntu上网解决经验
  18. 网址导航哪个好(最好的导航网站)
  19. 1083. Windy数
  20. 2016.7.14 如何在浏览器中查看jsp文件

热门文章

  1. Android游戏预约榜,最强游戏手机预定?ROG新机曝光,全面超越安卓跑分性能榜...
  2. 我奔走于深圳与广州两城,只为一个更可期翼的未来
  3. 引用拷贝,浅拷贝,深拷贝之间的区别以及如何实现
  4. 微信小程序审核,隐私协议中开发者处理信息填写的内容参考
  5. ​LeetCode刷题实战70:爬楼梯
  6. [附源码]Python计算机毕业设计SSM基于的英语学习网站的设计与实现(程序+LW)
  7. android scrollview 动画,Android ScrollView实现下拉弹回动画效果
  8. 【Android音视频开发】【020】音视频同步原理
  9. Web前端学习记录(十五)
  10. 水湄物语:创业教给我的最重要的三件事