49 #ifndef __IMPLICIT_ALS_PREDICT_RATINGS_TYPES_H__
50 #define __IMPLICIT_ALS_PREDICT_RATINGS_TYPES_H__
52 #include "algorithms/algorithm.h"
53 #include "algorithms/implicit_als/implicit_als_model.h"
54 #include "data_management/data/homogen_numeric_table.h"
55 #include "data_management/data/csr_numeric_table.h"
61 namespace implicit_als
97 lastModelInputId = model
105 enum PartialModelInputId
111 lastPartialModelInputId = itemsPartialModel
122 lastPartialResultId = finalResult
132 lastResultId = prediction
145 class InputIface :
public daal::algorithms::Input
148 InputIface(
size_t nElements) : daal::algorithms::Input(nElements) {}
149 InputIface(
const InputIface& other) : daal::algorithms::Input(other) {}
150 virtual ~InputIface() {}
156 virtual size_t getNumberOfUsers()
const = 0;
162 virtual size_t getNumberOfItems()
const = 0;
169 class DAAL_EXPORT Input :
public InputIface
173 Input(
const Input& other) : InputIface(other){}
181 ModelPtr
get(ModelInputId id)
const;
188 void set(ModelInputId
id,
const ModelPtr &ptr);
194 size_t getNumberOfUsers()
const DAAL_C11_OVERRIDE;
200 size_t getNumberOfItems()
const DAAL_C11_OVERRIDE;
207 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
216 template<ComputeStep step>
217 class DistributedInput
226 class DAAL_EXPORT DistributedInput<step1Local> :
public InputIface
230 DistributedInput(
const DistributedInput& other) : InputIface(other){}
232 virtual ~DistributedInput() {}
239 PartialModelPtr
get(PartialModelInputId id)
const;
246 void set(PartialModelInputId
id,
const PartialModelPtr &ptr);
252 size_t getNumberOfUsers()
const DAAL_C11_OVERRIDE;
258 size_t getNumberOfItems()
const DAAL_C11_OVERRIDE;
265 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
274 class DAAL_EXPORT Result :
public daal::algorithms::Result
277 DECLARE_SERIALIZABLE_CAST(Result);
287 data_management::NumericTablePtr
get(ResultId id)
const;
294 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
302 template <
typename algorithmFPType>
303 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
311 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
315 template<
typename Archive,
bool onDeserialize>
316 services::Status serialImpl(Archive *arch)
318 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
321 typedef services::SharedPtr<Result> ResultPtr;
327 class DAAL_EXPORT PartialResult :
public daal::algorithms::PartialResult
330 DECLARE_SERIALIZABLE_CAST(PartialResult);
334 virtual ~PartialResult() {}
342 template <
typename algorithmFPType>
343 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
350 ResultPtr
get(PartialResultId id)
const;
357 void set(PartialResultId
id,
const ResultPtr &ptr);
365 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
369 template<
typename Archive,
bool onDeserialize>
370 services::Status serialImpl(Archive *arch)
372 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
375 typedef services::SharedPtr<PartialResult> PartialResultPtr;
378 using interface1::InputIface;
379 using interface1::Input;
380 using interface1::DistributedInput;
381 using interface1::PartialResult;
382 using interface1::PartialResultPtr;
383 using interface1::Result;
384 using interface1::ResultPtr;
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:274
daal
Definition: algorithm_base_common.h:57
daal::algorithms::implicit_als::prediction::ratings::Method
Method
Definition: implicit_als_predict_ratings_types.h:83
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:331
daal::algorithms::implicit_als::prediction::ratings::itemsPartialModel
Definition: implicit_als_predict_ratings_types.h:109
daal::algorithms::implicit_als::prediction::ratings::PartialResultId
PartialResultId
Definition: implicit_als_predict_ratings_types.h:119
daal::algorithms::interface1::PartialResult
Base class to represent partial results of the computation. Algorithm-specific partial results are re...
Definition: algorithm_types.h:253
daal::algorithms::implicit_als::prediction::ratings::allUsersAllItems
Definition: implicit_als_predict_ratings_types.h:86
daal::algorithms::implicit_als::prediction::ratings::PartialModelInputId
PartialModelInputId
Definition: implicit_als_predict_ratings_types.h:105
daal::algorithms::implicit_als::prediction::ratings::interface1::PartialResult::~PartialResult
virtual ~PartialResult()
Definition: implicit_als_predict_ratings_types.h:334
daal::algorithms::implicit_als::prediction::ratings::usersPartialModel
Definition: implicit_als_predict_ratings_types.h:107
daal::algorithms::implicit_als::prediction::ratings::defaultDense
Definition: implicit_als_predict_ratings_types.h:85
daal::algorithms::implicit_als::prediction::ratings::ModelInputId
ModelInputId
Definition: implicit_als_predict_ratings_types.h:94
daal::algorithms::implicit_als::prediction::ratings::prediction
Definition: implicit_als_predict_ratings_types.h:131
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:327
daal::algorithms::implicit_als::prediction::ratings::model
Definition: implicit_als_predict_ratings_types.h:96
daal::algorithms::implicit_als::prediction::ratings::ResultId
ResultId
Definition: implicit_als_predict_ratings_types.h:129
daal::step1Local
Definition: daal_defines.h:142
daal::algorithms::implicit_als::prediction::ratings::finalResult
Definition: implicit_als_predict_ratings_types.h:121