C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

kmeans_init_types.h
1 /* file: kmeans_init_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 /*
19 //++
20 // Implementation of the interface for initializing K-Means algorithm interface.
21 //--
22 */
23 
24 #ifndef __KMEANS_INIT_TYPES_H__
25 #define __KMEANS_INIT_TYPES_H__
26 
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "data_management/data/homogen_numeric_table.h"
30 #include "data_management/data/data_collection.h"
31 #include "services/daal_defines.h"
32 #include "algorithms/engines/mt19937/mt19937.h"
33 
34 namespace daal
35 {
36 namespace algorithms
37 {
38 namespace kmeans
39 {
50 namespace init
51 {
56 enum Method
57 {
58  deterministicDense = 0,
59  defaultDense = 0,
60  randomDense = 1,
61  plusPlusDense = 2,
65  parallelPlusDense = 3,
67  deterministicCSR = 4,
68  randomCSR = 5,
69  plusPlusCSR = 6,
74  parallelPlusCSR = 7
77 };
78 
83 enum InputId
84 {
85  data,
86  lastInputId = data
87 };
88 
93 enum DistributedStep2MasterInputId
94 {
95  partialResults,
96  lastDistributedStep2MasterInputId = partialResults
97 };
98 
104 enum DistributedLocalPlusPlusInputDataId
105 {
106  internalInput = lastDistributedStep2MasterInputId + 1,
107  lastDistributedLocalPlusPlusInputDataId = internalInput
108 };
109 
115 enum DistributedStep2LocalPlusPlusInputId
116 {
117  inputOfStep2 = lastDistributedLocalPlusPlusInputDataId + 1,
118  lastDistributedStep2LocalPlusPlusInputId = inputOfStep2
119 };
120 
126 enum DistributedStep3MasterPlusPlusInputId
127 {
128  inputOfStep3FromStep2,
129  lastDistributedStep3MasterPlusPlusInputId = inputOfStep3FromStep2
130 };
131 
137 enum DistributedStep4LocalPlusPlusInputId
138 {
139  inputOfStep4FromStep3 = lastDistributedLocalPlusPlusInputDataId + 1,
140  lastDistributedStep4LocalPlusPlusInputId = inputOfStep4FromStep3
141 };
142 
148 enum DistributedStep5MasterPlusPlusInputId
149 {
150  inputCentroids,
151  inputOfStep5FromStep2,
152  lastDistributedStep5MasterPlusPlusInputId = inputOfStep5FromStep2
153 };
154 
160 enum DistributedStep5MasterPlusPlusInputDataId
161 {
162  inputOfStep5FromStep3 = lastDistributedStep5MasterPlusPlusInputId + 1,
163  lastDistributedStep5MasterPlusPlusInputDataId = inputOfStep5FromStep3
164 };
165 
170 enum PartialResultId
171 {
172  partialCentroids,
173  partialClusters = partialCentroids,
174  partialClustersNumber,
175  lastPartialResultId = partialClustersNumber
176 };
177 
183 enum DistributedStep2LocalPlusPlusPartialResultId
184 {
185  outputOfStep2ForStep3,
186  outputOfStep2ForStep5,
187  lastDistributedStep2LocalPlusPlusPartialResultId = outputOfStep2ForStep5
188 };
189 
195 enum DistributedStep2LocalPlusPlusPartialResultDataId
196 {
197  internalResult = lastDistributedStep2LocalPlusPlusPartialResultId + 1,
198  lastDistributedStep2LocalPlusPlusPartialResultDataId = internalResult
199 };
200 
206 enum DistributedStep3MasterPlusPlusPartialResultId
207 {
208  outputOfStep3ForStep4,
209  lastDistributedStep3MasterPlusPlusPartialResultId = outputOfStep3ForStep4
210 };
211 
217 enum DistributedStep3MasterPlusPlusPartialResultDataId
218 {
219  rngState = lastDistributedStep3MasterPlusPlusPartialResultId + 1,
220  outputOfStep3ForStep5 = rngState,
221  lastDistributedStep3MasterPlusPlusPartialResultDataId = outputOfStep3ForStep5
222 };
223 
229 enum DistributedStep4LocalPlusPlusPartialResultId
230 {
231  outputOfStep4,
232  lastDistributedStep4LocalPlusPlusPartialResultId = outputOfStep4
233 };
234 
240 enum DistributedStep5MasterPlusPlusPartialResultId
241 {
242  candidates,
243  weights,
244  lastDistributedStep5MasterPlusPlusPartialResultId = weights
245 };
246 
251 enum ResultId
252 {
253  centroids,
254  lastResultId = centroids
255 };
256 
257 
261 namespace interface1
262 {
269 /* [Parameter source code] */
270 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
271 {
278  Parameter(size_t _nClusters, size_t _offset = 0, size_t _seed = 777777);
279 
285  Parameter(const Parameter &other);
286 
287  size_t nClusters;
288  size_t nRowsTotal;
289  size_t offset;
290  size_t seed;
292  double oversamplingFactor;
294  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;
1103  services::Status check() const DAAL_C11_OVERRIDE;
1104 };
1105 
1106 } // namespace interface2
1107 
1108 using interface2::Parameter;
1109 using interface1::InputIface;
1110 using interface1::Input;
1111 using interface1::PartialResult;
1112 using interface1::PartialResultPtr;
1113 using interface1::Result;
1114 using interface1::ResultPtr;
1115 using interface1::DistributedStep2MasterInput;
1116 using interface1::DistributedStep2LocalPlusPlusParameter;
1117 using interface1::DistributedStep2LocalPlusPlusInput;
1118 using interface1::DistributedStep3MasterPlusPlusInput;
1119 using interface1::DistributedStep4LocalPlusPlusInput;
1120 using interface1::DistributedStep5MasterPlusPlusInput;
1121 using interface1::DistributedStep2LocalPlusPlusPartialResult;
1122 using interface1::DistributedStep2LocalPlusPlusPartialResultPtr;
1123 using interface1::DistributedStep3MasterPlusPlusPartialResult;
1124 using interface1::DistributedStep3MasterPlusPlusPartialResultPtr;
1125 using interface1::DistributedStep4LocalPlusPlusPartialResult;
1126 using interface1::DistributedStep4LocalPlusPlusPartialResultPtr;
1127 using interface1::DistributedStep5MasterPlusPlusPartialResult;
1128 using interface1::DistributedStep5MasterPlusPlusPartialResultPtr;
1129 
1130 } // namespace daal::algorithms::kmeans::init
1132 } // namespace daal::algorithms::kmeans
1133 } // namespace daal::algorithms
1134 } // namespace daal
1135 #endif
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusPartialResultDataId
DistributedStep2LocalPlusPlusPartialResultDataId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:195
daal::algorithms::kmeans::init::interface1::Parameter::oversamplingFactor
double oversamplingFactor
Definition: kmeans_init_types.h:292
daal::algorithms::kmeans::init::centroids
Definition: kmeans_init_types.h:253
daal::algorithms::kmeans::init::parallelPlusDense
Definition: kmeans_init_types.h:65
daal::algorithms::kmeans::init::interface1::DistributedStep4LocalPlusPlusInput
Interface for K-Means distributed Input classes used with plusPlus and parallelPlus methods only on t...
Definition: kmeans_init_types.h:675
daal::algorithms::kmeans::init::inputOfStep5FromStep3
Definition: kmeans_init_types.h:162
daal::algorithms::kmeans::init::interface1::DistributedStep2MasterInput
Input objects for computing initials clusters for K-Means algorithm in the second step of the distrib...
Definition: kmeans_init_types.h:497
daal::algorithms::kmeans::init::interface1::Parameter::nRounds
size_t nRounds
Definition: kmeans_init_types.h:294
daal::algorithms::kmeans::init::interface1::Parameter::engine
engines::EnginePtr engine
Definition: kmeans_init_types.h:296
daal::algorithms::kmeans::init::Method
Method
Definition: kmeans_init_types.h:56
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusInputDataId
DistributedStep5MasterPlusPlusInputDataId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:160
daal::algorithms::kmeans::init::deterministicDense
Definition: kmeans_init_types.h:58
daal::algorithms::kmeans::init::partialCentroids
Definition: kmeans_init_types.h:172
daal::algorithms::kmeans::init::interface1::Parameter::seed
size_t seed
Definition: kmeans_init_types.h:290
daal::algorithms::kmeans::init::interface1::DistributedStep3MasterPlusPlusInput
Interface for K-Means distributed Input classes used with plusPlus and parallelPlus methods only on t...
Definition: kmeans_init_types.h:634
daal::algorithms::kmeans::init::DistributedLocalPlusPlusInputDataId
DistributedLocalPlusPlusInputDataId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:104
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter
Parameters for computing initial centroids for K-Means algorithm.
Definition: kmeans_init_types.h:547
daal::algorithms::kmeans::init::inputOfStep4FromStep3
Definition: kmeans_init_types.h:139
daal::algorithms::kmeans::init::DistributedStep4LocalPlusPlusPartialResultId
DistributedStep4LocalPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:229
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::outputForStep5Required
bool outputForStep5Required
Definition: kmeans_init_types.h:562
daal::algorithms::kmeans::init::DistributedStep4LocalPlusPlusInputId
DistributedStep4LocalPlusPlusInputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:137
daal::algorithms::kmeans::init::interface1::Parameter
Base classes parameters for computing initial centroids for K-Means algorithm.
Definition: kmeans_init_types.h:270
daal::algorithms::kmeans::init::data
Definition: kmeans_init_types.h:85
daal::algorithms::kmeans::init::randomCSR
Definition: kmeans_init_types.h:68
daal::algorithms::kmeans::init::inputOfStep2
Definition: kmeans_init_types.h:117
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusInputId
DistributedStep5MasterPlusPlusInputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:148
daal::algorithms::kmeans::init::ResultId
ResultId
Available identifiers of the results of computing initial centroids for K-Means algorithm.
Definition: kmeans_init_types.h:251
daal::algorithms::kmeans::init::interface1::Input
Input objects for computing initial centroids for K-Means algorithm
Definition: kmeans_init_types.h:318
daal::algorithms::kmeans::init::PartialResultId
PartialResultId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:170
daal::algorithms::kmeans::init::partialClusters
Definition: kmeans_init_types.h:173
daal::algorithms::kmeans::init::rngState
Definition: kmeans_init_types.h:219
daal::algorithms::kmeans::init::interface1::InputIface
Interface for K-Means initialization batch and distributed Input classes.
Definition: kmeans_init_types.h:306
daal::algorithms::kmeans::init::weights
Definition: kmeans_init_types.h:243
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusPartialResultId
DistributedStep2LocalPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:183
daal::algorithms::kmeans::init::inputOfStep5FromStep2
Definition: kmeans_init_types.h:151
daal::algorithms::kmeans::init::DistributedStep2LocalPlusPlusInputId
DistributedStep2LocalPlusPlusInputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:115
daal::algorithms::kmeans::init::outputOfStep2ForStep5
Definition: kmeans_init_types.h:186
daal_defines.h
daal::algorithms::kmeans::init::interface2::Parameter::nTrials
size_t nTrials
Definition: kmeans_init_types.h:1101
daal::algorithms::kmeans::init::interface1::DistributedStep5MasterPlusPlusPartialResult
Partial results obtained with the compute() method of K-Means algorithm in the distributed processing...
Definition: kmeans_init_types.h:1025
daal::algorithms::kmeans::init::outputOfStep3ForStep5
Definition: kmeans_init_types.h:220
daal::algorithms::kmeans::init::internalResult
Definition: kmeans_init_types.h:197
daal::algorithms::kmeans::init::inputCentroids
Definition: kmeans_init_types.h:150
daal::algorithms::kmeans::init::candidates
Definition: kmeans_init_types.h:242
daal::algorithms::kmeans::init::interface1::Parameter::nClusters
size_t nClusters
Definition: kmeans_init_types.h:287
daal::algorithms::kmeans::init::outputOfStep3ForStep4
Definition: kmeans_init_types.h:208
daal::algorithms::kmeans::init::outputOfStep2ForStep3
Definition: kmeans_init_types.h:185
daal::algorithms::kmeans::init::interface1::DistributedStep4LocalPlusPlusPartialResult
Partial results obtained with the compute() method of K-Means algorithm in the distributed processing...
Definition: kmeans_init_types.h:964
daal::algorithms::kmeans::init::interface1::PartialResult
Partial results obtained with the compute() method of K-Means algorithm in the batch processing mode...
Definition: kmeans_init_types.h:359
daal::algorithms::kmeans::init::interface1::Result
Results obtained with the compute() method that computes initial centroids for K-Means algorithm in t...
Definition: kmeans_init_types.h:426
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusPartialResultId
DistributedStep3MasterPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:206
daal::algorithms::kmeans::init::DistributedStep5MasterPlusPlusPartialResultId
DistributedStep5MasterPlusPlusPartialResultId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:240
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusPartialResultDataId
DistributedStep3MasterPlusPlusPartialResultDataId
Available identifiers of partial results of computing initial centroids for K-Means algorithm in the ...
Definition: kmeans_init_types.h:217
daal::algorithms::kmeans::init::randomDense
Definition: kmeans_init_types.h:60
daal::algorithms::kmeans::init::plusPlusCSR
Definition: kmeans_init_types.h:69
daal::algorithms::kmeans::init::interface1::DistributedStep3MasterPlusPlusPartialResult
Partial results obtained with the compute() method of K-Means algorithm in the distributed processing...
Definition: kmeans_init_types.h:879
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusPartialResult
Partial results obtained with the compute() method of K-Means algorithm in the distributed processing...
Definition: kmeans_init_types.h:796
daal::algorithms::kmeans::init::DistributedStep2MasterInputId
DistributedStep2MasterInputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm in the d...
Definition: kmeans_init_types.h:93
daal::algorithms::kmeans::init::inputOfStep3FromStep2
Definition: kmeans_init_types.h:128
daal::algorithms::kmeans::init::interface1::Parameter::nRowsTotal
size_t nRowsTotal
Definition: kmeans_init_types.h:288
daal::algorithms::kmeans::init::defaultDense
Definition: kmeans_init_types.h:59
daal::algorithms::kmeans::init::partialResults
Definition: kmeans_init_types.h:95
daal::algorithms::kmeans::init::parallelPlusCSR
Definition: kmeans_init_types.h:74
daal::algorithms::kmeans::init::DistributedStep3MasterPlusPlusInputId
DistributedStep3MasterPlusPlusInputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm used wit...
Definition: kmeans_init_types.h:126
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusInput
Interface for K-Means initialization distributed Input classes used with plusPlus and parallelPlus me...
Definition: kmeans_init_types.h:571
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::firstIteration
bool firstIteration
Definition: kmeans_init_types.h:561
daal::algorithms::kmeans::init::partialClustersNumber
Definition: kmeans_init_types.h:174
daal::algorithms::kmeans::init::InputId
InputId
Available identifiers of input objects for computing initial centroids for K-Means algorithm...
Definition: kmeans_init_types.h:83
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::kmeans::init::outputOfStep4
Definition: kmeans_init_types.h:231
daal::algorithms::kmeans::init::interface1::DistributedStep5MasterPlusPlusInput
Interface for K-Means distributed Input classes.
Definition: kmeans_init_types.h:735
daal::algorithms::kmeans::init::interface1::Parameter::offset
size_t offset
Definition: kmeans_init_types.h:289
daal::algorithms::kmeans::init::internalInput
Definition: kmeans_init_types.h:106
daal::algorithms::kmeans::init::plusPlusDense
Definition: kmeans_init_types.h:61
daal::algorithms::kmeans::init::deterministicCSR
Definition: kmeans_init_types.h:67

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