Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Main Repositories
otb
Commits
1a4bd002
Commit
1a4bd002
authored
Apr 07, 2017
by
Guillaume Pasero
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
REFAC: adapt SVMCrossValidationCostFunction to new model
parent
ab9f669c
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
22 deletions
+15
-22
Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h
...ng/Supervised/include/otbSVMCrossValidationCostFunction.h
+2
-9
Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.txx
.../Supervised/include/otbSVMCrossValidationCostFunction.txx
+13
-13
No files found.
Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h
View file @
1a4bd002
...
...
@@ -48,7 +48,7 @@ namespace otb
*
* \ingroup ClassificationFilters
*
* \ingroup OTBS
VMLearning
* \ingroup OTBS
upervised
*/
template
<
class
TModel
>
class
ITK_EXPORT
SVMCrossValidationCostFunction
...
...
@@ -78,10 +78,6 @@ public:
itkSetObjectMacro
(
Model
,
SVMModelType
);
itkGetObjectMacro
(
Model
,
SVMModelType
);
/** Set/Get the number of cross validation folders */
itkSetMacro
(
NumberOfCrossValidationFolders
,
unsigned
int
);
itkGetMacro
(
NumberOfCrossValidationFolders
,
unsigned
int
);
/** Set/Get the derivative step */
itkSetMacro
(
DerivativeStep
,
ParametersValueType
);
itkGetMacro
(
DerivativeStep
,
ParametersValueType
);
...
...
@@ -103,7 +99,7 @@ protected:
/** Update svm parameters struct according to the input parameters
*/
virtual
void
UpdateParameters
(
struct
svm_parameter
&
svm_parameters
,
const
ParametersType
&
parameters
)
const
;
void
UpdateParameters
(
const
ParametersType
&
parameters
)
const
;
private:
SVMCrossValidationCostFunction
(
const
Self
&
);
//purposely not implemented
...
...
@@ -112,9 +108,6 @@ private:
/**Pointer to the SVM model to optimize */
SVMModelPointer
m_Model
;
/** Number of cross validation folders */
unsigned
int
m_NumberOfCrossValidationFolders
;
/** Step used to compute the derivatives */
ParametersValueType
m_DerivativeStep
;
...
...
Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.txx
View file @
1a4bd002
...
...
@@ -27,7 +27,7 @@ namespace otb
{
template<class TModel>
SVMCrossValidationCostFunction<TModel>
::SVMCrossValidationCostFunction() : m_Model(),
m_NumberOfCrossValidationFolders(10),
m_DerivativeStep(0.001)
::SVMCrossValidationCostFunction() : m_Model(), m_DerivativeStep(0.001)
{}
template<class TModel>
SVMCrossValidationCostFunction<TModel>
...
...
@@ -52,9 +52,9 @@ SVMCrossValidationCostFunction<TModel>
}
// Updates vm_parameters according to current parameters
this->UpdateParameters(
m_Model->GetParameters(),
parameters);
this->UpdateParameters(parameters);
return m_Model->CrossValidation(
m_NumberOfCrossValidationFolders
);
return m_Model->CrossValidation();
}
template<class TModel>
...
...
@@ -129,31 +129,31 @@ SVMCrossValidationCostFunction<TModel>
{
case LINEAR:
// C
svm_parameters.C =
parameters[0];
m_Model->SetC(
parameters[0]
)
;
break;
case POLY:
// C, gamma and coef0
svm_parameters.C =
parameters[0];
svm_param
eter
s.g
amma
=
parameters[1];
svm_param
eter
s.c
oef0
=
parameters[2];
m_Model->SetC(
parameters[0]
)
;
m_Model->S
et
K
er
nelG
amma
(
parameters[1]
)
;
m_Model->S
et
K
er
nelC
oef0
(
parameters[2]
)
;
break;
case RBF:
// C and gamma
svm_parameters.C =
parameters[0];
svm_param
eter
s.g
amma
=
parameters[1];
m_Model->SetC(
parameters[0]
)
;
m_Model->S
et
K
er
nelG
amma
(
parameters[1]
)
;
break;
case SIGMOID:
// C, gamma and coef0
svm_parameters.C =
parameters[0];
svm_param
eter
s.g
amma
=
parameters[1];
svm_param
eter
s.c
oef0
=
parameters[2];
m_Model->SetC(
parameters[0]
)
;
m_Model->S
et
K
er
nelG
amma
(
parameters[1]
)
;
m_Model->S
et
K
er
nelC
oef0
(
parameters[2]
)
;
break;
default:
svm_parameters.C =
parameters[0];
m_Model->SetC(
parameters[0]
)
;
break;
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment