Closed GoogleCodeExporter closed 9 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
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
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
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
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
Original issue reported on code.google.com by
crazy...@126.com
on 25 Feb 2010 at 2:27