mex/standalone interface to Andy Liaw et al.'s C code (used in R package randomForest)
Added by Abhishek Jaiantilal ( [email protected] )
License: GPLv2
Version: 0.02
Added Binaries for Windows 32/64 bit
Commented out compile_windows.m, if you feel upto it, remove the comments and recompile
CLASSIFICATION BASED RANDOMFOREST
****A tutorial for matlab now in tutorial_ClassRF.m****
Ways to generate Mex's and Standalone files
rfsub.o is compiled using fortran from rfsub.f. In case cywin or a fortran
compiler is not present just copy the appropriate (depending on OS)
rfsub.o from precompiled_rfsub directory to the current directory
___STANDALONE____ (not exactly standalone but an interface via C)
An example for a C file using the twonorm dataset for classification
is shown in src/twonorm_C_wrapper.cpp
This is a standalone version that needs to set right parameters in CPP file.
Compiling in windows:
Method 1: use cygwin and make: go to current directory and run 'make twonorm -f Makefile.windows'
in cygwin command prompt. Need to have gcc/g++ and g77 (in cygwin)
installed. Also the custom makefile differs from the linux version which has -lgfortran
whereas the windows version doesn't. Will generate twonorm_test.exe
Method 2: use DevC++ (download from http://www.bloodshed.net/devcpp.html ).
Open the twonorm_C_devc.dev file which is a project file which has the sources
etc set. Just compile and run. Will generate twonorm_C_devcpp.exe
Compiling in linux:
Method 1: use linux and make: go to this directory and run 'make diabetes'
in command prompt. Need to have gcc/g++ and fortran installed. Will generate diabetes_test.
run as ./diabetes_test
___MATLAB___
generates Mex files that can be called in Matlab directly.
Compiling in windows:
Use the compile_windows.m and run in windows. It will compile and generate
appropriate mex files. Need Visual C++ or some other compiler
(VC++ express edition also works). Won't work with Matlab's inbuilt compiler (lcc)
Compiling in linux:
Use the compile_linux.m and run in windows. It will compile and generate
appropriate mex files.
Using the Mex interface:
There are 2 functions classRF_train and classRF_predict as given below.
See the sample file test_ClassRF_extensively.m
%function Y_hat = classRF_predict(X,model)
%requires 2 arguments
%X: data matrix
%model: generated via classRF_train function
%function model = classRF_train(X,Y,ntree,mtry, extra_options)
%requires 2 arguments and the rest 2 are optional
%X: data matrix
%Y: target values
%ntree (optional): number of trees (default is 500)
%mtry (default is max(floor(D/3),1) D=number of features in X)
%there are about 14 odd options for extra_options. Refer to tutorial_ClassRF.m to examine them
Version History:
v0.02 (May-15-09):Updated so that classification package now has about 95% of the total options
that the R-package gives. Woohoo. Tracing of what happening behind screen works better.
v0.01 (Mar-22-09): very basic interface for mex/standalone to Liaw et al's
randomForest Package supports only ntree and mtry changing for time being.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
1专题 精通决策树与随机森林算法通过matlab建模案例.zip (135个子文件)
qsort.c 5KB
qsort.c 5KB
qsort.c 5KB
qsort.c 5KB
Compile_Check 856B
Compile_Check 856B
Compile_Check_kcachegrind 611B
Compile_Check_kcachegrind 611B
Compile_Check_memcheck 623B
Compile_Check_memcheck 623B
reg_RF.cpp 39KB
reg_RF.cpp 39KB
classRF.cpp 33KB
classRF.cpp 33KB
mex_regressionRF_train.cpp 12KB
mex_regressionRF_train.cpp 12KB
diabetes_C_wrapper.cpp 11KB
diabetes_C_wrapper.cpp 11KB
twonorm_C_wrapper.cpp 10KB
twonorm_C_wrapper.cpp 10KB
rfutils.cpp 9KB
rfutils.cpp 9KB
classTree.cpp 9KB
classTree.cpp 9KB
mex_ClassificationRF_train.cpp 8KB
mex_ClassificationRF_train.cpp 8KB
cokus.cpp 7KB
cokus.cpp 7KB
cokus.cpp 7KB
cokus.cpp 7KB
mex_ClassificationRF_predict.cpp 5KB
mex_ClassificationRF_predict.cpp 5KB
mex_regressionRF_predict.cpp 4KB
mex_regressionRF_predict.cpp 4KB
cokus_test.cpp 1KB
cokus_test.cpp 1KB
cokus_test.cpp 1KB
cokus_test.cpp 1KB
twonorm_C_devcpp.dev 2KB
twonorm_C_devcpp.dev 2KB
diabetes_C_devc.dev 1KB
diabetes_C_devc.dev 1KB
.DS_Store 6KB
.DS_Store 6KB
rfsub.f 15KB
rfsub.f 15KB
rf.h 5KB
rf.h 5KB
reg_RF.h 560B
reg_RF.h 560B
classRF_train.m 14KB
classRF_train.m 14KB
regRF_train.m 13KB
regRF_train.m 13KB
tutorial_ClassRF.m 10KB
tutorial_ClassRF.m 10KB
tutorial_RegRF.m 9KB
tutorial_RegRF.m 9KB
main.m 3KB
main.m 3KB
classRF_predict.m 2KB
classRF_predict.m 2KB
compile_windows.m 2KB
compile_windows.m 2KB
test_RegRF_extensively.m 1KB
test_RegRF_extensively.m 1KB
compileClass_maci.m 1KB
regRF_predict.m 986B
regRF_predict.m 986B
compile_linux.m 952B
compile_linux.m 952B
compile_windows.m 915B
compile_windows.m 801B
test_ClassRF_extensively.m 604B
test_ClassRF_extensively.m 604B
compile_linux.m 557B
compile_linux.m 557B
compileRegression_maci.m 329B
Makefile 3KB
Makefile 3KB
Makefile 2KB
Makefile 2KB
diabetes.mat 259KB
diabetes.mat 259KB
data.mat 84KB
data.mat 84KB
twonorm.mat 48KB
twonorm.mat 48KB
mexClassRF_predict.mexmaci 47KB
mexClassRF_train.mexmaci 47KB
mexRF_train.mexmaci 30KB
mexRF_predict.mexmaci 30KB
mexClassRF_predict.mexmaci64 52KB
mexClassRF_train.mexmaci64 52KB
mexRF_train.mexmaci64 27KB
mexRF_predict.mexmaci64 26KB
mexClassRF_train.mexw32 32KB
mexRF_train.mexw32 25KB
mexClassRF_predict.mexw32 21KB
mexRF_predict.mexw32 11KB
共 135 条
- 1
- 2
资源评论
JGiser
- 粉丝: 7512
- 资源: 5112
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功