17struct KODAMAGraphHandleAccess;
122 MatrixView(
const double* data_ptr, std::size_t n_rows, std::size_t n_cols)
125 MatrixView(
const float* data_ptr, std::size_t n_rows, std::size_t n_cols)
129 const std::size_t offset = i *
cols + j;
131 return static_cast<const float*
>(
data)[offset];
133 return static_cast<float>(
static_cast<const double*
>(
data)[offset]);
137 const std::size_t offset = i *
cols + j;
139 return static_cast<double>(
static_cast<const float*
>(
data)[offset]);
141 return static_cast<const double*
>(
data)[offset];
234 int operator()(std::size_t truth, std::size_t predicted)
const {
393 std::unique_ptr<Impl> impl_;
421 int n_iterations = 10;
422 int random_walk_steps = 4;
423 int target_clusters = 0;
431 double modularity = 0.0;
432 int n_communities = 0;
435 int target_clusters = 0;
437 bool target_exact =
true;
438 double runtime_seconds = 0.0;
443 int n_components = 2;
445 std::uint64_t seed = 4;
456 double runtime_seconds = 0.0;
461 double wall_seconds = 0.0;
462 double accumulated_seconds = 0.0;
468 std::uint64_t seed = 1234;
475 bool materialize_graph =
false;
492 bool valid() const noexcept;
494 int samples() const noexcept;
495 int neighbors() const noexcept;
496 bool host_materialized() const noexcept;
500 std::shared_ptr<Impl> impl_;
502 friend struct detail::KODAMAGraphHandleAccess;
508 std::shared_ptr<KODAMAGraphHandle>
handle;
516 int spatial_dimensions = 0;
517 int graph_builds = 0;
518 int spatial_graph_builds = 0;
523 double ivf_pilot_recall = 0.0;
524 double input_copy_seconds = 0.0;
525 double graph_seconds = 0.0;
526 double spatial_graph_seconds = 0.0;
527 double visual_init_seconds = 0.0;
528 double runtime_seconds = 0.0;
529 std::uint64_t graph_storage_bytes = 0;
536 int landmarks = 10000;
538 int graph_neighbors = 100;
541 int spatial_cols = 0;
542 double spatial_resolution = 0.4;
543 bool spatial_graph_mix =
false;
544 int spatial_constraint_mode = 0;
546 std::uint64_t seed = 1234;
551 bool progress =
false;
552 bool apply_kodama_dissimilarity =
true;
553 bool compute_visual_init =
true;
554 bool materialize_graph =
false;
556 int graph_feature_components = 0;
557 int graph_feature_steps = 3;
571 int proposal_size = 0;
572 int active_classes = 0;
573 unsigned char accepted = 0;
574 unsigned char improving_acceptance = 0;
575 unsigned char temperature_acceptance = 0;
580 int cycles_completed = 0;
581 int transition_attempted = 0;
582 int transition_accepted = 0;
583 int many_to_one_attempted = 0;
584 int many_to_one_accepted = 0;
585 int pls_coarsening_attempted = 0;
586 int pls_coarsening_accepted = 0;
587 int cv_evaluations = 0;
588 std::uint64_t landmark_rows_hash = 0;
589 std::uint64_t initial_labels_hash = 0;
590 std::uint64_t fold_assignments_hash = 0;
596 std::vector<double>
v;
618 int res_constrain_rows = 0;
619 int effective_landmarks = 0;
620 int graph_builds = 0;
621 int spatial_graph_builds = 0;
628 int graph_ivf_nlist = 0;
629 int graph_ivf_nprobe = 0;
630 int shared_landmark_partition_strata = 0;
631 double graph_ivf_pilot_recall = 0.0;
632 bool has_visual_init =
false;
633 bool knn_is_kodama_corrected =
false;
634 bool gpu_auto_workers =
false;
635 bool gpu_scheduler_enabled =
false;
636 bool shared_landmark_partition_used =
false;
637 int gpu_scheduler_lanes = 0;
638 std::uint64_t kmeans_input_uploads = 0;
639 std::uint64_t projection_sparse_uploads = 0;
640 std::uint64_t projection_full_downloads = 0;
641 std::uint64_t result_row_uploads = 0;
642 std::uint64_t result_matrix_downloads = 0;
643 int gpu_sm_count = 0;
644 double gpu_free_memory_mb = 0.0;
645 double gpu_total_memory_mb = 0.0;
646 double gpu_worker_memory_estimate_mb = 0.0;
647 double runtime_seconds = 0.0;
648 double input_copy_seconds = 0.0;
649 double visual_init_seconds = 0.0;
650 double graph_feature_seconds = 0.0;
651 double spatial_precompute_seconds = 0.0;
652 double graph_seconds = 0.0;
653 double shared_landmark_partition_seconds = 0.0;
654 double spatial_graph_seconds = 0.0;
655 double optimization_wall_seconds = 0.0;
656 double optimization_sum_seconds = 0.0;
657 double dissimilarity_seconds = 0.0;
658 double peak_memory_mb = 0.0;
659 std::uint64_t graph_storage_bytes = 0;
663 int n_components = 2;
665 int n_neighbors = 30;
666 int negative_sample_rate = 5;
667 double learning_rate = 1.0;
668 double min_dist = 0.01;
669 double repulsion_strength = 1.0;
670 int spectral_n_iter = 20;
681 int n_components = 2;
683 double perplexity = 30.0;
685 int early_exaggeration_iter = 250;
687 double early_exaggeration = 12.0;
688 double exaggeration = 1.0;
689 double learning_rate = 0.0;
690 bool learning_rate_auto =
true;
691 double initial_momentum = 0.8;
692 double final_momentum = 0.8;
693 double min_gain = 0.01;
694 double max_step_norm = 5.0;
709 Backend initialization_backend = Backend::Auto;
711 std::size_t graph_edges = 0;
712 float graph_max_weight = 0.0f;
713 double runtime_seconds = 0.0;
717 int n_components = 2;
721 int power_iterations = -1;
723 std::uint64_t seed = 4;
742 int power_iterations = 0;
744 double total_variance = 0.0;
745 double runtime_seconds = 0.0;
763 double runtime_seconds = 0.0;
780 std::size_t train_rows = 0;
781 std::size_t test_rows = 0;
782 std::size_t variables = 0;
785 double runtime_seconds = 0.0;
800 std::size_t train_rows = 0;
801 std::size_t test_rows = 0;
802 std::size_t variables = 0;
805 double runtime_seconds = 0.0;
818 std::size_t samples = 0;
819 std::size_t variables = 0;
820 std::size_t sample_groups = 0;
823 double graph_seconds = 0.0;
824 double aggregation_seconds = 0.0;
825 double runtime_seconds = 0.0;
831 bool require_nonzero_each_sample =
true;
848 std::size_t samples = 0;
849 std::size_t variables = 0;
850 std::size_t sample_groups = 0;
852 double basis_seconds = 0.0;
853 double statistic_seconds = 0.0;
854 double runtime_seconds = 0.0;
859 const std::vector<int>& labels,
860 const std::vector<int>& constrain,
866 const std::vector<int>& labels,
867 const std::vector<int>& constrain,
873 const std::vector<int>& labels,
874 const std::vector<int>& constrain,
880 const std::vector<int>& labels,
881 const std::vector<int>& constrain,
887 const std::vector<int>& labels,
888 const std::vector<int>& constrain,
894 const std::vector<int>& labels,
895 const std::vector<int>& constrain,
901 const std::vector<int>& labels,
902 const std::vector<int>& constrain,
908 const std::vector<int>& labels,
909 const std::vector<int>& constrain,
915 const std::vector<int>& labels,
916 const std::vector<int>& constrain,
922 const std::vector<int>& labels,
923 const std::vector<int>& constrain,
929 const std::vector<int>& labels,
930 const std::vector<int>& constrain,
936 const std::vector<int>& labels,
943 const std::vector<int>& labels,
950 const std::vector<int>& labels,
957 const std::vector<int>& labels,
964 const std::vector<int>& clbest,
965 const std::vector<int>& constrain,
966 const std::vector<int>& fixed,
972 const std::vector<int>& clbest,
973 const std::vector<int>& constrain,
974 const std::vector<int>& fixed,
980 const std::vector<int>& clbest,
981 const std::vector<int>& constrain,
982 const std::vector<int>& fixed,
988 const std::vector<int>& clbest,
989 const std::vector<int>& constrain,
990 const std::vector<int>& fixed,
996 const std::vector<int>& clbest,
997 const std::vector<int>& constrain,
998 const std::vector<int>& fixed,
1004 const std::vector<int>& clbest,
1005 const std::vector<int>& constrain,
1006 const std::vector<int>& fixed,
1012 const std::vector<int>& clbest,
1013 const std::vector<int>& constrain,
1014 const std::vector<int>& fixed,
1020 const std::vector<int>& clbest,
1021 const std::vector<int>& constrain,
1022 const std::vector<int>& fixed,
1028 const std::vector<int>& clbest,
1029 const std::vector<int>& constrain,
1030 const std::vector<int>& fixed,
1037 const std::vector<int>& clbest,
1038 const std::vector<int>& constrain,
1039 const std::vector<int>& fixed,
1046 const std::vector<int>& initial_clbest,
1047 const std::vector<int>& constrain = std::vector<int>(),
1048 const std::vector<int>& fixed = std::vector<int>(),
1055 const std::vector<int>& initial_clbest,
1056 const std::vector<int>& constrain = std::vector<int>(),
1057 const std::vector<int>& fixed = std::vector<int>(),
1063 const std::vector<int>& clbest,
1064 const std::vector<int>& constrain,
1065 const std::vector<int>& fixed,
1071 const std::vector<int>& starting_labels = std::vector<int>(),
1072 const std::vector<int>& constrain = std::vector<int>(),
1073 const std::vector<int>& fixed = std::vector<int>(),
1079 const std::vector<int>& starting_labels = std::vector<int>(),
1080 const std::vector<int>& constrain = std::vector<int>(),
1081 const std::vector<int>& fixed = std::vector<int>(),
1087 const std::vector<int>& starting_labels = std::vector<int>(),
1088 const std::vector<int>& constrain = std::vector<int>(),
1089 const std::vector<int>& fixed = std::vector<int>(),
1095 const std::vector<int>& starting_labels = std::vector<int>(),
1096 const std::vector<int>& constrain = std::vector<int>(),
1097 const std::vector<int>& fixed = std::vector<int>(),
1141 const std::vector<float>& spatial,
1144 const std::vector<int>& samples
1159 const std::vector<int>& starting_labels = std::vector<int>(),
1160 const std::vector<int>& constrain = std::vector<int>(),
1161 const std::vector<int>& fixed = std::vector<int>(),
1167 const std::vector<int>& starting_labels = std::vector<int>(),
1168 const std::vector<int>& constrain = std::vector<int>(),
1169 const std::vector<int>& fixed = std::vector<int>(),
1183 const std::vector<int>& run_labels,
1186 Backend backend = Backend::CPU,
1200 const std::vector<int>& starting_labels = std::vector<int>(),
1201 const std::vector<int>& constrain = std::vector<int>(),
1202 const std::vector<int>& fixed = std::vector<int>(),
1209 const std::vector<int>& starting_labels = std::vector<int>(),
1210 const std::vector<int>& constrain = std::vector<int>(),
1211 const std::vector<int>& fixed = std::vector<int>(),
1218 const std::vector<int>& starting_labels = std::vector<int>(),
1219 const std::vector<int>& constrain = std::vector<int>(),
1220 const std::vector<int>& fixed = std::vector<int>(),
1227 const std::vector<int>& starting_labels = std::vector<int>(),
1228 const std::vector<int>& constrain = std::vector<int>(),
1229 const std::vector<int>& fixed = std::vector<int>(),
1236 const std::vector<int>& starting_labels = std::vector<int>(),
1237 const std::vector<int>& constrain = std::vector<int>(),
1238 const std::vector<int>& fixed = std::vector<int>(),
1245 const std::vector<int>& starting_labels = std::vector<int>(),
1246 const std::vector<int>& constrain = std::vector<int>(),
1247 const std::vector<int>& fixed = std::vector<int>(),
1254 const std::vector<int>& starting_labels = std::vector<int>(),
1255 const std::vector<int>& constrain = std::vector<int>(),
1256 const std::vector<int>& fixed = std::vector<int>(),
1263 const std::vector<int>& starting_labels = std::vector<int>(),
1264 const std::vector<int>& constrain = std::vector<int>(),
1265 const std::vector<int>& fixed = std::vector<int>(),
1480 const std::vector<int>& samples = {},
1481 const PassingMessageOptions& options = PassingMessageOptions()
1487 const std::vector<int>& samples = {},
1488 const PassingMessageOptions& options = PassingMessageOptions()
1494 const std::vector<int>& samples = {},
1495 const PassingMessageOptions& options = PassingMessageOptions()
1501 const std::vector<int>& samples = {},
1502 const PassingMessageOptions& options = PassingMessageOptions()
1508 const std::vector<int>& samples = {},
1509 const SpatialFeatureOptions& options = SpatialFeatureOptions()
1515 const std::vector<int>& samples = {},
1516 const SpatialFeatureOptions& options = SpatialFeatureOptions()
1564 bool exclude_self =
true,
KODAMAGraphHandle(KODAMAGraphHandle &&) noexcept
KODAMAGraphHandle & operator=(const KODAMAGraphHandle &) noexcept
KODAMAGraphHandle(const KODAMAGraphHandle &) noexcept
ResidentIVFIndex(ResidentIVFIndex &&) noexcept
double build_seconds() const noexcept
bool valid() const noexcept
Backend backend() const noexcept
int dimensions() const noexcept
int nlist() const noexcept
friend ResidentIVFIndex BuildResidentIVFIndex(MatrixView, const KNNOptions &)
friend NeighborGraph SearchResidentIVFIndexSelf(const ResidentIVFIndex &, int, bool, ResidentIVFSearchStats *)
friend NeighborGraph SearchResidentIVFIndex(const ResidentIVFIndex &, MatrixView, int, ResidentIVFSearchStats *)
DistanceMetric metric() const noexcept
int rows() const noexcept
KODAMAGraphResult KODAMAGraph_CPU(MatrixView x, const KODAMAGraphOptions &options=KODAMAGraphOptions())
PassingMessageResult PassingMessage_CUDA(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const PassingMessageOptions &options=PassingMessageOptions())
CoreResult CoreKNN_METAL(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
CoreResult core_cpp(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
ResidentIVFIndex BuildResidentIVFIndex(MatrixView train, const KNNOptions &options=KNNOptions())
NeighborGraph KODAMAKNNGraph_METAL(MatrixView x, const GraphClusterOptions &options=GraphClusterOptions())
CoreResult Core(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
PCAResult RSVD(MatrixView x, const PCAOptions &options=PCAOptions())
EmbeddingResult KODAMAOpenTSNE_CUDA(const NeighborGraph &graph, const OpenTSNEOptions &options=OpenTSNEOptions())
PassingMessageResult PassingMessage(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const PassingMessageOptions &options=PassingMessageOptions())
CoreResult CoreKNNGraph_CUDA(const NeighborGraph &graph, int samples, const std::vector< int > &initial_clbest, const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const CoreOptions &options=CoreOptions())
KODAMAMatrixResult KODAMAMatrixFromGraph_CUDA(const NeighborGraph &graph, int samples, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
NeighborGraph SearchResidentIVFIndex(const ResidentIVFIndex &index, MatrixView query, int k, ResidentIVFSearchStats *stats=nullptr)
KODAMAMatrixResult KODAMAMatrixFromGraphData(MatrixView x, const NeighborGraph &graph, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
KNNCVResult KNNCV_CPU(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const KNNOptions &options=KNNOptions())
PCAResult PCA(MatrixView x, const PCAOptions &options=PCAOptions())
KODAMAGraphResult KODAMAGraph(MatrixView x, const KODAMAGraphOptions &options=KODAMAGraphOptions())
KODAMAMatrixResult KODAMAMatrixFromGraphData_METAL(MatrixView x, const NeighborGraph &graph, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
KNNCVResult KNNCV(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const KNNOptions &options=KNNOptions())
NormalizationResult Normalization_CUDA(MatrixView train, MatrixView test=MatrixView(), const NormalizationOptions &options=NormalizationOptions())
NeighborGraph KODAMAKNNGraph(MatrixView x, const GraphClusterOptions &options=GraphClusterOptions())
void KODAMADissimilarityInPlace(NeighborGraph &graph, const std::vector< int > &run_labels, int runs, int samples, Backend backend=Backend::CPU, int n_threads=1, int gpu_device=0)
PLSCVResult PLSLDACV(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
KNNCVResult KNNCV_METAL(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const KNNOptions &options=KNNOptions())
GraphClusterResult KODAMAEmbeddingCluster(MatrixView embedding, const GraphClusterOptions &options=GraphClusterOptions())
EmbeddingResult KODAMAUMAP_METAL(const NeighborGraph &graph, const UMAPOptions &options=UMAPOptions())
PLSCVResult PLSDACV_CUDA(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
PassingMessageResult PassingMessage_CPU(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const PassingMessageOptions &options=PassingMessageOptions())
PLSCVResult PLSLDACV_METAL(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
VisualizationInitResult KODAMAVisualizationPCAInit(MatrixView raw_data, const VisualizationInitOptions &options=VisualizationInitOptions())
EmbeddingResult KODAMAOpenTSNE_METAL(const NeighborGraph &graph, const OpenTSNEOptions &options=OpenTSNEOptions())
NeighborGraph KODAMAKNNGraph_CUDA(MatrixView x, const GraphClusterOptions &options=GraphClusterOptions())
EmbeddingResult KODAMAUMAP_CPU(const NeighborGraph &graph, const UMAPOptions &options=UMAPOptions())
std::vector< float > KODAMASeparateSpatialSamples(const std::vector< float > &spatial, int rows, int columns, const std::vector< int > &samples)
const char * to_string(Backend backend)
CoreResult CoreKNN_CUDA(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
NormalizationResult Normalization(MatrixView train, MatrixView test=MatrixView(), const NormalizationOptions &options=NormalizationOptions())
KODAMAMatrixResult KODAMAMatrixFromGraphData_CPU(MatrixView x, const NeighborGraph &graph, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
KODAMAGraphResult KODAMAGraph_METAL(MatrixView x, const KODAMAGraphOptions &options=KODAMAGraphOptions())
ScalingResult Scaling_CUDA(MatrixView train, MatrixView test=MatrixView(), const ScalingOptions &options=ScalingOptions())
ScalingResult Scaling_CPU(MatrixView train, MatrixView test=MatrixView(), const ScalingOptions &options=ScalingOptions())
PLSFitResult PLS_METAL(MatrixView x, MatrixView y, const PLSOptions &options=PLSOptions())
EmbeddingResult KODAMAUMAP_CUDA(const NeighborGraph &graph, const UMAPOptions &options=UMAPOptions())
CoreResult CoreKNNGraph_METAL(const NeighborGraph &graph, int samples, const std::vector< int > &initial_clbest, const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const CoreOptions &options=CoreOptions())
KODAMAMatrixResult KODAMAMatrix(MatrixView x, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
NeighborGraph KODAMAKNNGraph_CPU(MatrixView x, const GraphClusterOptions &options=GraphClusterOptions())
KODAMAMatrixResult KODAMAMatrix_CPU(MatrixView x, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
CoreResult CoreKNN_CPU(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
PCAResult PCA_CPU(MatrixView x, const PCAOptions &options=PCAOptions())
CoreResult CorePLSLDA_CUDA(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
std::vector< int > PLSLDAPredict_METAL(MatrixView train, const std::vector< int > &labels, MatrixView test, const PLSOptions &options=PLSOptions())
GraphClusterResult KODAMAEmbeddingGraphCluster(MatrixView embedding, const NeighborGraph &graph, const GraphClusterOptions &options=GraphClusterOptions())
CoreResult CorePLSLDA_METAL(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
CoreResult CorePLSLDA(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
PassingMessageResult PassingMessage_METAL(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const PassingMessageOptions &options=PassingMessageOptions())
PLSFitResult PLS_CUDA(MatrixView x, MatrixView y, const PLSOptions &options=PLSOptions())
ScalingResult Scaling(MatrixView train, MatrixView test=MatrixView(), const ScalingOptions &options=ScalingOptions())
PLSCVResult PLSLDACV_CUDA(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
std::vector< int > PLSLDAPredict_CUDA(MatrixView train, const std::vector< int > &labels, MatrixView test, const PLSOptions &options=PLSOptions())
PCAResult PCA_METAL(MatrixView x, const PCAOptions &options=PCAOptions())
PLSCVResult PLSLDACV_CPU(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
SpatialFeatureResult SpatialFeatureSelection(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const SpatialFeatureOptions &options=SpatialFeatureOptions())
EmbeddingResult KODAMAOpenTSNE_CPU(const NeighborGraph &graph, const OpenTSNEOptions &options=OpenTSNEOptions())
NeighborGraph KODAMAGraphMaterialize(const KODAMAGraphResult &graph)
PLSFitResult PLS(MatrixView x, MatrixView y, const PLSOptions &options=PLSOptions())
NormalizationResult Normalization_METAL(MatrixView train, MatrixView test=MatrixView(), const NormalizationOptions &options=NormalizationOptions())
std::vector< int > PLSLDAPredict_CPU(MatrixView train, const std::vector< int > &labels, MatrixView test, const PLSOptions &options=PLSOptions())
KODAMAMatrixResult KODAMAMatrixFromGraph(const NeighborGraph &graph, int samples, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
PLSFitResult PLS_CPU(MatrixView x, MatrixView y, const PLSOptions &options=PLSOptions())
KODAMAMatrixResult KODAMAMatrix_METAL(MatrixView x, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
GraphClusterResult KODAMAGraphCluster(const NeighborGraph &graph, int samples, const GraphClusterOptions &options=GraphClusterOptions())
PCAResult PCA_CUDA(MatrixView x, const PCAOptions &options=PCAOptions())
std::vector< float > KODAMAGraphFeatures_CPU(const NeighborGraph &graph, int samples, const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
CoreResult CorePLSLDA_CPU(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
KODAMAMatrixResult KODAMAMatrixFromGraphData_CUDA(MatrixView x, const NeighborGraph &graph, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
NeighborGraph SearchResidentIVFIndexSelf(const ResidentIVFIndex &index, int k, bool exclude_self=true, ResidentIVFSearchStats *stats=nullptr)
KODAMAGraphResult KODAMAGraph_CUDA(MatrixView x, const KODAMAGraphOptions &options=KODAMAGraphOptions())
CoreResult CoreKNN(MatrixView x, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
KODAMAMatrixResult KODAMAMatrix_CUDA(MatrixView x, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
std::vector< int > PLSLDAPredict(MatrixView train, const std::vector< int > &labels, MatrixView test, const PLSOptions &options=PLSOptions())
CoreResult CoreKNNGraph_CPU(const NeighborGraph &graph, int samples, const std::vector< int > &clbest, const std::vector< int > &constrain, const std::vector< int > &fixed, const CoreOptions &options=CoreOptions())
SpatialFeatureResult SpatialFeatureSelection_CPU(MatrixView data, MatrixView spatial, const std::vector< int > &samples={}, const SpatialFeatureOptions &options=SpatialFeatureOptions())
PLSCVResult PLSDACV(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
KODAMAMatrixResult KODAMAMatrixFromGraph_CPU(const NeighborGraph &graph, int samples, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
GraphClusterResult KODAMAGraphCluster_CPU(const NeighborGraph &graph, int samples, const GraphClusterOptions &options=GraphClusterOptions())
KODAMAMatrixResult KODAMAMatrixFromGraph_METAL(const NeighborGraph &graph, int samples, const std::vector< int > &starting_labels=std::vector< int >(), const std::vector< int > &constrain=std::vector< int >(), const std::vector< int > &fixed=std::vector< int >(), const KODAMAMatrixOptions &options=KODAMAMatrixOptions())
KNNCVResult KNNCV_CUDA(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const KNNOptions &options=KNNOptions())
NormalizationResult Normalization_CPU(MatrixView train, MatrixView test=MatrixView(), const NormalizationOptions &options=NormalizationOptions())
PLSCVResult PLSDACV_CPU(MatrixView x, const std::vector< int > &labels, const std::vector< int > &constrain, const PLSOptions &options=PLSOptions())
ScalingResult Scaling_METAL(MatrixView train, MatrixView test=MatrixView(), const ScalingOptions &options=ScalingOptions())
int operator()(std::size_t truth, std::size_t predicted) const
std::vector< int > labels
std::vector< int > counts
bool adaptive_proposal_size
bool many_to_one_absorption
CoreClassifier classifier
EvolutionPolicy evolution
bool auto_class_coarsening
CorePLSLDAOptions()=default
CorePLSLDAOptions & operator=(const PLSOptions &options)
std::vector< unsigned char > accepted
std::vector< int > clbest_dirty
std::vector< int > active_classes
int pls_coarsening_accepted
std::vector< int > clbest
std::vector< int > cvpredbest
int stochastic_state_attempts
int stochastic_state_accepts
int many_to_one_attempted
int pls_coarsening_attempted
int current_state_rejections
std::vector< int > proposal_size
int current_state_accepts
std::vector< double > vect_score
std::vector< double > vect_acc
std::vector< unsigned char > temperature_acceptance
std::vector< unsigned char > improving_acceptance
std::vector< int > fold_assignments
std::string initialization
std::vector< float > embedding
static EvolutionPolicy from_name(const std::string &name)
bool diversity_multiplier
static EvolutionPolicy standard()
bool pls_fragmentation_penalty
bool stochastic_acceptance
bool pls_transition_coarsening
bool adaptive_proposal_size
std::vector< int > membership
std::vector< int > fold_assignments
ConfusionMatrix confusion
KNNParametersUsed parameters
std::vector< FoldResult > folds
std::vector< int > true_labels
std::vector< int > predicted_labels
double hnsw_target_recall
double hnsw_target_recall
std::vector< int > samples
VisualizationInitResult visual_init
std::vector< KODAMAStageTiming > timings
std::shared_ptr< KODAMAGraphHandle > handle
std::vector< float > spatial_jitter
NeighborGraph spatial_knn
std::vector< float > spatial
std::vector< int > samples
std::vector< int > landmark_occupied_strata
std::vector< double > coarse_partition_seconds
std::vector< double > core_evolution_seconds
std::vector< int > landmark_grid_bins
std::vector< double > acc
std::vector< CoreCycleDiagnostic > cycle_diagnostics
std::vector< double > landmark_prepare_seconds
std::vector< double > projection_seconds
VisualizationInitResult visual_init
std::vector< double > landmark_graph_seconds
std::vector< CoreRunDiagnostic > run_diagnostics
std::vector< int > landmark_represented_strata
std::vector< double > landmark_sampling_seconds
std::vector< double > constraint_seconds
std::vector< int > res_constrain
std::vector< KODAMAStageTiming > timings
std::vector< double > landmark_seconds
std::vector< double > landmark_initialization_seconds
MatrixValueType value_type
double operator()(std::size_t i, std::size_t j) const
MatrixView(const double *data_ptr, std::size_t n_rows, std::size_t n_cols)
float value_float(std::size_t i, std::size_t j) const
MatrixView(const float *data_ptr, std::size_t n_rows, std::size_t n_cols)
std::vector< float > distances
GraphIndexBase index_base
std::vector< int > indices
std::vector< float > reference
std::vector< float > train
std::vector< float > train_coefficients
std::vector< float > test
std::vector< float > test_coefficients
std::vector< float > reference
std::vector< float > init
std::vector< float > loadings
std::vector< float > singular_values
std::vector< float > variance
std::vector< float > scores
std::vector< float > sdev
std::vector< float > cumulative_variance_explained
std::vector< float > variance_explained
std::vector< float > center
std::vector< float > scale
ConfusionMatrix confusion
std::vector< int > predicted_labels
std::vector< int > true_labels
std::vector< int > fold_assignments
PLSParametersUsed parameters
std::vector< double > accuracy_by_components
std::vector< FoldResult > folds
std::vector< float > x_scale
std::vector< float > fitted
std::vector< float > response_loadings
std::vector< float > coefficients
std::vector< float > scores
std::vector< float > x_center
std::vector< float > y_center
std::vector< float > weights
std::vector< float > values
std::vector< float > sample_max_distances
std::vector< float > train
std::vector< float > scale
std::vector< float > center
std::vector< float > test
std::vector< double > per_sample_p_value
std::vector< int > sample_labels
std::vector< double > adjusted_p_value
std::vector< double > p_value
std::vector< float > per_sample_score
std::vector< int > ranking
std::vector< float > score
std::vector< int > basis_dimensions
std::vector< float > init
std::vector< float > umap
std::vector< float > opentsne