SHOGUN
3.2.1
首页
相关页面
模块
类
文件
文件列表
文件成员
全部
类
命名空间
文件
函数
变量
类型定义
枚举
枚举值
友元
宏定义
组
页
src
shogun
features
SubsetStack.h
浏览该文件的文档.
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) 2012 Heiko Strathmann
8
*/
9
10
#ifndef __SUBSETSTACK_H_
11
#define __SUBSETSTACK_H_
12
13
#include <
shogun/base/SGObject.h
>
14
#include <
shogun/mathematics/Math.h
>
15
#include <
shogun/lib/DynamicObjectArray.h
>
16
#include <
shogun/features/Subset.h
>
17
18
19
namespace
shogun
20
{
21
35
class
CSubsetStack
:
public
CSGObject
36
{
37
public
:
40
CSubsetStack
();
41
44
CSubsetStack
(
const
CSubsetStack
& other);
45
47
virtual
~CSubsetStack
();
48
50
inline
const
char
*
get_name
()
const
{
return
"SubsetStack"
; }
51
55
virtual
void
add_subset
(
SGVector<index_t>
subset);
56
58
virtual
void
remove_subset
();
59
61
virtual
void
remove_all_subsets
();
62
64
inline
index_t
get_size
()
const
65
{
66
if
(!
has_subsets
())
67
SG_WARNING
(
"CSubsetStack::get_size(): No subset in stack!\n"
)
68
69
return
has_subsets
() ? m_active_subset->
get_size
() : -1;
70
}
71
73
virtual
bool
has_subsets
()
const
74
{
75
return
m_active_subsets_stack->
get_num_elements
();
76
}
77
82
CSubset
*
get_last_subset
()
const
{
return
m_active_subset; }
83
89
inline
index_t
subset_idx_conversion
(
index_t
idx)
const
90
{
91
return
m_active_subset ? m_active_subset->m_subset_idx.
vector
[idx] : idx;
92
}
93
94
private
:
96
void
init();
97
98
private
:
103
CDynamicObjectArray
* m_active_subsets_stack;
104
106
CSubset
* m_active_subset;
107
};
108
109
}
110
#endif
/* __SUBSETSTACK_H_ */
SHOGUN
机器学习工具包 - 项目文档