• 大小: 414KB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2021-06-17
  • 语言: C/C++
  • 标签:

资源简介

matlab 实现的随机森林,核心代码用C语言实现,是微软大牛的手笔,里面有分类也有回归,学术或者实用都很好

资源截图

代码片段和文件信息

%**************************************************************
%* mex interface to Andy Liaw et al.‘s C code (used in R package randomForest)
%* Added by Abhishek Jaiantilal ( abhishek.jaiantilal@colorado.edu )
%* License: GPLv2
%* Version: 0.02
%
% Calls Classification Random Forest
% A wrapper matlab file that calls the mex file
% This does prediction given the data and the model file
% Options depicted in predict function in http://cran.r-project.org/web/packages/randomForest/randomForest.pdf
%**************************************************************
%function [Y_hat votes] = classRF_predict(Xmodel extra_options)
% requires 2 arguments
% X: data matrix
% model: generated via classRF_train function
% extra_options.predict_all = predict_all if set will send all the prediction. 
%
%
% Returns
% Y_hat - prediction for the data
% votes - unnormalized weights for the model
% prediction_per_tree - per tree prediction. the returned object .
%           If predict.all=TRUE then the individual component of the returned object is a character
%           matrix where each column contains the predicted class by a tree in the forest.
%
%
% Not yet implemented
% proximity

function [Y_new votes prediction_per_tree] = classRF_predict(Xmodel extra_options)
    
    if nargin<2
error(‘need atleast 2 parametersX matrix and model‘);
    end
    
    if exist(‘extra_options‘‘var‘)
        if isfield(extra_options‘predict_all‘) 
            predict_all = extra_options.predict_all;
        end
    end
    
    if ~exist(‘predict_all‘‘var‘); predict_all=0;end
            
        
    
[Y_hatprediction_per_treevotes] = mexClassRF_predict(X‘model.nrnodesmodel.ntreemodel.xbestsplitmodel.classwtmodel.cutoffmodel.treemapmodel.nodestatusmodel.nodeclassmodel.bestvarmodel.ndbigtreemodel.nclass predict_all);
%keyboard
    votes = votes‘;
    
    clear mexClassRF_predict
    
    Y_new = double(Y_hat);
    new_labels = model.new_labels;
    orig_labels = model.orig_labels;
    
    for i=1:length(orig_labels)
        Y_new(find(Y_hat==new_labels(i)))=Inf;
        Y_new(isinf(Y_new))=orig_labels(i);
    end
    
    1;
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-07-31 08:24  randomforest-matlab\
     目录           0  2017-07-31 10:21  randomforest-matlab\RF_Class_C\
     文件        2166  2009-05-17 03:11  randomforest-matlab\RF_Class_C\classRF_predict.m
     文件       14829  2009-05-17 03:11  randomforest-matlab\RF_Class_C\classRF_train.m
     文件         856  2009-04-25 20:39  randomforest-matlab\RF_Class_C\Compile_Check
     文件        1718  2010-02-06 16:44  randomforest-matlab\RF_Class_C\compile_windows.m
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\data\
     文件       48856  2009-04-25 20:39  randomforest-matlab\RF_Class_C\data\twonorm.mat
     文件       96300  2009-04-25 20:39  randomforest-matlab\RF_Class_C\data\X_twonorm.txt
     文件         600  2009-04-25 20:39  randomforest-matlab\RF_Class_C\data\Y_twonorm.txt
     文件        2693  2009-05-17 03:11  randomforest-matlab\RF_Class_C\Makefile
     文件        2523  2009-05-17 03:11  randomforest-matlab\RF_Class_C\Makefile.windows
     文件       26624  2010-02-06 16:44  randomforest-matlab\RF_Class_C\mexClassRF_predict.mexw64
     文件       46080  2010-02-06 16:44  randomforest-matlab\RF_Class_C\mexClassRF_train.mexw64
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\precompiled_rfsub\
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\precompiled_rfsub\linux64\
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\precompiled_rfsub\win32\
     文件        6848  2009-04-25 21:39  randomforest-matlab\RF_Class_C\precompiled_rfsub\win32\rfsub.o
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\precompiled_rfsub\win64\
     文件        9840  2009-04-25 20:39  randomforest-matlab\RF_Class_C\precompiled_rfsub\win64\rfsub.o
     文件        3255  2010-02-06 17:05  randomforest-matlab\RF_Class_C\README.txt
     文件        9840  2009-04-25 20:39  randomforest-matlab\RF_Class_C\rfsub.o
     目录           0  2017-07-31 08:24  randomforest-matlab\RF_Class_C\src\
     文件       33889  2009-05-17 03:11  randomforest-matlab\RF_Class_C\src\classRF.cpp
     文件        8947  2009-05-17 03:11  randomforest-matlab\RF_Class_C\src\classTree.cpp
     文件        7678  2009-04-25 20:39  randomforest-matlab\RF_Class_C\src\cokus.cpp
     文件        1189  2009-04-25 20:39  randomforest-matlab\RF_Class_C\src\cokus_test.cpp
     文件        5225  2009-05-17 03:11  randomforest-matlab\RF_Class_C\src\mex_ClassificationRF_predict.cpp
     文件        8545  2009-05-17 03:11  randomforest-matlab\RF_Class_C\src\mex_ClassificationRF_train.cpp
     文件        4676  2009-04-25 20:39  randomforest-matlab\RF_Class_C\src\qsort.c
     文件        5186  2009-05-17 03:11  randomforest-matlab\RF_Class_C\src\rf.h
............此处省略39个文件信息

评论

共有 条评论

相关资源