C++ API Reference for Intel® Data Analytics Acceleration Library 2019 Update 5

kmeans_init_types.h
1 /* file: kmeans_init_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2019 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 interface for initializing 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 
255 
259 namespace interface1
260 {
267 /* [Parameter source code] */
268 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
269 {
276  Parameter(size_t _nClusters, size_t _offset = 0, size_t _seed = 777777);
277 
283  Parameter(const Parameter &other);
284 
285  size_t nClusters;
286  size_t nRowsTotal;
287  size_t offset;
288  size_t seed;
290  double oversamplingFactor;
293  size_t nRounds;
296  engines::EnginePtr engine;
298  services::Status check() const DAAL_C11_OVERRIDE;
299 };
300 /* [Parameter source code] */
301 
306 class DAAL_EXPORT InputIface : public daal::algorithms::Input
307 {
308 public:
309  InputIface(size_t nElements) : daal::algorithms::Input(nElements) {};
310 
311  virtual size_t getNumberOfFeatures() const = 0;
312 };
313 
318 class DAAL_EXPORT Input : public InputIface
319 {
320 public:
321  Input();
322  virtual ~Input() {}
323 
329  data_management::NumericTablePtr get(InputId id) const;
330 
336  void set(InputId id, const data_management::NumericTablePtr &ptr);
337 
342  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
343 
349  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
350 
351 protected:
352  Input(size_t nElements);
353 };
354 
359 class DAAL_EXPORT PartialResult : public daal::algorithms::PartialResult
360 {
361 public:
362  DECLARE_SERIALIZABLE_CAST(PartialResult);
363  PartialResult();
364 
365  virtual ~PartialResult() {};
366 
373  template <typename algorithmFPType>
374  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
375 
381  data_management::NumericTablePtr get(PartialResultId id) const;
382 
388  void set(PartialResultId id, const data_management::NumericTablePtr &ptr);
389 
394  size_t getNumberOfFeatures() const;
395 
402  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
403 
409  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
410 
411 protected:
413  template<typename Archive, bool onDeserialize>
414  services::Status serialImpl(Archive *arch)
415  {
416  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
417  }
418 };
419 typedef services::SharedPtr<PartialResult> PartialResultPtr;
420 
426 class DAAL_EXPORT Result : public daal::algorithms::Result
427 {
428 public:
429  DECLARE_SERIALIZABLE_CAST(Result);
430  Result();
431 
432  virtual ~Result() {};
433 
440  template <typename algorithmFPType>
441  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
442 
449  template <typename algorithmFPType>
450  DAAL_EXPORT services::Status allocate(const daal::algorithms::PartialResult *partialResult, const daal::algorithms::Parameter *parameter, const int method);
451 
457  data_management::NumericTablePtr get(ResultId id) const;
458 
464  void set(ResultId id, const data_management::NumericTablePtr &ptr);
465 
472  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
473 
480  services::Status check(const daal::algorithms::PartialResult *pres, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
481 
482 protected:
484  template<typename Archive, bool onDeserialize>
485  services::Status serialImpl(Archive *arch)
486  {
487  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
488  }
489 };
490 typedef services::SharedPtr<Result> ResultPtr;
491 
497 class DAAL_EXPORT DistributedStep2MasterInput : public InputIface
498 {
499 public:
500  DistributedStep2MasterInput();
501 
502  virtual ~DistributedStep2MasterInput() {}
503 
510  data_management::DataCollectionPtr get(DistributedStep2MasterInputId id) const;
511 
518  void set(DistributedStep2MasterInputId id, const data_management::DataCollectionPtr &ptr);
519 
526  void add(DistributedStep2MasterInputId id, const PartialResultPtr &value);
527 
532  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
533 
540  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
541 };
542 
547 struct DAAL_EXPORT DistributedStep2LocalPlusPlusParameter : public Parameter
548 {
552  DistributedStep2LocalPlusPlusParameter(size_t _nClusters, bool bFirstIteration);
553 
559  DistributedStep2LocalPlusPlusParameter(const DistributedStep2LocalPlusPlusParameter &other);
560 
561  bool firstIteration;
562  bool outputForStep5Required;
563  services::Status check() const DAAL_C11_OVERRIDE;
564 };
565 
571 class DAAL_EXPORT DistributedStep2LocalPlusPlusInput : public Input
572 {
573 public:
574  DistributedStep2LocalPlusPlusInput();
575  DistributedStep2LocalPlusPlusInput(const DistributedStep2LocalPlusPlusInput& o);
576 
577  virtual ~DistributedStep2LocalPlusPlusInput() {}
578 
584  data_management::NumericTablePtr get(InputId id) const;
585 
591  void set(InputId id, const data_management::NumericTablePtr &ptr);
592 
598  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
599 
605  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
606 
612  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusInputId id) const;
613 
619  void set(DistributedStep2LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
620 
626  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
627 };
628 
634 class DAAL_EXPORT DistributedStep3MasterPlusPlusInput : public daal::algorithms::Input
635 {
636 public:
637  DistributedStep3MasterPlusPlusInput();
638  DistributedStep3MasterPlusPlusInput(const DistributedStep3MasterPlusPlusInput& o);
639 
645  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusInputId id) const;
646 
652  void set(DistributedStep3MasterPlusPlusInputId id, const data_management::KeyValueDataCollectionPtr &ptr);
653 
660  void add(DistributedStep3MasterPlusPlusInputId id, size_t key, const data_management::NumericTablePtr &ptr);
661 
667  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
668 };
669 
675 class DAAL_EXPORT DistributedStep4LocalPlusPlusInput : public Input
676 {
677 public:
678  DistributedStep4LocalPlusPlusInput();
679  DistributedStep4LocalPlusPlusInput(const DistributedStep4LocalPlusPlusInput& o);
680 
686  data_management::NumericTablePtr get(InputId id) const;
687 
693  void set(InputId id, const data_management::NumericTablePtr &ptr);
694 
700  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
701 
707  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
708 
714  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusInputId id) const;
715 
721  void set(DistributedStep4LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
722 
728  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
729 };
730 
735 class DAAL_EXPORT DistributedStep5MasterPlusPlusInput : public daal::algorithms::Input
736 {
737 public:
738  DistributedStep5MasterPlusPlusInput();
739  DistributedStep5MasterPlusPlusInput(const DistributedStep5MasterPlusPlusInput& o);
740 
741  virtual ~DistributedStep5MasterPlusPlusInput() {}
742 
749  data_management::DataCollectionPtr get(DistributedStep5MasterPlusPlusInputId id) const;
750 
757  void set(DistributedStep5MasterPlusPlusInputId id, const data_management::DataCollectionPtr &ptr);
758 
765  void add(DistributedStep5MasterPlusPlusInputId id, const data_management::NumericTablePtr &value);
766 
773  data_management::SerializationIfacePtr get(DistributedStep5MasterPlusPlusInputDataId id) const;
774 
781  void set(DistributedStep5MasterPlusPlusInputDataId id, const data_management::SerializationIfacePtr &ptr);
782 
789  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
790 };
791 
796 class DAAL_EXPORT DistributedStep2LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
797 {
798 public:
799  DECLARE_SERIALIZABLE_CAST(DistributedStep2LocalPlusPlusPartialResult);
800  DistributedStep2LocalPlusPlusPartialResult();
801 
802  virtual ~DistributedStep2LocalPlusPlusPartialResult() {};
803 
810  template <typename algorithmFPType>
811  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
812 
818  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusPartialResultId id) const;
819 
825  void set(DistributedStep2LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
826 
832  data_management::DataCollectionPtr get(DistributedStep2LocalPlusPlusPartialResultDataId id) const;
833 
839  void set(DistributedStep2LocalPlusPlusPartialResultDataId id, const data_management::DataCollectionPtr &ptr);
840 
847  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
848 
854  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
855 
862  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
863 
864 protected:
865 
867  template<typename Archive, bool onDeserialize>
868  services::Status serialImpl(Archive *arch)
869  {
870  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
871  }
872 };
873 typedef services::SharedPtr<DistributedStep2LocalPlusPlusPartialResult> DistributedStep2LocalPlusPlusPartialResultPtr;
874 
879 class DAAL_EXPORT DistributedStep3MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
880 {
881 public:
882  DECLARE_SERIALIZABLE_CAST(DistributedStep3MasterPlusPlusPartialResult);
883  DistributedStep3MasterPlusPlusPartialResult();
884 
885  virtual ~DistributedStep3MasterPlusPlusPartialResult() {};
886 
893  template <typename algorithmFPType>
894  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
895 
901  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusPartialResultId id) const;
902 
909  data_management::NumericTablePtr get(DistributedStep3MasterPlusPlusPartialResultId id, size_t key) const;
910 
916  data_management::SerializationIfacePtr get(DistributedStep3MasterPlusPlusPartialResultDataId id) const;
917 
924  void add(DistributedStep3MasterPlusPlusPartialResultId id, size_t key, const data_management::NumericTablePtr &ptr);
925 
932  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
933 
939  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
940 
947  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
948 
949 protected:
950 
952  template<typename Archive, bool onDeserialize>
953  services::Status serialImpl(Archive *arch)
954  {
955  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
956  }
957 };
958 typedef services::SharedPtr<DistributedStep3MasterPlusPlusPartialResult> DistributedStep3MasterPlusPlusPartialResultPtr;
959 
964 class DAAL_EXPORT DistributedStep4LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
965 {
966 public:
967  DECLARE_SERIALIZABLE_CAST(DistributedStep4LocalPlusPlusPartialResult);
968  DistributedStep4LocalPlusPlusPartialResult();
969 
970  virtual ~DistributedStep4LocalPlusPlusPartialResult() {};
971 
978  template <typename algorithmFPType>
979  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
980 
986  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusPartialResultId id) const;
987 
993  void set(DistributedStep4LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
994 
1001  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1002 
1008  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1009 
1010 protected:
1011 
1013  template<typename Archive, bool onDeserialize>
1014  services::Status serialImpl(Archive *arch)
1015  {
1016  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1017  }
1018 };
1019 typedef services::SharedPtr<DistributedStep4LocalPlusPlusPartialResult> DistributedStep4LocalPlusPlusPartialResultPtr;
1020 
1025 class DAAL_EXPORT DistributedStep5MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
1026 {
1027 public:
1028  DECLARE_SERIALIZABLE_CAST(DistributedStep5MasterPlusPlusPartialResult);
1029  DistributedStep5MasterPlusPlusPartialResult();
1030 
1031  virtual ~DistributedStep5MasterPlusPlusPartialResult() {};
1032 
1039  template <typename algorithmFPType>
1040  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
1041 
1047  data_management::NumericTablePtr get(DistributedStep5MasterPlusPlusPartialResultId id) const;
1048 
1054  void set(DistributedStep5MasterPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
1055 
1062  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1063 
1069  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1070 
1071 protected:
1072 
1074  template<typename Archive, bool onDeserialize>
1075  services::Status serialImpl(Archive *arch)
1076  {
1077  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1078  }
1079 };
1080 typedef services::SharedPtr<DistributedStep5MasterPlusPlusPartialResult> DistributedStep5MasterPlusPlusPartialResultPtr;
1081 
1082 } // namespace interface1
1083 
1084 namespace interface2
1085 {
1090 struct DAAL_EXPORT Parameter : public interface1::Parameter
1091 {
1092  Parameter(size_t _nClusters, size_t _offset = 0, size_t _seed = 777777);
1093 
1099  Parameter(const Parameter &other);
1100 
1101  size_t nTrials;
1104  services::Status check() const DAAL_C11_OVERRIDE;
1105 };
1106 
1107 } // namespace interface2
1108 
1109 using interface2::Parameter;
1110 using interface1::InputIface;
1111 using interface1::Input;
1112 using interface1::PartialResult;
1113 using interface1::PartialResultPtr;
1114 using interface1::Result;
1115 using interface1::ResultPtr;
1116 using interface1::DistributedStep2MasterInput;
1117 using interface1::DistributedStep2LocalPlusPlusParameter;
1118 using interface1::DistributedStep2LocalPlusPlusInput;
1119 using interface1::DistributedStep3MasterPlusPlusInput;
1120 using interface1::DistributedStep4LocalPlusPlusInput;
1121 using interface1::DistributedStep5MasterPlusPlusInput;
1122 using interface1::DistributedStep2LocalPlusPlusPartialResult;
1123 using interface1::DistributedStep2LocalPlusPlusPartialResultPtr;
1124 using interface1::DistributedStep3MasterPlusPlusPartialResult;
1125 using interface1::DistributedStep3MasterPlusPlusPartialResultPtr;
1126 using interface1::DistributedStep4LocalPlusPlusPartialResult;
1127 using interface1::DistributedStep4LocalPlusPlusPartialResultPtr;
1128 using interface1::DistributedStep5MasterPlusPlusPartialResult;
1129 using interface1::DistributedStep5MasterPlusPlusPartialResultPtr;
1130 
1131 } // namespace daal::algorithms::kmeans::init
1133 } // namespace daal::algorithms::kmeans
1134 } // namespace daal::algorithms
1135 } // namespace daal
1136 #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:735
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:293
daal::algorithms::kmeans::init::interface1::InputIface
Interface for the K-Means initialization batch and distributed Input classes.
Definition: kmeans_init_types.h:306
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:675
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:359
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:497
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:288
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:796
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::interface2::Parameter::nTrials
size_t nTrials
Definition: kmeans_init_types.h:1101
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:290
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:547
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:296
daal::algorithms::kmeans::init::interface1::Parameter::offset
size_t offset
Definition: kmeans_init_types.h:287
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:1025
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:879
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:561
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:426
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:286
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:571
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
Base classes parameters for computing initial centroids for the K-Means algorithm.
Definition: kmeans_init_types.h:268
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:285
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::outputForStep5Required
bool outputForStep5Required
Definition: kmeans_init_types.h:562
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:634
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:318
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:964

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