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

kmeans_init_types.h
1 /* file: kmeans_init_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Implementation of the K-Means algorithm interface.
19 //--
20 */
21 
22 #ifndef __KMEANS_INIT_TYPES_H__
23 #define __KMEANS_INIT_TYPES_H__
24 
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 #include "data_management/data/data_collection.h"
29 #include "services/daal_defines.h"
30 #include "algorithms/engines/mt19937/mt19937.h"
31 
32 namespace daal
33 {
34 namespace algorithms
35 {
36 namespace kmeans
37 {
48 namespace init
49 {
54 enum Method
55 {
56  deterministicDense = 0,
57  defaultDense = 0,
58  randomDense = 1,
59  plusPlusDense = 2,
63  parallelPlusDense = 3,
65  deterministicCSR = 4,
66  randomCSR = 5,
67  plusPlusCSR = 6,
72  parallelPlusCSR = 7
75 };
76 
81 enum InputId
82 {
83  data,
84  lastInputId = data
85 };
86 
91 enum DistributedStep2MasterInputId
92 {
93  partialResults,
94  lastDistributedStep2MasterInputId = partialResults
95 };
96 
102 enum DistributedLocalPlusPlusInputDataId
103 {
104  internalInput = lastDistributedStep2MasterInputId + 1,
105  lastDistributedLocalPlusPlusInputDataId = internalInput
106 };
107 
113 enum DistributedStep2LocalPlusPlusInputId
114 {
115  inputOfStep2 = lastDistributedLocalPlusPlusInputDataId + 1,
116  lastDistributedStep2LocalPlusPlusInputId = inputOfStep2
117 };
118 
124 enum DistributedStep3MasterPlusPlusInputId
125 {
126  inputOfStep3FromStep2,
127  lastDistributedStep3MasterPlusPlusInputId = inputOfStep3FromStep2
128 };
129 
135 enum DistributedStep4LocalPlusPlusInputId
136 {
137  inputOfStep4FromStep3 = lastDistributedLocalPlusPlusInputDataId + 1,
138  lastDistributedStep4LocalPlusPlusInputId = inputOfStep4FromStep3
139 };
140 
146 enum DistributedStep5MasterPlusPlusInputId
147 {
148  inputCentroids,
149  inputOfStep5FromStep2,
150  lastDistributedStep5MasterPlusPlusInputId = inputOfStep5FromStep2
151 };
152 
158 enum DistributedStep5MasterPlusPlusInputDataId
159 {
160  inputOfStep5FromStep3 = lastDistributedStep5MasterPlusPlusInputId + 1,
161  lastDistributedStep5MasterPlusPlusInputDataId = inputOfStep5FromStep3
162 };
163 
168 enum PartialResultId
169 {
170  partialCentroids,
171  partialClusters = partialCentroids,
172  partialClustersNumber,
173  lastPartialResultId = partialClustersNumber
174 };
175 
181 enum DistributedStep2LocalPlusPlusPartialResultId
182 {
183  outputOfStep2ForStep3,
184  outputOfStep2ForStep5,
185  lastDistributedStep2LocalPlusPlusPartialResultId = outputOfStep2ForStep5
186 };
187 
193 enum DistributedStep2LocalPlusPlusPartialResultDataId
194 {
195  internalResult = lastDistributedStep2LocalPlusPlusPartialResultId + 1,
196  lastDistributedStep2LocalPlusPlusPartialResultDataId = internalResult
197 };
198 
204 enum DistributedStep3MasterPlusPlusPartialResultId
205 {
206  outputOfStep3ForStep4,
207  lastDistributedStep3MasterPlusPlusPartialResultId = outputOfStep3ForStep4
208 };
209 
215 enum DistributedStep3MasterPlusPlusPartialResultDataId
216 {
217  rngState = lastDistributedStep3MasterPlusPlusPartialResultId + 1,
218  outputOfStep3ForStep5 = rngState,
219  lastDistributedStep3MasterPlusPlusPartialResultDataId = outputOfStep3ForStep5
220 };
221 
227 enum DistributedStep4LocalPlusPlusPartialResultId
228 {
229  outputOfStep4,
230  lastDistributedStep4LocalPlusPlusPartialResultId = outputOfStep4
231 };
232 
238 enum DistributedStep5MasterPlusPlusPartialResultId
239 {
240  candidates,
241  weights,
242  lastDistributedStep5MasterPlusPlusPartialResultId = weights
243 };
244 
249 enum ResultId
250 {
251  centroids,
252  lastResultId = centroids
253 };
254 
258 namespace interface1
259 {
266 /* [Parameter source code] */
267 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
268 {
275  Parameter(size_t _nClusters, size_t _offset = 0, size_t _seed = 777777);
276 
282  Parameter(const Parameter &other);
283 
284  size_t nClusters;
285  size_t nRowsTotal;
286  size_t offset;
287  size_t seed;
289  double oversamplingFactor;
292  size_t nRounds;
294  engines::EnginePtr engine;
296  services::Status check() const DAAL_C11_OVERRIDE;
297 };
298 /* [Parameter source code] */
299 
304 class DAAL_EXPORT InputIface : public daal::algorithms::Input
305 {
306 public:
307  InputIface(size_t nElements) : daal::algorithms::Input(nElements) {};
308 
309  virtual size_t getNumberOfFeatures() const = 0;
310 };
311 
316 class DAAL_EXPORT Input : public InputIface
317 {
318 public:
319  Input();
320  virtual ~Input() {}
321 
327  data_management::NumericTablePtr get(InputId id) const;
328 
334  void set(InputId id, const data_management::NumericTablePtr &ptr);
335 
340  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
341 
347  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
348 
349 protected:
350  Input(size_t nElements);
351 };
352 
357 class DAAL_EXPORT PartialResult : public daal::algorithms::PartialResult
358 {
359 public:
360  DECLARE_SERIALIZABLE_CAST(PartialResult);
361  PartialResult();
362 
363  virtual ~PartialResult() {};
364 
371  template <typename algorithmFPType>
372  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
373 
379  data_management::NumericTablePtr get(PartialResultId id) const;
380 
386  void set(PartialResultId id, const data_management::NumericTablePtr &ptr);
387 
392  size_t getNumberOfFeatures() const;
393 
400  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
401 
407  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
408 
409 protected:
411  template<typename Archive, bool onDeserialize>
412  services::Status serialImpl(Archive *arch)
413  {
414  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
415  }
416 };
417 typedef services::SharedPtr<PartialResult> PartialResultPtr;
418 
424 class DAAL_EXPORT Result : public daal::algorithms::Result
425 {
426 public:
427  DECLARE_SERIALIZABLE_CAST(Result);
428  Result();
429 
430  virtual ~Result() {};
431 
438  template <typename algorithmFPType>
439  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
440 
447  template <typename algorithmFPType>
448  DAAL_EXPORT services::Status allocate(const daal::algorithms::PartialResult *partialResult, const daal::algorithms::Parameter *parameter, const int method);
449 
455  data_management::NumericTablePtr get(ResultId id) const;
456 
462  void set(ResultId id, const data_management::NumericTablePtr &ptr);
463 
470  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
471 
478  services::Status check(const daal::algorithms::PartialResult *pres, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
479 
480 protected:
482  template<typename Archive, bool onDeserialize>
483  services::Status serialImpl(Archive *arch)
484  {
485  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
486  }
487 };
488 typedef services::SharedPtr<Result> ResultPtr;
489 
495 class DAAL_EXPORT DistributedStep2MasterInput : public InputIface
496 {
497 public:
498  DistributedStep2MasterInput();
499 
500  virtual ~DistributedStep2MasterInput() {}
501 
508  data_management::DataCollectionPtr get(DistributedStep2MasterInputId id) const;
509 
516  void set(DistributedStep2MasterInputId id, const data_management::DataCollectionPtr &ptr);
517 
524  void add(DistributedStep2MasterInputId id, const PartialResultPtr &value);
525 
530  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
531 
538  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
539 };
540 
547 /* [DistributedStep2LocalPlusPlusParameter source code] */
548 struct DAAL_EXPORT DistributedStep2LocalPlusPlusParameter : public Parameter
549 {
553  DistributedStep2LocalPlusPlusParameter(size_t _nClusters, bool bFirstIteration);
554 
560  DistributedStep2LocalPlusPlusParameter(const DistributedStep2LocalPlusPlusParameter &other);
561 
562  bool firstIteration;
563  bool outputForStep5Required;
564  services::Status check() const DAAL_C11_OVERRIDE;
565 };
566 /* [DistributedStep2LocalPlusPlusParameter source code] */
567 
568 
574 class DAAL_EXPORT DistributedStep2LocalPlusPlusInput : public Input
575 {
576 public:
577  DistributedStep2LocalPlusPlusInput();
578  DistributedStep2LocalPlusPlusInput(const DistributedStep2LocalPlusPlusInput& o);
579 
580  virtual ~DistributedStep2LocalPlusPlusInput() {}
581 
587  data_management::NumericTablePtr get(InputId id) const;
588 
594  void set(InputId id, const data_management::NumericTablePtr &ptr);
595 
601  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
602 
608  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
609 
615  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusInputId id) const;
616 
622  void set(DistributedStep2LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
623 
629  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
630 };
631 
637 class DAAL_EXPORT DistributedStep3MasterPlusPlusInput : public daal::algorithms::Input
638 {
639 public:
640  DistributedStep3MasterPlusPlusInput();
641  DistributedStep3MasterPlusPlusInput(const DistributedStep3MasterPlusPlusInput& o);
642 
648  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusInputId id) const;
649 
655  void set(DistributedStep3MasterPlusPlusInputId id, const data_management::KeyValueDataCollectionPtr &ptr);
656 
663  void add(DistributedStep3MasterPlusPlusInputId id, size_t key, const data_management::NumericTablePtr &ptr);
664 
670  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
671 };
672 
678 class DAAL_EXPORT DistributedStep4LocalPlusPlusInput : public Input
679 {
680 public:
681  DistributedStep4LocalPlusPlusInput();
682  DistributedStep4LocalPlusPlusInput(const DistributedStep4LocalPlusPlusInput& o);
683 
689  data_management::NumericTablePtr get(InputId id) const;
690 
696  void set(InputId id, const data_management::NumericTablePtr &ptr);
697 
703  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
704 
710  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
711 
717  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusInputId id) const;
718 
724  void set(DistributedStep4LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
725 
731  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
732 };
733 
738 class DAAL_EXPORT DistributedStep5MasterPlusPlusInput : public daal::algorithms::Input
739 {
740 public:
741  DistributedStep5MasterPlusPlusInput();
742  DistributedStep5MasterPlusPlusInput(const DistributedStep5MasterPlusPlusInput& o);
743 
744  virtual ~DistributedStep5MasterPlusPlusInput() {}
745 
752  data_management::DataCollectionPtr get(DistributedStep5MasterPlusPlusInputId id) const;
753 
760  void set(DistributedStep5MasterPlusPlusInputId id, const data_management::DataCollectionPtr &ptr);
761 
768  void add(DistributedStep5MasterPlusPlusInputId id, const data_management::NumericTablePtr &value);
769 
776  data_management::SerializationIfacePtr get(DistributedStep5MasterPlusPlusInputDataId id) const;
777 
784  void set(DistributedStep5MasterPlusPlusInputDataId id, const data_management::SerializationIfacePtr &ptr);
785 
792  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
793 };
794 
799 class DAAL_EXPORT DistributedStep2LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
800 {
801 public:
802  DECLARE_SERIALIZABLE_CAST(DistributedStep2LocalPlusPlusPartialResult);
803  DistributedStep2LocalPlusPlusPartialResult();
804 
805  virtual ~DistributedStep2LocalPlusPlusPartialResult() {};
806 
813  template <typename algorithmFPType>
814  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
815 
821  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusPartialResultId id) const;
822 
828  void set(DistributedStep2LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
829 
835  data_management::DataCollectionPtr get(DistributedStep2LocalPlusPlusPartialResultDataId id) const;
836 
842  void set(DistributedStep2LocalPlusPlusPartialResultDataId id, const data_management::DataCollectionPtr &ptr);
843 
850  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
851 
857  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
858 
865  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
866 
867 protected:
868 
870  template<typename Archive, bool onDeserialize>
871  services::Status serialImpl(Archive *arch)
872  {
873  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
874  }
875 };
876 typedef services::SharedPtr<DistributedStep2LocalPlusPlusPartialResult> DistributedStep2LocalPlusPlusPartialResultPtr;
877 
882 class DAAL_EXPORT DistributedStep3MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
883 {
884 public:
885  DECLARE_SERIALIZABLE_CAST(DistributedStep3MasterPlusPlusPartialResult);
886  DistributedStep3MasterPlusPlusPartialResult();
887 
888  virtual ~DistributedStep3MasterPlusPlusPartialResult() {};
889 
896  template <typename algorithmFPType>
897  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
898 
904  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusPartialResultId id) const;
905 
912  data_management::NumericTablePtr get(DistributedStep3MasterPlusPlusPartialResultId id, size_t key) const;
913 
919  data_management::SerializationIfacePtr get(DistributedStep3MasterPlusPlusPartialResultDataId id) const;
920 
927  void add(DistributedStep3MasterPlusPlusPartialResultId id, size_t key, const data_management::NumericTablePtr &ptr);
928 
935  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
936 
942  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
943 
950  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
951 
952 protected:
953 
955  template<typename Archive, bool onDeserialize>
956  services::Status serialImpl(Archive *arch)
957  {
958  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
959  }
960 };
961 typedef services::SharedPtr<DistributedStep3MasterPlusPlusPartialResult> DistributedStep3MasterPlusPlusPartialResultPtr;
962 
967 class DAAL_EXPORT DistributedStep4LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
968 {
969 public:
970  DECLARE_SERIALIZABLE_CAST(DistributedStep4LocalPlusPlusPartialResult);
971  DistributedStep4LocalPlusPlusPartialResult();
972 
973  virtual ~DistributedStep4LocalPlusPlusPartialResult() {};
974 
981  template <typename algorithmFPType>
982  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
983 
989  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusPartialResultId id) const;
990 
996  void set(DistributedStep4LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
997 
1004  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1005 
1011  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1012 
1013 protected:
1014 
1016  template<typename Archive, bool onDeserialize>
1017  services::Status serialImpl(Archive *arch)
1018  {
1019  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1020  }
1021 };
1022 typedef services::SharedPtr<DistributedStep4LocalPlusPlusPartialResult> DistributedStep4LocalPlusPlusPartialResultPtr;
1023 
1028 class DAAL_EXPORT DistributedStep5MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
1029 {
1030 public:
1031  DECLARE_SERIALIZABLE_CAST(DistributedStep5MasterPlusPlusPartialResult);
1032  DistributedStep5MasterPlusPlusPartialResult();
1033 
1034  virtual ~DistributedStep5MasterPlusPlusPartialResult() {};
1035 
1042  template <typename algorithmFPType>
1043  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
1044 
1050  data_management::NumericTablePtr get(DistributedStep5MasterPlusPlusPartialResultId id) const;
1051 
1057  void set(DistributedStep5MasterPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
1058 
1065  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1066 
1072  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1073 
1074 protected:
1075 
1077  template<typename Archive, bool onDeserialize>
1078  services::Status serialImpl(Archive *arch)
1079  {
1080  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1081  }
1082 };
1083 typedef services::SharedPtr<DistributedStep5MasterPlusPlusPartialResult> DistributedStep5MasterPlusPlusPartialResultPtr;
1084 
1085 } // namespace interface1
1086 using interface1::Parameter;
1087 using interface1::InputIface;
1088 using interface1::Input;
1089 using interface1::PartialResult;
1090 using interface1::PartialResultPtr;
1091 using interface1::Result;
1092 using interface1::ResultPtr;
1093 using interface1::DistributedStep2MasterInput;
1094 using interface1::DistributedStep2LocalPlusPlusParameter;
1095 using interface1::DistributedStep2LocalPlusPlusInput;
1096 using interface1::DistributedStep3MasterPlusPlusInput;
1097 using interface1::DistributedStep4LocalPlusPlusInput;
1098 using interface1::DistributedStep5MasterPlusPlusInput;
1099 using interface1::DistributedStep2LocalPlusPlusPartialResult;
1100 using interface1::DistributedStep2LocalPlusPlusPartialResultPtr;
1101 using interface1::DistributedStep3MasterPlusPlusPartialResult;
1102 using interface1::DistributedStep3MasterPlusPlusPartialResultPtr;
1103 using interface1::DistributedStep4LocalPlusPlusPartialResult;
1104 using interface1::DistributedStep4LocalPlusPlusPartialResultPtr;
1105 using interface1::DistributedStep5MasterPlusPlusPartialResult;
1106 using interface1::DistributedStep5MasterPlusPlusPartialResultPtr;
1107 
1108 } // namespace daal::algorithms::kmeans::init
1110 } // namespace daal::algorithms::kmeans
1111 } // namespace daal::algorithms
1112 } // namespace daal
1113 #endif
daal::algorithms::kmeans::init::defaultDense
Definition: kmeans_init_types.h:57
daal::algorithms::kmeans::init::data
Definition: kmeans_init_types.h:83
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusInputId
DistributedStep2LocalPlusPlusInputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:113
daal::algorithms::kmeans::init::interface1::DistributedStep5MasterPlusPlusInput
Interface for the K-Means distributed Input classes.
Definition: kmeans_init_types.h:738
daal::algorithms::kmeans::init::ResultId
ResultId
Available identifiers of the results of computing initial centroids for the K-Means algorithm...
Definition: kmeans_init_types.h:249
daal::algorithms::kmeans::init::interface1::Parameter::nRounds
size_t nRounds
Definition: kmeans_init_types.h:292
daal::algorithms::kmeans::init::interface1::InputIface
Interface for the K-Means initialization batch and distributed Input classes.
Definition: kmeans_init_types.h:304
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusPartialResultDataId
DistributedStep3MasterPlusPlusPartialResultDataId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:215
daal
Definition: algorithm_base_common.h:31
daal::algorithms::kmeans::init::interface1::DistributedStep4LocalPlusPlusInput
Interface for the K-Means distributed Input classes used with plusPlus and parallelPlus methods only ...
Definition: kmeans_init_types.h:678
daal::algorithms::kmeans::init::internalResult
Definition: kmeans_init_types.h:195
daal::algorithms::kmeans::init::deterministicCSR
Definition: kmeans_init_types.h:65
daal::algorithms::kmeans::init::interface1::PartialResult
Partial results obtained with the compute() method of the K-Means algorithm in the batch processing m...
Definition: kmeans_init_types.h:357
daal::algorithms::kmeans::init::interface1::DistributedStep2MasterInput
Input objects for computing initials clusters for the K-Means algorithm in the second step of the dis...
Definition: kmeans_init_types.h:495
daal::algorithms::kmeans::init::candidates
Definition: kmeans_init_types.h:240
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusInputDataId
DistributedStep5MasterPlusPlusInputDataId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:158
daal::algorithms::kmeans::init::internalInput
Definition: kmeans_init_types.h:104
daal::algorithms::kmeans::init::inputOfStep2
Definition: kmeans_init_types.h:115
daal::algorithms::kmeans::init::interface1::Parameter::seed
size_t seed
Definition: kmeans_init_types.h:287
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusPartialResult
Partial results obtained with the compute() method of the K-Means algorithm in the distributed proces...
Definition: kmeans_init_types.h:799
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusPartialResultId
DistributedStep3MasterPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:204
daal::algorithms::kmeans::init::parallelPlusCSR
Definition: kmeans_init_types.h:72
daal::algorithms::kmeans::init::parallelPlusDense
Definition: kmeans_init_types.h:63
daal::algorithms::kmeans::init::interface1::Parameter::oversamplingFactor
double oversamplingFactor
Definition: kmeans_init_types.h:289
daal::algorithms::kmeans::init::outputOfStep4
Definition: kmeans_init_types.h:229
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter
Parameters for computing initial centroids for the K-Means algorithm.
Definition: kmeans_init_types.h:548
daal_defines.h
daal::algorithms::kmeans::init::outputOfStep3ForStep5
Definition: kmeans_init_types.h:218
daal::algorithms::kmeans::init::randomDense
Definition: kmeans_init_types.h:58
daal::algorithms::kmeans::init::interface1::Parameter::engine
engines::EnginePtr engine
Definition: kmeans_init_types.h:294
daal::algorithms::kmeans::init::interface1::Parameter::offset
size_t offset
Definition: kmeans_init_types.h:286
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusInputId
DistributedStep5MasterPlusPlusInputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:146
daal::algorithms::kmeans::init::deterministicDense
Definition: kmeans_init_types.h:56
daal::algorithms::kmeans::init::inputOfStep3FromStep2
Definition: kmeans_init_types.h:126
daal::algorithms::kmeans::init::inputOfStep5FromStep3
Definition: kmeans_init_types.h:160
daal::algorithms::kmeans::init::Method
Method
Definition: kmeans_init_types.h:54
daal::algorithms::kmeans::init::DistributedStep4LocalPlusPlusInputId
DistributedStep4LocalPlusPlusInputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:135
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusPartialResultDataId
DistributedStep2LocalPlusPlusPartialResultDataId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:193
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusPartialResultId
DistributedStep5MasterPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:238
daal::algorithms::kmeans::init::interface1::DistributedStep5MasterPlusPlusPartialResult
Partial results obtained with the compute() method of the K-Means algorithm in the distributed proces...
Definition: kmeans_init_types.h:1028
daal::algorithms::kmeans::init::interface1::DistributedStep3MasterPlusPlusPartialResult
Partial results obtained with the compute() method of the K-Means algorithm in the distributed proces...
Definition: kmeans_init_types.h:882
daal::algorithms::kmeans::init::PartialResultId
PartialResultId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:168
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::firstIteration
bool firstIteration
Definition: kmeans_init_types.h:562
daal::algorithms::kmeans::init::interface1::Result
Results obtained with the compute() method that computes initial centroids for the K-Means algorithm ...
Definition: kmeans_init_types.h:424
daal::algorithms::kmeans::init::DistributedStep2MasterInputId
DistributedStep2MasterInputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm in t...
Definition: kmeans_init_types.h:91
daal::algorithms::kmeans::init::DistributedLocalPlusPlusInputDataId
DistributedLocalPlusPlusInputDataId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:102
daal::algorithms::kmeans::init::inputCentroids
Definition: kmeans_init_types.h:148
daal::algorithms::kmeans::init::plusPlusCSR
Definition: kmeans_init_types.h:67
daal::algorithms::kmeans::init::centroids
Definition: kmeans_init_types.h:251
daal::algorithms::kmeans::init::interface1::Parameter::nRowsTotal
size_t nRowsTotal
Definition: kmeans_init_types.h:285
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusInput
Interface for the K-Means initialization distributed Input classes used with plusPlus and parallelPlu...
Definition: kmeans_init_types.h:574
daal::algorithms::kmeans::init::rngState
Definition: kmeans_init_types.h:217
daal::algorithms::kmeans::init::partialClustersNumber
Definition: kmeans_init_types.h:172
daal::algorithms::kmeans::init::interface1::Parameter
Parameters for computing initial centroids for the K-Means algorithm.
Definition: kmeans_init_types.h:267
daal::algorithms::kmeans::init::partialCentroids
Definition: kmeans_init_types.h:170
daal::algorithms::kmeans::init::partialClusters
Definition: kmeans_init_types.h:171
daal::algorithms::kmeans::init::DistributedStep4LocalPlusPlusPartialResultId
DistributedStep4LocalPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:227
daal::algorithms::kmeans::init::interface1::Parameter::nClusters
size_t nClusters
Definition: kmeans_init_types.h:284
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::outputForStep5Required
bool outputForStep5Required
Definition: kmeans_init_types.h:563
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::kmeans::init::outputOfStep2ForStep5
Definition: kmeans_init_types.h:184
daal::algorithms::kmeans::init::weights
Definition: kmeans_init_types.h:241
daal::algorithms::kmeans::init::InputId
InputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm...
Definition: kmeans_init_types.h:81
daal::algorithms::kmeans::init::randomCSR
Definition: kmeans_init_types.h:66
daal::algorithms::kmeans::init::partialResults
Definition: kmeans_init_types.h:93
daal::algorithms::kmeans::init::outputOfStep2ForStep3
Definition: kmeans_init_types.h:183
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusInputId
DistributedStep3MasterPlusPlusInputId
Available identifiers of input objects for computing initial centroids for the K-Means algorithm used...
Definition: kmeans_init_types.h:124
daal::algorithms::kmeans::init::outputOfStep3ForStep4
Definition: kmeans_init_types.h:206
daal::algorithms::kmeans::init::inputOfStep5FromStep2
Definition: kmeans_init_types.h:149
daal::algorithms::kmeans::init::plusPlusDense
Definition: kmeans_init_types.h:59
daal::algorithms::kmeans::init::interface1::DistributedStep3MasterPlusPlusInput
Interface for the K-Means distributed Input classes used with plusPlus and parallelPlus methods only ...
Definition: kmeans_init_types.h:637
daal::algorithms::kmeans::init::inputOfStep4FromStep3
Definition: kmeans_init_types.h:137
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusPartialResultId
DistributedStep2LocalPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for the K-Means algorithm in ...
Definition: kmeans_init_types.h:181
daal::algorithms::kmeans::init::interface1::Input
Input objects for computing initial centroids for the K-Means algorithm
Definition: kmeans_init_types.h:316
daal::algorithms::kmeans::init::interface1::DistributedStep4LocalPlusPlusPartialResult
Partial results obtained with the compute() method of the K-Means algorithm in the distributed proces...
Definition: kmeans_init_types.h:967

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