Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
do apply() renames in typemaps + misc fixes in labels
  • Loading branch information
Soeren Sonnenburg committed May 21, 2012
1 parent 8f5bf6e commit 39bb66e
Show file tree
Hide file tree
Showing 9 changed files with 74 additions and 6 deletions.
55 changes: 55 additions & 0 deletions src/interfaces/modular/Machine.i
@@ -0,0 +1,55 @@
/*%warnfilter(302) apply;
%warnfilter(302) apply_generic;*/
%rename(apply_generic) apply(CFeatures*);

namespace shogun {
%extend CMulticlassMachine
{
CMulticlassLabels* apply(CFeatures* data=NULL)
{
return CMulticlassLabels::obtain_from_generic($self->apply_multiclass(data));
}
}

%extend CKernelMulticlassMachine
{
CMulticlassLabels* apply(CFeatures* data=NULL)
{
return CMulticlassLabels::obtain_from_generic($self->apply_multiclass(data));
}
}

/*%extend COnlineLinearMachine
{
CRealLabels* apply(CFeatures* data=NULL)
{
return CRealLabels::obtain_from_generic($self->apply_binary(data));
}
}*/

%extend CLinearMachine
{
CRealLabels* apply(CFeatures* data=NULL)
{
return CRealLabels::obtain_from_generic($self->apply_regression(data));
}
}

%extend CKernelMachine
{
CRealLabels* apply(CFeatures* data=NULL)
{
return CRealLabels::obtain_from_generic($self->apply_regression(data));
}
}

%extend CDistanceMachine
{
CMulticlassLabels* apply(CFeatures* data=NULL)
{
return CMulticlassLabels::obtain_from_generic($self->apply_multiclass(data));
}
}
}


1 change: 1 addition & 0 deletions src/interfaces/modular/modshogun.i
Expand Up @@ -61,6 +61,7 @@
%include "Multiclass_includes.i"
%include "Transfer_includes.i"

%include "Machine.i"
%include "SGBase.i"
%include "IO.i"
%include "Library.i"
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/BinaryLabels.cpp
Expand Up @@ -32,7 +32,7 @@ CBinaryLabels* CBinaryLabels::obtain_from_generic(CLabels* base_labels)
if ( base_labels->get_label_type() == LT_BINARY )
return (CBinaryLabels*) base_labels;
else
SG_ERROR("base_labels must be of dynamic type CBinaryLabels");
SG_SERROR("base_labels must be of dynamic type CBinaryLabels");

return NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/BinaryLabels.h
Expand Up @@ -55,7 +55,7 @@ class CBinaryLabels : public CDenseLabels
*
* @param base_labels its dynamic type must be CBinaryLabels
*/
CBinaryLabels* obtain_from_generic(CLabels* base_labels);
static CBinaryLabels* obtain_from_generic(CLabels* base_labels);

/** is_valid checks if labeling is a two-class labeling
*
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/MulticlassLabels.cpp
Expand Up @@ -26,7 +26,7 @@ CMulticlassLabels* CMulticlassLabels::obtain_from_generic(CLabels* base_labels)
if ( base_labels->get_label_type() == LT_MULTICLASS )
return (CMulticlassLabels*) base_labels;
else
SG_ERROR("base_labels must be of dynamic type CMulticlassLabels");
SG_SERROR("base_labels must be of dynamic type CMulticlassLabels");

return NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/MulticlassLabels.h
Expand Up @@ -58,7 +58,7 @@ class CMulticlassLabels : public CDenseLabels
*
* @param base_labels its dynamic type must be CMulticlassLabels
*/
CMulticlassLabels* obtain_from_generic(CLabels* base_labels);
static CMulticlassLabels* obtain_from_generic(CLabels* base_labels);

/** is_valid checks if labeling is a multi-class labeling
*
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/RealLabels.cpp
Expand Up @@ -25,7 +25,7 @@ CRealLabels* CRealLabels::obtain_from_generic(CLabels* base_labels)
if ( base_labels->get_label_type() == LT_REAL )
return (CRealLabels*) base_labels;
else
SG_ERROR("base_labels must be of dynamic type CRealLabels");
SG_SERROR("base_labels must be of dynamic type CRealLabels");

return NULL;
}
Expand Down
2 changes: 1 addition & 1 deletion src/shogun/labels/RealLabels.h
Expand Up @@ -59,7 +59,7 @@ class CRealLabels : public CDenseLabels
*
* @param base_labels its dynamic type must be CRealLabels
*/
CRealLabels* obtain_from_generic(CLabels* base_labels);
static CRealLabels* obtain_from_generic(CLabels* base_labels);

/** is_valid checks if labeling is a multi-class labeling
*
Expand Down
12 changes: 12 additions & 0 deletions src/shogun/machine/DistanceMachine.h
Expand Up @@ -84,6 +84,18 @@ class CDistanceMachine : public CMachine
*/
virtual const char* get_name() const { return "DistanceMachine"; }

/** Classify all provided features.
* Cluster index with smallest distance to to be classified element is
* returned
*
* @param data (test)data to be classified
* @return classified labels
*/
virtual CLabels* apply(CFeatures* data=NULL)
{
return apply_multiclass(data);
}

/** Classify all provided features.
* Cluster index with smallest distance to to be classified element is
* returned
Expand Down

0 comments on commit 39bb66e

Please sign in to comment.