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

kmeans_init_types.h
1 /* file: kmeans_init_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 Intel Corporation
4 * All Rights Reserved.
5 *
6 * If this software was obtained under the Intel Simplified Software License,
7 * the following terms apply:
8 *
9 * The source code, information and material ("Material") contained herein is
10 * owned by Intel Corporation or its suppliers or licensors, and title to such
11 * Material remains with Intel Corporation or its suppliers or licensors. The
12 * Material contains proprietary information of Intel or its suppliers and
13 * licensors. The Material is protected by worldwide copyright laws and treaty
14 * provisions. No part of the Material may be used, copied, reproduced,
15 * modified, published, uploaded, posted, transmitted, distributed or disclosed
16 * in any way without Intel's prior express written permission. No license under
17 * any patent, copyright or other intellectual property rights in the Material
18 * is granted to or conferred upon you, either expressly, by implication,
19 * inducement, estoppel or otherwise. Any license under such intellectual
20 * property rights must be express and approved by Intel in writing.
21 *
22 * Unless otherwise agreed by Intel in writing, you may not remove or alter this
23 * notice or any other notice embedded in Materials by Intel or Intel's
24 * suppliers or licensors in any way.
25 *
26 *
27 * If this software was obtained under the Apache License, Version 2.0 (the
28 * "License"), the following terms apply:
29 *
30 * You may not use this file except in compliance with the License. You may
31 * obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
32 *
33 *
34 * Unless required by applicable law or agreed to in writing, software
35 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
36 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
37 *
38 * See the License for the specific language governing permissions and
39 * limitations under the License.
40 *******************************************************************************/
41 
42 /*
43 //++
44 // Implementation of the K-Means algorithm interface.
45 //--
46 */
47 
48 #ifndef __KMEANS_INIT_TYPES_H__
49 #define __KMEANS_INIT_TYPES_H__
50 
51 #include "algorithms/algorithm.h"
52 #include "data_management/data/numeric_table.h"
53 #include "data_management/data/homogen_numeric_table.h"
54 #include "data_management/data/data_collection.h"
55 #include "services/daal_defines.h"
56 #include "algorithms/engines/mt19937/mt19937.h"
57 
58 namespace daal
59 {
60 namespace algorithms
61 {
62 namespace kmeans
63 {
74 namespace init
75 {
80 enum Method
81 {
82  deterministicDense = 0,
83  defaultDense = 0,
84  randomDense = 1,
85  plusPlusDense = 2,
89  parallelPlusDense = 3,
91  deterministicCSR = 4,
92  randomCSR = 5,
93  plusPlusCSR = 6,
98  parallelPlusCSR = 7
101 };
102 
107 enum InputId
108 {
109  data,
110  lastInputId = data
111 };
112 
117 enum DistributedStep2MasterInputId
118 {
119  partialResults,
120  lastDistributedStep2MasterInputId = partialResults
121 };
122 
128 enum DistributedLocalPlusPlusInputDataId
129 {
130  internalInput = lastDistributedStep2MasterInputId + 1,
131  lastDistributedLocalPlusPlusInputDataId = internalInput
132 };
133 
139 enum DistributedStep2LocalPlusPlusInputId
140 {
141  inputOfStep2 = lastDistributedLocalPlusPlusInputDataId + 1,
142  lastDistributedStep2LocalPlusPlusInputId = inputOfStep2
143 };
144 
150 enum DistributedStep3MasterPlusPlusInputId
151 {
152  inputOfStep3FromStep2,
153  lastDistributedStep3MasterPlusPlusInputId = inputOfStep3FromStep2
154 };
155 
161 enum DistributedStep4LocalPlusPlusInputId
162 {
163  inputOfStep4FromStep3 = lastDistributedLocalPlusPlusInputDataId + 1,
164  lastDistributedStep4LocalPlusPlusInputId = inputOfStep4FromStep3
165 };
166 
172 enum DistributedStep5MasterPlusPlusInputId
173 {
174  inputCentroids,
175  inputOfStep5FromStep2,
176  lastDistributedStep5MasterPlusPlusInputId = inputOfStep5FromStep2
177 };
178 
184 enum DistributedStep5MasterPlusPlusInputDataId
185 {
186  inputOfStep5FromStep3 = lastDistributedStep5MasterPlusPlusInputId + 1,
187  lastDistributedStep5MasterPlusPlusInputDataId = inputOfStep5FromStep3
188 };
189 
194 enum PartialResultId
195 {
196  partialCentroids,
197  partialClusters = partialCentroids,
198  partialClustersNumber,
199  lastPartialResultId = partialClustersNumber
200 };
201 
207 enum DistributedStep2LocalPlusPlusPartialResultId
208 {
209  outputOfStep2ForStep3,
210  outputOfStep2ForStep5,
211  lastDistributedStep2LocalPlusPlusPartialResultId = outputOfStep2ForStep5
212 };
213 
219 enum DistributedStep2LocalPlusPlusPartialResultDataId
220 {
221  internalResult = lastDistributedStep2LocalPlusPlusPartialResultId + 1,
222  lastDistributedStep2LocalPlusPlusPartialResultDataId = internalResult
223 };
224 
230 enum DistributedStep3MasterPlusPlusPartialResultId
231 {
232  outputOfStep3ForStep4,
233  lastDistributedStep3MasterPlusPlusPartialResultId = outputOfStep3ForStep4
234 };
235 
241 enum DistributedStep3MasterPlusPlusPartialResultDataId
242 {
243  rngState = lastDistributedStep3MasterPlusPlusPartialResultId + 1,
244  outputOfStep3ForStep5 = rngState,
245  lastDistributedStep3MasterPlusPlusPartialResultDataId = outputOfStep3ForStep5
246 };
247 
253 enum DistributedStep4LocalPlusPlusPartialResultId
254 {
255  outputOfStep4,
256  lastDistributedStep4LocalPlusPlusPartialResultId = outputOfStep4
257 };
258 
264 enum DistributedStep5MasterPlusPlusPartialResultId
265 {
266  candidates,
267  weights,
268  lastDistributedStep5MasterPlusPlusPartialResultId = weights
269 };
270 
275 enum ResultId
276 {
277  centroids,
278  lastResultId = centroids
279 };
280 
284 namespace interface1
285 {
292 /* [Parameter source code] */
293 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
294 {
301  Parameter(size_t _nClusters, size_t _offset = 0, size_t _seed = 777777);
302 
308  Parameter(const Parameter &other);
309 
310  size_t nClusters;
311  size_t nRowsTotal;
312  size_t offset;
313  size_t seed;
315  double oversamplingFactor;
318  size_t nRounds;
320  engines::EnginePtr engine;
322  services::Status check() const DAAL_C11_OVERRIDE;
323 };
324 /* [Parameter source code] */
325 
330 class DAAL_EXPORT InputIface : public daal::algorithms::Input
331 {
332 public:
333  InputIface(size_t nElements) : daal::algorithms::Input(nElements) {};
334 
335  virtual size_t getNumberOfFeatures() const = 0;
336 };
337 
342 class DAAL_EXPORT Input : public InputIface
343 {
344 public:
345  Input();
346  virtual ~Input() {}
347 
353  data_management::NumericTablePtr get(InputId id) const;
354 
360  void set(InputId id, const data_management::NumericTablePtr &ptr);
361 
366  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
367 
373  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
374 
375 protected:
376  Input(size_t nElements);
377 };
378 
383 class DAAL_EXPORT PartialResult : public daal::algorithms::PartialResult
384 {
385 public:
386  DECLARE_SERIALIZABLE_CAST(PartialResult);
387  PartialResult();
388 
389  virtual ~PartialResult() {};
390 
397  template <typename algorithmFPType>
398  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
399 
405  data_management::NumericTablePtr get(PartialResultId id) const;
406 
412  void set(PartialResultId id, const data_management::NumericTablePtr &ptr);
413 
418  size_t getNumberOfFeatures() const;
419 
426  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
427 
433  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
434 
435 protected:
437  template<typename Archive, bool onDeserialize>
438  services::Status serialImpl(Archive *arch)
439  {
440  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
441  }
442 };
443 typedef services::SharedPtr<PartialResult> PartialResultPtr;
444 
450 class DAAL_EXPORT Result : public daal::algorithms::Result
451 {
452 public:
453  DECLARE_SERIALIZABLE_CAST(Result);
454  Result();
455 
456  virtual ~Result() {};
457 
464  template <typename algorithmFPType>
465  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
466 
473  template <typename algorithmFPType>
474  DAAL_EXPORT services::Status allocate(const daal::algorithms::PartialResult *partialResult, const daal::algorithms::Parameter *parameter, const int method);
475 
481  data_management::NumericTablePtr get(ResultId id) const;
482 
488  void set(ResultId id, const data_management::NumericTablePtr &ptr);
489 
496  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
497 
504  services::Status check(const daal::algorithms::PartialResult *pres, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
505 
506 protected:
508  template<typename Archive, bool onDeserialize>
509  services::Status serialImpl(Archive *arch)
510  {
511  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
512  }
513 };
514 typedef services::SharedPtr<Result> ResultPtr;
515 
521 class DAAL_EXPORT DistributedStep2MasterInput : public InputIface
522 {
523 public:
524  DistributedStep2MasterInput();
525 
526  virtual ~DistributedStep2MasterInput() {}
527 
534  data_management::DataCollectionPtr get(DistributedStep2MasterInputId id) const;
535 
542  void set(DistributedStep2MasterInputId id, const data_management::DataCollectionPtr &ptr);
543 
550  void add(DistributedStep2MasterInputId id, const PartialResultPtr &value);
551 
556  size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE;
557 
564  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
565 };
566 
573 /* [DistributedStep2LocalPlusPlusParameter source code] */
574 struct DAAL_EXPORT DistributedStep2LocalPlusPlusParameter : public Parameter
575 {
579  DistributedStep2LocalPlusPlusParameter(size_t _nClusters, bool bFirstIteration);
580 
586  DistributedStep2LocalPlusPlusParameter(const DistributedStep2LocalPlusPlusParameter &other);
587 
588  bool firstIteration;
589  bool outputForStep5Required;
590  services::Status check() const DAAL_C11_OVERRIDE;
591 };
592 /* [DistributedStep2LocalPlusPlusParameter source code] */
593 
594 
600 class DAAL_EXPORT DistributedStep2LocalPlusPlusInput : public Input
601 {
602 public:
603  DistributedStep2LocalPlusPlusInput();
604  DistributedStep2LocalPlusPlusInput(const DistributedStep2LocalPlusPlusInput& o);
605 
606  virtual ~DistributedStep2LocalPlusPlusInput() {}
607 
613  data_management::NumericTablePtr get(InputId id) const;
614 
620  void set(InputId id, const data_management::NumericTablePtr &ptr);
621 
627  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
628 
634  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
635 
641  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusInputId id) const;
642 
648  void set(DistributedStep2LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
649 
655  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
656 };
657 
663 class DAAL_EXPORT DistributedStep3MasterPlusPlusInput : public daal::algorithms::Input
664 {
665 public:
666  DistributedStep3MasterPlusPlusInput();
667  DistributedStep3MasterPlusPlusInput(const DistributedStep3MasterPlusPlusInput& o);
668 
674  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusInputId id) const;
675 
681  void set(DistributedStep3MasterPlusPlusInputId id, const data_management::KeyValueDataCollectionPtr &ptr);
682 
689  void add(DistributedStep3MasterPlusPlusInputId id, size_t key, const data_management::NumericTablePtr &ptr);
690 
696  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
697 };
698 
704 class DAAL_EXPORT DistributedStep4LocalPlusPlusInput : public Input
705 {
706 public:
707  DistributedStep4LocalPlusPlusInput();
708  DistributedStep4LocalPlusPlusInput(const DistributedStep4LocalPlusPlusInput& o);
709 
715  data_management::NumericTablePtr get(InputId id) const;
716 
722  void set(InputId id, const data_management::NumericTablePtr &ptr);
723 
729  data_management::DataCollectionPtr get(DistributedLocalPlusPlusInputDataId id) const;
730 
736  void set(DistributedLocalPlusPlusInputDataId id, const data_management::DataCollectionPtr &ptr);
737 
743  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusInputId id) const;
744 
750  void set(DistributedStep4LocalPlusPlusInputId id, const data_management::NumericTablePtr &ptr);
751 
757  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
758 };
759 
764 class DAAL_EXPORT DistributedStep5MasterPlusPlusInput : public daal::algorithms::Input
765 {
766 public:
767  DistributedStep5MasterPlusPlusInput();
768  DistributedStep5MasterPlusPlusInput(const DistributedStep5MasterPlusPlusInput& o);
769 
770  virtual ~DistributedStep5MasterPlusPlusInput() {}
771 
778  data_management::DataCollectionPtr get(DistributedStep5MasterPlusPlusInputId id) const;
779 
786  void set(DistributedStep5MasterPlusPlusInputId id, const data_management::DataCollectionPtr &ptr);
787 
794  void add(DistributedStep5MasterPlusPlusInputId id, const data_management::NumericTablePtr &value);
795 
802  data_management::SerializationIfacePtr get(DistributedStep5MasterPlusPlusInputDataId id) const;
803 
810  void set(DistributedStep5MasterPlusPlusInputDataId id, const data_management::SerializationIfacePtr &ptr);
811 
818  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
819 };
820 
825 class DAAL_EXPORT DistributedStep2LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
826 {
827 public:
828  DECLARE_SERIALIZABLE_CAST(DistributedStep2LocalPlusPlusPartialResult);
829  DistributedStep2LocalPlusPlusPartialResult();
830 
831  virtual ~DistributedStep2LocalPlusPlusPartialResult() {};
832 
839  template <typename algorithmFPType>
840  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
841 
847  data_management::NumericTablePtr get(DistributedStep2LocalPlusPlusPartialResultId id) const;
848 
854  void set(DistributedStep2LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
855 
861  data_management::DataCollectionPtr get(DistributedStep2LocalPlusPlusPartialResultDataId id) const;
862 
868  void set(DistributedStep2LocalPlusPlusPartialResultDataId id, const data_management::DataCollectionPtr &ptr);
869 
876  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
877 
883  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
884 
891  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
892 
893 protected:
894 
896  template<typename Archive, bool onDeserialize>
897  services::Status serialImpl(Archive *arch)
898  {
899  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
900  }
901 };
902 typedef services::SharedPtr<DistributedStep2LocalPlusPlusPartialResult> DistributedStep2LocalPlusPlusPartialResultPtr;
903 
908 class DAAL_EXPORT DistributedStep3MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
909 {
910 public:
911  DECLARE_SERIALIZABLE_CAST(DistributedStep3MasterPlusPlusPartialResult);
912  DistributedStep3MasterPlusPlusPartialResult();
913 
914  virtual ~DistributedStep3MasterPlusPlusPartialResult() {};
915 
922  template <typename algorithmFPType>
923  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
924 
930  data_management::KeyValueDataCollectionPtr get(DistributedStep3MasterPlusPlusPartialResultId id) const;
931 
938  data_management::NumericTablePtr get(DistributedStep3MasterPlusPlusPartialResultId id, size_t key) const;
939 
945  data_management::SerializationIfacePtr get(DistributedStep3MasterPlusPlusPartialResultDataId id) const;
946 
953  void add(DistributedStep3MasterPlusPlusPartialResultId id, size_t key, const data_management::NumericTablePtr &ptr);
954 
961  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
962 
968  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
969 
976  void initialize(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method);
977 
978 protected:
979 
981  template<typename Archive, bool onDeserialize>
982  services::Status serialImpl(Archive *arch)
983  {
984  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
985  }
986 };
987 typedef services::SharedPtr<DistributedStep3MasterPlusPlusPartialResult> DistributedStep3MasterPlusPlusPartialResultPtr;
988 
993 class DAAL_EXPORT DistributedStep4LocalPlusPlusPartialResult : public daal::algorithms::PartialResult
994 {
995 public:
996  DECLARE_SERIALIZABLE_CAST(DistributedStep4LocalPlusPlusPartialResult);
997  DistributedStep4LocalPlusPlusPartialResult();
998 
999  virtual ~DistributedStep4LocalPlusPlusPartialResult() {};
1000 
1007  template <typename algorithmFPType>
1008  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
1009 
1015  data_management::NumericTablePtr get(DistributedStep4LocalPlusPlusPartialResultId id) const;
1016 
1022  void set(DistributedStep4LocalPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
1023 
1030  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1031 
1037  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1038 
1039 protected:
1040 
1042  template<typename Archive, bool onDeserialize>
1043  services::Status serialImpl(Archive *arch)
1044  {
1045  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1046  }
1047 };
1048 typedef services::SharedPtr<DistributedStep4LocalPlusPlusPartialResult> DistributedStep4LocalPlusPlusPartialResultPtr;
1049 
1054 class DAAL_EXPORT DistributedStep5MasterPlusPlusPartialResult : public daal::algorithms::PartialResult
1055 {
1056 public:
1057  DECLARE_SERIALIZABLE_CAST(DistributedStep5MasterPlusPlusPartialResult);
1058  DistributedStep5MasterPlusPlusPartialResult();
1059 
1060  virtual ~DistributedStep5MasterPlusPlusPartialResult() {};
1061 
1068  template <typename algorithmFPType>
1069  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
1070 
1076  data_management::NumericTablePtr get(DistributedStep5MasterPlusPlusPartialResultId id) const;
1077 
1083  void set(DistributedStep5MasterPlusPlusPartialResultId id, const data_management::NumericTablePtr &ptr);
1084 
1091  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1092 
1098  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
1099 
1100 protected:
1101 
1103  template<typename Archive, bool onDeserialize>
1104  services::Status serialImpl(Archive *arch)
1105  {
1106  return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
1107  }
1108 };
1109 typedef services::SharedPtr<DistributedStep5MasterPlusPlusPartialResult> DistributedStep5MasterPlusPlusPartialResultPtr;
1110 
1111 } // namespace interface1
1112 using interface1::Parameter;
1113 using interface1::InputIface;
1114 using interface1::Input;
1115 using interface1::PartialResult;
1116 using interface1::PartialResultPtr;
1117 using interface1::Result;
1118 using interface1::ResultPtr;
1119 using interface1::DistributedStep2MasterInput;
1120 using interface1::DistributedStep2LocalPlusPlusParameter;
1121 using interface1::DistributedStep2LocalPlusPlusInput;
1122 using interface1::DistributedStep3MasterPlusPlusInput;
1123 using interface1::DistributedStep4LocalPlusPlusInput;
1124 using interface1::DistributedStep5MasterPlusPlusInput;
1125 using interface1::DistributedStep2LocalPlusPlusPartialResult;
1126 using interface1::DistributedStep2LocalPlusPlusPartialResultPtr;
1127 using interface1::DistributedStep3MasterPlusPlusPartialResult;
1128 using interface1::DistributedStep3MasterPlusPlusPartialResultPtr;
1129 using interface1::DistributedStep4LocalPlusPlusPartialResult;
1130 using interface1::DistributedStep4LocalPlusPlusPartialResultPtr;
1131 using interface1::DistributedStep5MasterPlusPlusPartialResult;
1132 using interface1::DistributedStep5MasterPlusPlusPartialResultPtr;
1133 
1134 } // namespace daal::algorithms::kmeans::init
1136 } // namespace daal::algorithms::kmeans
1137 } // namespace daal::algorithms
1138 } // namespace daal
1139 #endif
daal::algorithms::kmeans::init::plusPlusDense
Definition: kmeans_init_types.h:85
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:275
daal::algorithms::kmeans::init::partialCentroids
Definition: kmeans_init_types.h:196
daal::algorithms::kmeans::init::outputOfStep3ForStep5
Definition: kmeans_init_types.h:244
daal::algorithms::kmeans::init::interface1::DistributedStep5MasterPlusPlusInput
Interface for the K-Means distributed Input classes.
Definition: kmeans_init_types.h:764
daal::algorithms::kmeans::init::interface1::Parameter::nRounds
size_t nRounds
Definition: kmeans_init_types.h:318
daal::algorithms::kmeans::init::interface1::InputIface
Interface for the K-Means initialization batch and distributed Input classes.
Definition: kmeans_init_types.h:330
daal::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
daal::algorithms::interface1::Result
Base class to represent final results of the computation. Algorithm-specific final results are repres...
Definition: algorithm_types.h:331
daal::algorithms::kmeans::init::interface1::DistributedStep4LocalPlusPlusInput
Interface for the K-Means distributed Input classes used with plusPlus and parallelPlus methods only ...
Definition: kmeans_init_types.h:704
daal::algorithms::kmeans::init::Method
Method
Definition: kmeans_init_types.h:80
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:383
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:521
daal::algorithms::kmeans::init::parallelPlusDense
Definition: kmeans_init_types.h:89
daal::algorithms::kmeans::init::plusPlusCSR
Definition: kmeans_init_types.h:93
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:253
daal::algorithms::kmeans::init::weights
Definition: kmeans_init_types.h:267
daal::algorithms::kmeans::init::interface1::Parameter::seed
size_t seed
Definition: kmeans_init_types.h:313
daal::algorithms::kmeans::init::inputOfStep5FromStep2
Definition: kmeans_init_types.h:175
daal::algorithms::kmeans::init::partialClusters
Definition: kmeans_init_types.h:197
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:825
daal::algorithms::kmeans::init::inputOfStep2
Definition: kmeans_init_types.h:141
daal::algorithms::interface1::PartialResult
Base class to represent partial results of the computation. Algorithm-specific partial results are re...
Definition: algorithm_types.h:253
daal::algorithms::kmeans::init::defaultDense
Definition: kmeans_init_types.h:83
daal::algorithms::kmeans::init::interface1::Parameter::oversamplingFactor
double oversamplingFactor
Definition: kmeans_init_types.h:315
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter
Parameters for computing initial centroids for the K-Means algorithm.
Definition: kmeans_init_types.h:574
daal_defines.h
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:194
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:161
daal::algorithms::kmeans::init::interface1::Parameter::engine
engines::EnginePtr engine
Definition: kmeans_init_types.h:320
daal::algorithms::kmeans::init::interface1::Parameter::offset
size_t offset
Definition: kmeans_init_types.h:312
daal::algorithms::kmeans::init::rngState
Definition: kmeans_init_types.h:243
daal::algorithms::interface1::Parameter
Base class to represent computation parameters. Algorithm-specific parameters are represented as deri...
Definition: algorithm_types.h:86
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:172
daal::algorithms::kmeans::init::internalInput
Definition: kmeans_init_types.h:130
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
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:139
daal::algorithms::kmeans::init::centroids
Definition: kmeans_init_types.h:277
daal::algorithms::kmeans::init::partialClustersNumber
Definition: kmeans_init_types.h:198
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:1054
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:908
daal::algorithms::kmeans::init::deterministicCSR
Definition: kmeans_init_types.h:91
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::firstIteration
bool firstIteration
Definition: kmeans_init_types.h:588
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:450
daal::algorithms::kmeans::init::inputOfStep4FromStep3
Definition: kmeans_init_types.h:163
daal::algorithms::kmeans::init::randomDense
Definition: kmeans_init_types.h:84
daal::algorithms::kmeans::init::outputOfStep4
Definition: kmeans_init_types.h:255
daal::algorithms::kmeans::init::outputOfStep2ForStep5
Definition: kmeans_init_types.h:210
daal::algorithms::kmeans::init::candidates
Definition: kmeans_init_types.h:266
daal::algorithms::kmeans::init::interface1::Parameter::nRowsTotal
size_t nRowsTotal
Definition: kmeans_init_types.h:311
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:600
daal::algorithms::kmeans::init::interface1::Parameter
Parameters for computing initial centroids for the K-Means algorithm.
Definition: kmeans_init_types.h:293
daal::algorithms::kmeans::init::inputCentroids
Definition: kmeans_init_types.h:174
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:241
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:150
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:117
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:128
daal::algorithms::kmeans::init::outputOfStep2ForStep3
Definition: kmeans_init_types.h:209
daal::algorithms::kmeans::init::interface1::Parameter::nClusters
size_t nClusters
Definition: kmeans_init_types.h:310
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:230
daal::algorithms::kmeans::init::inputOfStep3FromStep2
Definition: kmeans_init_types.h:152
daal::algorithms::kmeans::init::interface1::DistributedStep2LocalPlusPlusParameter::outputForStep5Required
bool outputForStep5Required
Definition: kmeans_init_types.h:589
daal::algorithms::kmeans::init::parallelPlusCSR
Definition: kmeans_init_types.h:98
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:219
daal::algorithms::math::abs::value
Definition: abs_types.h:112
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:207
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:264
daal::algorithms::kmeans::init::outputOfStep3ForStep4
Definition: kmeans_init_types.h:232
daal::algorithms::kmeans::init::randomCSR
Definition: kmeans_init_types.h:92
daal::algorithms::kmeans::init::partialResults
Definition: kmeans_init_types.h:119
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:184
daal::algorithms::kmeans::init::inputOfStep5FromStep3
Definition: kmeans_init_types.h:186
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:107
daal::algorithms::kmeans::init::deterministicDense
Definition: kmeans_init_types.h:82
daal::algorithms::interface1::Input
Base class to represent computation input arguments. Algorithm-specific input arguments are represent...
Definition: algorithm_types.h:217
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:663
daal::algorithms::kmeans::init::data
Definition: kmeans_init_types.h:109
daal::algorithms::kmeans::init::internalResult
Definition: kmeans_init_types.h:221
daal::algorithms::kmeans::init::interface1::Input
Input objects for computing initial centroids for the K-Means algorithm
Definition: kmeans_init_types.h:342
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:993

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