C++ API Reference for Intel® Data Analytics Acceleration Library 2018 Update 2

classifier_predict.h
1 /* file: classifier_predict.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 Intel Corporation
4 * All Rights Reserved.
5 *
6 * If this software was obtained under the Intel Simplified Software License,
7 * the following terms apply:
8 *
9 * The source code, information and material ("Material") contained herein is
10 * owned by Intel Corporation or its suppliers or licensors, and title to such
11 * Material remains with Intel Corporation or its suppliers or licensors. The
12 * Material contains proprietary information of Intel or its suppliers and
13 * licensors. The Material is protected by worldwide copyright laws and treaty
14 * provisions. No part of the Material may be used, copied, reproduced,
15 * modified, published, uploaded, posted, transmitted, distributed or disclosed
16 * in any way without Intel's prior express written permission. No license under
17 * any patent, copyright or other intellectual property rights in the Material
18 * is granted to or conferred upon you, either expressly, by implication,
19 * inducement, estoppel or otherwise. Any license under such intellectual
20 * property rights must be express and approved by Intel in writing.
21 *
22 * Unless otherwise agreed by Intel in writing, you may not remove or alter this
23 * notice or any other notice embedded in Materials by Intel or Intel's
24 * suppliers or licensors in any way.
25 *
26 *
27 * If this software was obtained under the Apache License, Version 2.0 (the
28 * "License"), the following terms apply:
29 *
30 * You may not use this file except in compliance with the License. You may
31 * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
32 *
33 *
34 * Unless required by applicable law or agreed to in writing, software
35 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
36 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37 *
38 * See the License for the specific language governing permissions and
39 * limitations under the License.
40 *******************************************************************************/
41 
42 /*
43 //++
44 // Implementation of the prediction stage of the classification algorithm interface.
45 //--
46 */
47 
48 #ifndef __CLASSIFIER_PREDICT_H__
49 #define __CLASSIFIER_PREDICT_H__
50 
51 #include "algorithms/algorithm.h"
52 #include "algorithms/classifier/classifier_predict_types.h"
53 
54 namespace daal
55 {
56 namespace algorithms
57 {
58 namespace classifier
59 {
60 namespace prediction
61 {
62 
63 namespace interface1
64 {
85 class Batch : public daal::algorithms::Prediction
86 {
87 public:
88  typedef algorithms::classifier::prediction::Input InputType;
89  typedef algorithms::classifier::Parameter ParameterType;
90  typedef algorithms::classifier::prediction::Result ResultType;
91 
92  Batch()
93  {
94  initialize();
95  }
96 
103  Batch(const Batch &other)
104  {
105  initialize();
106  }
107 
108  virtual ~Batch() {}
109 
114  virtual InputType * getInput() = 0;
115 
120  ResultPtr getResult()
121  {
122  return _result;
123  }
124 
131  services::Status setResult(const ResultPtr &result)
132  {
133  DAAL_CHECK(result, services::ErrorNullResult)
134  _result = result;
135  _res = _result.get();
136  return services::Status();
137  }
138 
144  services::SharedPtr<Batch> clone() const
145  {
146  return services::SharedPtr<Batch>(cloneImpl());
147  }
148 
149 protected:
150 
151  void initialize()
152  {
153  _result.reset(new ResultType());
154  }
155  virtual Batch * cloneImpl() const DAAL_C11_OVERRIDE = 0;
156  ResultPtr _result;
157 };
159 } // namespace interface1
160 using interface1::Batch;
161 
162 }
163 }
164 }
165 }
166 #endif
daal::algorithms::classifier::prediction::interface1::Batch::Batch
Batch(const Batch &other)
Definition: classifier_predict.h:103
daal::algorithms::classifier::prediction::interface1::Result
Provides methods to access prediction results obtained with the compute() method of the classifier pr...
Definition: classifier_predict_types.h:190
daal::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
daal::algorithms::classifier::interface1::Parameter
Base class for the parameters of the classification algorithm.
Definition: classifier_model.h:81
daal::algorithms::classifier::prediction::interface1::Batch::getInput
virtual InputType * getInput()=0
daal::algorithms::classifier::prediction::interface1::Input
Input objects in the prediction stage of the classification algorithm.
Definition: classifier_predict_types.h:133
daal::algorithms::neural_networks::prediction::prediction
Definition: neural_networks_prediction_result.h:79
daal::algorithms::Prediction
Provides prediction methods depending on the model such as linear_regression::Model. The methods of the class support different computation modes: batch, distributed, and online(see ComputeMode). Classes that implement specific algorithms of the model based data prediction are derived classes of the Prediction class. The class additionally provides virtual methods for validation of input and output parameters of the algorithms.
Definition: prediction.h:76
daal::algorithms::classifier::prediction::interface1::Batch
Base class for making predictions based on the model of the classification algorithms.
Definition: classifier_predict.h:85
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::services::interface1::SharedPtr::get
T * get() const
Definition: daal_shared_ptr.h:332
daal::services::interface1::SharedPtr::reset
void reset()
Definition: daal_shared_ptr.h:265
daal::algorithms::classifier::prediction::interface1::Batch::clone
services::SharedPtr< Batch > clone() const
Definition: classifier_predict.h:144
daal::algorithms::classifier::prediction::interface1::Batch::setResult
services::Status setResult(const ResultPtr &result)
Definition: classifier_predict.h:131
daal::services::ErrorNullResult
Definition: error_indexes.h:122
daal::algorithms::classifier::prediction::interface1::Batch::getResult
ResultPtr getResult()
Definition: classifier_predict.h:120

For more complete information about compiler optimizations, see our Optimization Notice.