pca_mg.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2025, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include "pca.hpp"
9 
10 #include <cumlprims/opg/matrix/data.hpp>
11 #include <cumlprims/opg/matrix/part_descriptor.hpp>
12 
13 namespace ML {
14 namespace PCA {
15 namespace opg {
16 
33 void fit(raft::handle_t& handle,
34  std::vector<MLCommon::Matrix::Data<float>*>& input_data,
35  MLCommon::Matrix::PartDescriptor& input_desc,
36  float* components,
37  float* explained_var,
38  float* explained_var_ratio,
39  float* singular_vals,
40  float* mu,
41  float* noise_vars,
42  paramsPCAMG prms,
43  bool verbose = false,
44  bool flip_signs_based_on_U = false);
45 
46 void fit(raft::handle_t& handle,
47  std::vector<MLCommon::Matrix::Data<double>*>& input_data,
48  MLCommon::Matrix::PartDescriptor& input_desc,
49  double* components,
50  double* explained_var,
51  double* explained_var_ratio,
52  double* singular_vals,
53  double* mu,
54  double* noise_vars,
55  paramsPCAMG prms,
56  bool verbose = false,
57  bool flip_signs_based_on_U = false);
58 
77 void fit_transform(raft::handle_t& handle,
78  MLCommon::Matrix::RankSizePair** rank_sizes,
79  std::uint32_t n_parts,
80  MLCommon::Matrix::floatData_t** input,
81  MLCommon::Matrix::floatData_t** trans_input,
82  float* components,
83  float* explained_var,
84  float* explained_var_ratio,
85  float* singular_vals,
86  float* mu,
87  float* noise_vars,
88  paramsPCAMG prms,
89  bool verbose,
90  bool flip_signs_based_on_U);
91 
92 void fit_transform(raft::handle_t& handle,
93  MLCommon::Matrix::RankSizePair** rank_sizes,
94  std::uint32_t n_parts,
95  MLCommon::Matrix::doubleData_t** input,
96  MLCommon::Matrix::doubleData_t** trans_input,
97  double* components,
98  double* explained_var,
99  double* explained_var_ratio,
100  double* singular_vals,
101  double* mu,
102  double* noise_vars,
103  paramsPCAMG prms,
104  bool verbose,
105  bool flip_signs_based_on_U);
106 
120 void transform(raft::handle_t& handle,
121  MLCommon::Matrix::RankSizePair** rank_sizes,
122  std::uint32_t n_parts,
123  MLCommon::Matrix::Data<float>** input,
124  float* components,
125  MLCommon::Matrix::Data<float>** trans_input,
126  float* singular_vals,
127  float* mu,
128  paramsPCAMG prms,
129  bool verbose);
130 
131 void transform(raft::handle_t& handle,
132  MLCommon::Matrix::RankSizePair** rank_sizes,
133  std::uint32_t n_parts,
134  MLCommon::Matrix::Data<double>** input,
135  double* components,
136  MLCommon::Matrix::Data<double>** trans_input,
137  double* singular_vals,
138  double* mu,
139  paramsPCAMG prms,
140  bool verbose);
141 
155 void inverse_transform(raft::handle_t& handle,
156  MLCommon::Matrix::RankSizePair** rank_sizes,
157  std::uint32_t n_parts,
158  MLCommon::Matrix::Data<float>** trans_input,
159  float* components,
160  MLCommon::Matrix::Data<float>** input,
161  float* singular_vals,
162  float* mu,
163  paramsPCAMG prms,
164  bool verbose);
165 
166 void inverse_transform(raft::handle_t& handle,
167  MLCommon::Matrix::RankSizePair** rank_sizes,
168  std::uint32_t n_parts,
169  MLCommon::Matrix::Data<double>** trans_input,
170  double* components,
171  MLCommon::Matrix::Data<double>** input,
172  double* singular_vals,
173  double* mu,
174  paramsPCAMG prms,
175  bool verbose);
176 
177 }; // end namespace opg
178 }; // end namespace PCA
179 }; // end namespace ML
structure for pca parameters. Ref: http://scikit-learn.org/stable/modules/generated/sklearn....
Definition: params.hpp:64
void inverse_transform(raft::handle_t &handle, MLCommon::Matrix::RankSizePair **rank_sizes, std::uint32_t n_parts, MLCommon::Matrix::Data< float > **trans_input, float *components, MLCommon::Matrix::Data< float > **input, float *singular_vals, float *mu, paramsPCAMG prms, bool verbose)
performs MNMG inverse transform operation for the pca
void fit(raft::handle_t &handle, std::vector< MLCommon::Matrix::Data< float > * > &input_data, MLCommon::Matrix::PartDescriptor &input_desc, float *components, float *explained_var, float *explained_var_ratio, float *singular_vals, float *mu, float *noise_vars, paramsPCAMG prms, bool verbose=false, bool flip_signs_based_on_U=false)
performs MNMG fit operation for the pca
void fit_transform(raft::handle_t &handle, MLCommon::Matrix::RankSizePair **rank_sizes, std::uint32_t n_parts, MLCommon::Matrix::floatData_t **input, MLCommon::Matrix::floatData_t **trans_input, float *components, float *explained_var, float *explained_var_ratio, float *singular_vals, float *mu, float *noise_vars, paramsPCAMG prms, bool verbose, bool flip_signs_based_on_U)
performs MNMG fit and transform operation for the pca
void transform(raft::handle_t &handle, MLCommon::Matrix::RankSizePair **rank_sizes, std::uint32_t n_parts, MLCommon::Matrix::Data< float > **input, float *components, MLCommon::Matrix::Data< float > **trans_input, float *singular_vals, float *mu, paramsPCAMG prms, bool verbose)
performs MNMG transform operation for the pca
Definition: dbscan.hpp:18
@ PCA
Definition: tsne.h:19