Week 1 (May 27 - June 2) Progress
Week 1 (May 27 - June 2) Progress
Implemented the constructor of the ClassificationSVM
and added the predict
method to the classdef
.
This week, I started my work by creating the necessary files (ClassificationSVM
, ClassificationNeuralNetwork
, fitcsvm
, fitcnet
) and placing them in the appropriate folders.
Note: I have added ClassificationNeuralNetwork
and fitcnet
to my fork, but not much work has been done on them yet. According to the timeline, I will be focusing on these files at the end of July and August.
I wrote the help documentation for ClassificationSVM
and fitcsvm
in Texinfo, within their respective files.
- The
fitcsvm
Texinfo contains help related to the expected inputs from the user. - The
ClassificationSVM
Texinfo contains help related to the returned object properties.
I studied the svmtrain
and svmpredict
functions from LIBSVM for Octave. I will be using them for the background algorithm.
I was implementing the following tasks in the classdef
:
- Taking the inputs and performing validation tests on them.
- Converting the inputs to a form that can be fed into the
svmtrain
function.
I encountered a problem with the second step, as svmtrain
was returning a scalar instead of a structure, resulting in an indexing error. I spent a day trying to debug this but did not find a solution. I asked for help on the forum, and Dasergatskov helped me.
This Tuesday, I had a meeting with Andreas, and we discussed the project's progress. Some key points from that meeting:
- The current SVM-related functions are from LIBSVM 3.25, but the latest available version is 3.32. We will look into upgrading if we have enough time after finishing the main tasks. Since version 3.32 is very similar to 3.25, it won't affect the
classdef
code and should not be our main focus for now. - Emphasis on using the forum and providing regular updates on the blog.
I have added demos and tests for both the constructor and the predict function in the classdef
. However, I am facing an issue with the svmtrain
function: whenever it is called, it prints the cross-validation accuracy. I want to suppress this output. I tried using evalc()
, but it didn't solve the problem. You can see the problem by running the command test ClassificationSVM
, which prints the accuracy repeatedly for each test.
Comments
Post a Comment