ajay154 / randomforest-matlab

Automatically exported from code.google.com/p/randomforest-matlab
0 stars 0 forks source link

matlab2009a errors #3

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1.when I run "tutorial_ClassRF.m" in matlab2009a,I got these errors:
Random
Forest\nversion\Windows-Precompiled-RF_MexStandalone-v0.02-
\RF_MexStandalone-v0.02-precompiled\randomforest-
matlab\RF_Class_C\mexClassRF_train.mexw32':
由于应用程序配置不正确,应用程序未能启动。重新安装应��
�程序可能会纠正这个问题。.

Error in ==> classRF_train at 347    
[nrnodes,ntree,xbestsplit,classwt,cutoff,treemap,nodestatus,nodeclass,bestv
ar,ndbigtree,mtry    ...

Error in ==> tutorial_ClassRF at 39
    model = classRF_train(X_trn,Y_trn);

How can I do it ???

Original issue reported on code.google.com by crazy...@126.com on 25 Feb 2010 at 2:27

GoogleCodeExporter commented 8 years ago
hello, thanks for sending the bug report

Though i cannot read what the error message is.

it will be great if you can post what arguments you were passing, so i can 
setup a 
dummy test. 

like, argument1: size NxD and type, you can get that via whos('argument1')

You can also put in a debug point at line 347 or classRF_Train.m and see if all 
of 
these variables are defined at that point. 
X',int32(Y_new),length(unique(Y)),ntree,mtry,int32(ncat),                       

int32(maxcat), int32(sampsize), strata, Options, int32(ipi),                    

classwt, cutoff, int32(nodesize),int32(nsum), int32(n_size), int32(p_size), 
int32(nsample)

if either one of them is non-existent, it will explain the error message.

Original comment by abhirana on 25 Feb 2010 at 5:27

GoogleCodeExporter commented 8 years ago
Sorry i realized that this is happening with the tutorial file so i already 
know what 
parameters are being passed in.

please disregard my earlier comment.

can you tell me the exact error message? all i can see are squares :(

also have you verified that the VC++ redistributable 2005 and 2008 are 
installed?

Original comment by abhirana on 25 Feb 2010 at 6:01

GoogleCodeExporter commented 8 years ago
Thanks for your reply.
I installed vc++ rdistributable 2005(Simple Chinese) on my computer.and when I 
run 
your "tutorial_ClassRF.m", these are all error message show my computer:
As this package has precompiled mex files ignore this file i.e. 
compile_windows.m
    Setting to defaults 500 trees and mtry=4
??? Undefined function or method 'mexClassRF_train' for input arguments of 
type 'int32'.
Error in ==> classRF_train at 347    
[nrnodes,ntree,xbestsplit,classwt,cutoff,treemap,nodestatus,nodeclass,bestvar,nd
bigtr
ee,mtry ...
Error in ==> tutorial_ClassRF at 39
    model = classRF_train(X_trn,Y_trn);

And I have another question.Did this program could classify data file like this?
0,tcp,ftp_data,SF,491,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0.00,0.00,0.00,0.00,
1.00,
0.00,0.00,150,25,0.17,0.03,0.17,0.00,0.00,0.00,0.05,0.00,normal
0,udp,other,SF,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,1,0.00,0.00,0.00,0.00,0.
08,0.
15,0.00,255,1,0.00,0.60,0.88,0.00,0.00,0.00,0.00,0.00,normal
0,tcp,private,S0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,6,1.00,1.00,0.00,0.00,0
.05,0
.07,0.00,255,26,0.10,0.05,0.00,0.00,1.00,1.00,0.00,0.00,anomaly
0,tcp,http,SF,232,8153,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,5,5,0.20,0.20,0.00,0.00,1
.00,0
.00,0.00,30,255,1.00,0.00,0.03,0.04,0.03,0.01,0.00,0.01,normal
0,tcp,http,SF,199,420,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,30,32,0.00,0.00,0.00,0.00,
1.00,
0.00,0.09,255,255,1.00,0.00,0.00,0.00,0.00,0.00,0.00,0.00,normal
0,tcp,private,REJ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,121,19,0.00,0.00,1.00,1.00
,0.16
,0.06,0.00,255,19,0.07,0.07,0.00,0.00,0.00,0.00,1.00,1.00,anomaly
0,tcp,private,S0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,166,9,1.00,1.00,0.00,0.00,0
.05,0
.06,0.00,255,9,0.04,0.05,0.00,0.00,1.00,1.00,0.00,0.00,anomaly

Original comment by crazy...@126.com on 26 Feb 2010 at 7:14

GoogleCodeExporter commented 8 years ago
And, These messages show my computer after I ran "mex -setup" in My 
Matlab(2009a):
>> mex -setup
Please choose your compiler for building external interface (MEX) files: 

Would you like mex to locate installed compilers [y]/n? n

Select a compiler: 
[1] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker) 
[2] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker) 
[3] Intel Visual Fortran 9.1 (with Microsoft Visual C++ 2005 SP1 linker) 
[4] Lcc-win32 C 2.4.1 
[5] Microsoft Visual C++ 6.0 
[6] Microsoft Visual C++ .NET 2003 
[7] Microsoft Visual C++ 2005 SP1 
[8] Microsoft Visual C++ 2008 Express 
[9] Microsoft Visual C++ 2008 SP1 
[10] Open WATCOM C++ 

[0] None 

Compiler: 7

Your machine has a Microsoft Visual C++ 2005 SP1 compiler located at 
E:\Microsoft Visual Studio 8. Do you want to use this compiler [y]/n? y

Please verify your choices: 

Compiler: Microsoft Visual C++ 2005 SP1  
Location: E:\Microsoft Visual Studio 8 

Are these correct [y]/n? y

Trying to update options file: D:\Documents and Settings\Application 
Data\MathWorks\MATLAB\R2009a\mexopts.bat From template:              
E:\MATLAB\R2009a\bin\win32\mexopts\msvc80opts.bat 

Done . . . 

************************************************************************** 
  Warning: The MATLAB C and Fortran API has changed to support MATLAB 
           variables with more than 2^32-1 elements.  In the near future 
           you will be required to update your code to utilize the new 
           API. You can find more information about this at: 
           http://www.mathworks.com/support/solutions/data/1-5C27B9.html?solution=1-
5C27B9 
           Building with the -largeArrayDims option enables the new API. 
************************************************************************** 

>>  

Original comment by crazy...@126.com on 26 Feb 2010 at 7:18

GoogleCodeExporter commented 8 years ago
About comment 3. You should be able to run that on your data. RF will support 
both 
categorical and real valued data. Categorical meaning that the variable takes 
only 
few values like in your case tcp, udp things like that and real meaning all 
real 
values -inf to +inf. You might have to convert tcp and udp into fixed numbers 
like 
tcp=1, udp=2 and so on. I'll put in a tutorial code on how to use categorical 
here 
soon.

About comment 3 error, can you make sure that everything of the package (folder 
and 
subfolder) are included in the path. mexClassRF_train is a mex32/mex64 file 
that 
comes with the download so it should be there, unless you moved the 
tutorial_classRF.m to some other place.

About comment 4. i know that number 8 (i.e. visual c++ 2008 express) works. 
once this 
is done just run the compile_windows.m file and it will generate the mex files 
mexClassRF_train/predict.mex32 or mex64 (for 64-bit os) that you can see inside 
RF_Class_C folder. Those are the ones that will be needed for the package to run

do tell me if you still encounter problems

Original comment by abhirana on 26 Feb 2010 at 7:32

GoogleCodeExporter commented 8 years ago
About comment 3 error,I use the Matlab menu "Set path" to include the package 
in the 
path.Here I upload my screen picture to you.You can find everything in the 
Matlab 
Current Dictionary.But the error always exist.If I install vs c++ 2008,did this 
error
could dismiss? and could you tell me how to config the mex32.

Original comment by crazy...@126.com on 26 Feb 2010 at 11:55

Attachments:

GoogleCodeExporter commented 8 years ago
ok try installing the vc 2008 redistributable ( i think u just have the 2005 
one) 
too. Someone mentioned that installing this fixed it

Microsoft visual C++ 2008 redistributable

32-bit: 
http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-
8A4D-074B9F2BC1BF&displaylang=en

Original comment by abhirana on 26 Feb 2010 at 12:03

GoogleCodeExporter commented 8 years ago
Thanks for your help!I got it after I installing vc 2008 redistributable.All 
program
running good.

Original comment by crazy...@126.com on 26 Feb 2010 at 12:51

GoogleCodeExporter commented 8 years ago

Original comment by abhirana on 2 Mar 2010 at 4:44