SHOGUN
v3.0.0
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
src
shogun
converter
MultidimensionalScaling.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or modify
3
* it under the terms of the GNU General Public License as published by
4
* the Free Software Foundation; either version 3 of the License, or
5
* (at your option) any later version.
6
*
7
* Written (W) 2011-2013 Sergey Lisitsyn
8
* Copyright (C) 2011-2013 Berlin Institute of Technology and Max-Planck-Society
9
*/
10
11
#ifndef MULTIDIMENSIONALSCALING_H_
12
#define MULTIDIMENSIONALSCALING_H_
13
#include <
shogun/lib/config.h
>
14
#ifdef HAVE_EIGEN3
15
#include <
shogun/converter/EmbeddingConverter.h
>
16
#include <
shogun/features/Features.h
>
17
#include <
shogun/distance/Distance.h
>
18
19
namespace
shogun
20
{
21
22
class
CFeatures;
23
class
CDistance;
24
61
class
CMultidimensionalScaling
:
public
CEmbeddingConverter
62
{
63
public
:
64
65
/* constructor */
66
CMultidimensionalScaling
();
67
68
/* destructor */
69
virtual
~CMultidimensionalScaling
();
70
75
virtual
CDenseFeatures<float64_t>
*
embed_distance
(
CDistance
*
distance
);
76
82
virtual
CFeatures
*
apply
(
CFeatures
* features);
83
85
const
char
*
get_name
()
const
;
86
90
SGVector<float64_t>
get_eigenvalues
()
const
;
91
97
void
set_landmark_number
(int32_t num);
98
102
int32_t
get_landmark_number
()
const
;
103
107
void
set_landmark
(
bool
landmark);
108
112
bool
get_landmark
()
const
;
113
115
protected
:
116
118
virtual
void
init
();
119
121
protected
:
122
124
SGVector<float64_t>
m_eigenvalues
;
125
127
bool
m_landmark
;
128
130
int32_t
m_landmark_number
;
131
132
};
133
134
}
135
#endif
/* HAVE_EIGEN3 */
136
#endif
/* MULTIDIMENSIONALSCALING_H_ */
SHOGUN
Machine Learning Toolbox - Documentation