MATLAB随机森林回归模型:

调用matlab自带的TreeBagger.m

T=textread('E:\datasets-orreview\discretized-regression\10bins\abalone10\matlab\test_abalone10.2');
X=textread('E:\datasets-orreview\discretized-regression\10bins\abalone10\matlab\train_abalone10.2');
%nTree = round(sqrt(size(X,2)-1));
nTree = 50;
train_data = X(:,1:end-1);train_label = X(:,end); test_data = T(:,1:end-1);
Factor = TreeBagger(nTree, train_data, train_label,'Method','regression');
[Predict_label,Scores] = predict(Factor, test_data);
%Predict_label=cellfun(@str2num,Predict_label(1:end));
MZE = mean(round(Predict_label) ~= T(:,end))
MAE = mean(abs(round(Predict_label) - T(:,end)))

 

调用外部函数forestTrain.m来自https://github.com/karpathy/Random-Forest-Matlab

T=textread('E:\datasets-orreview\ordinal-regression\ERA\matlab\test_ERA.1');
X=textread('E:\datasets-orreview\ordinal-regression\ERA\matlab\train_ERA.1');
opts= struct;
opts.depth= 9;
opts.numTrees= 60;
opts.numSplits= 5;
opts.verbose= true;
opts.classifierID= 2; % weak learners to use. Can be an array for mix of weak learners too
train_data = X(:,1:end-1);train_label = X(:,end); test_data = T(:,1:end-1);
tic;
m= forestTrain(train_data, train_label, opts);
timetrain= toc;
tic;
yhatTrain = forestTest(m, test_data);
timetest= toc;
MZE = mean(round(yhatTrain) ~= T(:,end))
MAE = mean(abs(round(yhatTrain) - T(:,end)))

  

MATLAB随机森林回归模型的更多相关文章

  1. 机器学习之路:python 集成回归模型 随机森林回归RandomForestRegressor 极端随机森林回归ExtraTreesRegressor GradientBoostingRegressor回归 预测波士顿房价

    python3 学习机器学习api 使用了三种集成回归模型 git: https://github.com/linyi0604/MachineLearning 代码: from sklearn.dat ...

  2. 机器学习实战基础(三十八):随机森林 (五)RandomForestRegressor 之 用随机森林回归填补缺失值

    简介 我们从现实中收集的数据,几乎不可能是完美无缺的,往往都会有一些缺失值.面对缺失值,很多人选择的方式是直接将含有缺失值的样本删除,这是一种有效的方法,但是有时候填补缺失值会比直接丢弃样本效果更好, ...

  3. pyspark RandomForestRegressor 随机森林回归

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jun 8 09:27:08 2018 ...

  4. 随机森林学习-sklearn

    随机森林的Python实现 (RandomForestClassifier) # -*- coding: utf- -*- """ RandomForestClassif ...

  5. RandomForest 随机森林算法与模型参数的调优

    公号:码农充电站pro 主页:https://codeshellme.github.io 本篇文章来介绍随机森林(RandomForest)算法. 1,集成算法之 bagging 算法 在前边的文章& ...

  6. [Python] 波士顿房价的7种模型(线性拟合、二次多项式、Ridge、Lasso、SVM、决策树、随机森林)的训练效果对比

    目录 1. 载入数据 列解释Columns: 2. 数据分析 2.1 预处理 2.2 可视化 3. 训练模型 3.1 线性拟合 3.2 多项式回归(二次) 3.3 脊回归(Ridge Regressi ...

  7. Python机器学习笔记——随机森林算法

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

  8. 随机森林random forest及python实现

    引言想通过随机森林来获取数据的主要特征 1.理论根据个体学习器的生成方式,目前的集成学习方法大致可分为两大类,即个体学习器之间存在强依赖关系,必须串行生成的序列化方法,以及个体学习器间不存在强依赖关系 ...

  9. 100天搞定机器学习|Day56 随机森林工作原理及调参实战(信用卡欺诈预测)

    本文是对100天搞定机器学习|Day33-34 随机森林的补充 前文对随机森林的概念.工作原理.使用方法做了简单介绍,并提供了分类和回归的实例. 本期我们重点讲一下: 1.集成学习.Bagging和随 ...

随机推荐

  1. zoj 2107&&hdu 1007最近点对问题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1107 Quoit Design Time Limit: 5 Seconds   ...

  2. SQL collate

    摘自:http://www.cnblogs.com/window5549-accp/archive/2009/10/03/1577682.html 我们在create table时经常会碰到这样的语句 ...

  3. .NET中的三种接口实现方式

    摘自:http://www.cnblogs.com/zhangronghua/archive/2009/11/25/1610713.html 一般来说.NET提供了三种不同的接口实现方式,分别为隐式接 ...

  4. HttpServletResponse 学习

    1: 利用Response向浏览器输出中文: private void test1(HttpServletResponse response) throws IOException { String ...

  5. HDU 1394

    单点,利用线段树解题,看到数据大小一定要敏感,说不定就是暗藏的解题思路 #include <stdio.h> #define lson l,mid,id<<1 #define ...

  6. CnPlugin 1.5.400

    本软件CnPlugin是PL/SQL Developer工具插件,支持PL/SQL Developer 7.0以上版本.增加了PL/SQL Developer工具本身所没有的一些小功能,功能基本一些已 ...

  7. hdu 2604 Queuing(dp递推)

    昨晚搞的第二道矩阵快速幂,一开始我还想直接套个矩阵上去(原谅哥模板题做多了),后来看清楚题意后觉得有点像之前做的数位dp的水题,于是就用数位dp的方法去分析,推了好一会总算推出它的递推关系式了(还是菜 ...

  8. Mysql的最佳优化经验20多条

    原文:http://blog.csdn.net/lifuxiangcaohui/article/details/6207801 今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其 ...

  9. (Clob的写入和读取-java)更新数据库报错:SQL Error: 1461, SQLState: 72000 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

    原 因:某一个字段本为varchar2(1024),但是实际要插入的值超过varchar2允许的最大长度4000时,oracle自动将该字段值转化为Long类型,然后提示插入操作失败. 解决办法: 1 ...

  10. 转:对TCP/IP网络协议的深入浅出归纳

    转自:http://blog.jobbole.com/74795/ 前段时间做了一个开发,涉及到网络编程,开发过程比较顺利,但任务完成后始终觉得有一些疑惑.主要是因为对网络协议不太熟悉,对一些概念也没 ...