25 #ifndef __IMPLICIT_ALS_PREDICT_RATINGS_TYPES_H__
26 #define __IMPLICIT_ALS_PREDICT_RATINGS_TYPES_H__
28 #include "algorithms/algorithm.h"
29 #include "algorithms/implicit_als/implicit_als_model.h"
30 #include "data_management/data/homogen_numeric_table.h"
31 #include "data_management/data/csr_numeric_table.h"
37 namespace implicit_als
73 lastModelInputId = model
81 enum PartialModelInputId
87 lastPartialModelInputId = itemsPartialModel
98 lastPartialResultId = finalResult
108 lastResultId = prediction
121 class InputIface :
public daal::algorithms::Input
124 InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
125 InputIface(
const InputIface& other) : daal::algorithms::Input(other) {}
126 virtual ~InputIface() {}
132 virtual size_t getNumberOfUsers()
const = 0;
138 virtual size_t getNumberOfItems()
const = 0;
145 class DAAL_EXPORT Input :
public InputIface
149 Input(
const Input& other) : InputIface(other){}
157 ModelPtr
get(ModelInputId id)
const;
164 void set(ModelInputId
id,
const ModelPtr &ptr);
170 size_t getNumberOfUsers()
const DAAL_C11_OVERRIDE;
176 size_t getNumberOfItems()
const DAAL_C11_OVERRIDE;
183 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
192 template<ComputeStep step>
193 class DistributedInput
202 class DAAL_EXPORT DistributedInput<step1Local> :
public InputIface
206 DistributedInput(
const DistributedInput& other) : InputIface(other){}
208 virtual ~DistributedInput() {}
215 PartialModelPtr
get(PartialModelInputId id)
const;
222 void set(PartialModelInputId
id,
const PartialModelPtr &ptr);
228 size_t getNumberOfUsers()
const DAAL_C11_OVERRIDE;
234 size_t getNumberOfItems()
const DAAL_C11_OVERRIDE;
241 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
250 class DAAL_EXPORT Result :
public daal::algorithms::Result
253 DECLARE_SERIALIZABLE_CAST(Result);
263 data_management::NumericTablePtr
get(ResultId id)
const;
270 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
278 template <
typename algorithmFPType>
279 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
287 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
291 template<
typename Archive,
bool onDeserialize>
292 services::Status serialImpl(Archive *arch)
294 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
297 typedef services::SharedPtr<Result> ResultPtr;
303 class DAAL_EXPORT PartialResult :
public daal::algorithms::PartialResult
306 DECLARE_SERIALIZABLE_CAST(PartialResult);
310 virtual ~PartialResult() {}
318 template <
typename algorithmFPType>
319 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
326 ResultPtr
get(PartialResultId id)
const;
333 void set(PartialResultId
id,
const ResultPtr &ptr);
341 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
345 template<
typename Archive,
bool onDeserialize>
346 services::Status serialImpl(Archive *arch)
348 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
351 typedef services::SharedPtr<PartialResult> PartialResultPtr;
354 using interface1::InputIface;
355 using interface1::Input;
356 using interface1::DistributedInput;
357 using interface1::PartialResult;
358 using interface1::PartialResultPtr;
359 using interface1::Result;
360 using interface1::ResultPtr;
daal::step1Local
Definition: daal_defines.h:123
daal::algorithms::implicit_als::prediction::ratings::ModelInputId
ModelInputId
Definition: implicit_als_predict_ratings_types.h:70
daal::algorithms::implicit_als::prediction::ratings::interface1::PartialResult
Provides methods to access partial results obtained with the compute() method of the implicit ALS ini...
Definition: implicit_als_predict_ratings_types.h:303
daal::algorithms::implicit_als::prediction::ratings::interface1::PartialResult::~PartialResult
virtual ~PartialResult()
Definition: implicit_als_predict_ratings_types.h:310
daal::algorithms::neural_networks::prediction::prediction
Definition: neural_networks_prediction_result.h:55
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:309
daal::algorithms::implicit_als::prediction::ratings::interface1::InputIface
Input interface for the rating prediction stage of the implicit ALS algorithm
Definition: implicit_als_predict_ratings_types.h:121
daal::algorithms::implicit_als::prediction::ratings::itemsPartialModel
Definition: implicit_als_predict_ratings_types.h:85
daal::algorithms::implicit_als::prediction::ratings::allUsersAllItems
Definition: implicit_als_predict_ratings_types.h:62
daal::algorithms::implicit_als::prediction::ratings::interface1::DistributedInput
Input objects for the rating prediction stage of the implicit ALS algorithm in the distributed proces...
Definition: implicit_als_predict_ratings_types.h:193
daal::algorithms::implicit_als::prediction::ratings::Method
Method
Definition: implicit_als_predict_ratings_types.h:59
daal::algorithms::interface1::Input
Base class to represent computation input arguments. Algorithm-specific input arguments are represent...
Definition: algorithm_types.h:193
daal::algorithms::implicit_als::prediction::ratings::interface1::Result
Provides methods to access the prediction results obtained with the compute() method of the implicit ...
Definition: implicit_als_predict_ratings_types.h:250
daal::algorithms::implicit_als::prediction::ratings::interface1::InputIface::getNumberOfUsers
virtual size_t getNumberOfUsers() const =0
daal::algorithms::implicit_als::prediction::ratings::PartialModelInputId
PartialModelInputId
Definition: implicit_als_predict_ratings_types.h:81
daal::algorithms::implicit_als::prediction::ratings::ResultId
ResultId
Definition: implicit_als_predict_ratings_types.h:105
daal::algorithms::implicit_als::prediction::ratings::model
Definition: implicit_als_predict_ratings_types.h:72
daal::algorithms::implicit_als::prediction::ratings::interface1::Input
Input objects for the rating prediction stage of the implicit ALS algorithm
Definition: implicit_als_predict_ratings_types.h:145
daal::algorithms::implicit_als::prediction::ratings::prediction
Definition: implicit_als_predict_ratings_types.h:107
daal::algorithms::implicit_als::prediction::ratings::finalResult
Definition: implicit_als_predict_ratings_types.h:97
daal::algorithms::implicit_als::prediction::ratings::usersPartialModel
Definition: implicit_als_predict_ratings_types.h:83
daal::algorithms::implicit_als::prediction::ratings::defaultDense
Definition: implicit_als_predict_ratings_types.h:61
daal::algorithms::implicit_als::prediction::ratings::interface1::InputIface::getNumberOfItems
virtual size_t getNumberOfItems() const =0
daal::algorithms::interface1::PartialResult
Base class to represent partial results of the computation. Algorithm-specific partial results are re...
Definition: algorithm_types.h:229
daal::algorithms::implicit_als::prediction::ratings::PartialResultId
PartialResultId
Definition: implicit_als_predict_ratings_types.h:95