SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
GUIPluginEstimate.cpp
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) 1999-2008 Soeren Sonnenburg
8  * Written (W) 1999-2008 Gunnar Raetsch
9  * Copyright (C) 1999-2008 Fraunhofer Institute FIRST and Max-Planck-Society
10  */
11 
12 #include <shogun/ui/SGInterface.h>
14 
15 #include <shogun/lib/config.h>
16 #include <shogun/io/SGIO.h>
18 
19 using namespace shogun;
20 
22 {
23  init();
24 }
25 
27 : CSGObject()
28 {
29  init();
30 
31  ui=ui_;
32 }
33 
35 {
37 }
38 
39 void CGUIPluginEstimate::init()
40 {
41  ui=NULL;
42  estimator=NULL;
43  pos_pseudo=1e-10;
44  neg_pseudo=1e-10;
45 }
46 
48 {
50  estimator=new CPluginEstimate(pos, neg);
52 
53  if (!estimator)
54  SG_ERROR("Could not create new plugin estimator, pos_pseudo %f, neg_pseudo %f\n", pos_pseudo, neg_pseudo)
55  else
56  SG_INFO("Created new plugin estimator (%p), pos_pseudo %f, neg_pseudo %f\n", estimator, pos_pseudo, neg_pseudo)
57 
58  return true;
59 }
60 
62 {
63  CLabels* trainlabels=ui->ui_labels->get_train_labels();
65  ui_features->get_train_features();
66  bool result=false;
67 
68  if (!trainlabels)
69  SG_ERROR("No labels available.\n")
70 
71  if (!trainfeatures)
72  SG_ERROR("No features available.\n")
73 
74  ASSERT(trainfeatures->get_feature_type()==F_WORD)
75 
76  estimator->set_features(trainfeatures);
77  estimator->set_labels(trainlabels);
78  if (estimator)
79  result=estimator->train();
80  else
81  SG_ERROR("No estimator available.\n")
82 
83  return result;
84 }
85 
86 bool CGUIPluginEstimate::load(char* param)
87 {
88  bool result=false;
89  return result;
90 }
91 
92 bool CGUIPluginEstimate::save(char* param)
93 {
94  bool result=false;
95  return result;
96 }
97 
99 {
100  CFeatures* testfeatures=ui->ui_features->get_test_features();
101 
102  if (!estimator)
103  {
104  SG_ERROR("no estimator available")
105  return 0;
106  }
107 
108  if (!testfeatures)
109  {
110  SG_ERROR("no test features available")
111  return 0;
112  }
113 
115 
116  return estimator->apply();
117 }
118 
120 {
121  CFeatures* testfeatures=ui->ui_features->get_test_features();
122 
123  if (!estimator)
124  {
125  SG_ERROR("no estimator available")
126  return 0;
127  }
128 
129  if (!testfeatures)
130  {
131  SG_ERROR("no test features available")
132  return 0;
133  }
134 
136 
137  return estimator->apply_one(idx);
138 }
#define SG_INFO(...)
Definition: SGIO.h:118
float64_t apply_one(int32_t vec_idx)
classify the test feature vector indexed by vec_idx
The class Labels models labels, i.e. class assignments of objects.
Definition: Labels.h:43
#define SG_ERROR(...)
Definition: SGIO.h:129
bool new_estimator(float64_t pos, float64_t neg)
float64_t apply_one(int32_t idx)
#define SG_REF(x)
Definition: SGObject.h:51
#define ASSERT(x)
Definition: SGIO.h:201
Class SGObject is the base class of all shogun objects.
Definition: SGObject.h:112
double float64_t
Definition: common.h:50
virtual void set_features(CStringFeatures< uint16_t > *feat)
virtual EFeatureType get_feature_type() const
#define SG_UNREF(x)
Definition: SGObject.h:52
all of classes and functions are contained in the shogun namespace
Definition: class_list.h:18
The class Features is the base class of all feature objects.
Definition: Features.h:68
class PluginEstimate
virtual bool train(CFeatures *data=NULL)
Definition: Machine.cpp:39
virtual void set_labels(CLabels *lab)
Definition: Machine.cpp:65
virtual CLabels * apply(CFeatures *data=NULL)
Definition: Machine.cpp:152

SHOGUN Machine Learning Toolbox - Documentation