Cosan  1.0
Data Analytics Library
Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split > Class Template Reference

#include <gridsearch.h>

Inheritance diagram for Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >:
Cosan::Search Cosan::Selection Cosan::CosanBO

Public Member Functions

 GridSearchMultiParallel ()=delete
 
 GridSearchMultiParallel (CosanData< NumericType > &CRD, Model &estimator, Metric &metric, Split &split, const std::vector< std::vector< NumericType >> &paramGrid, int nthreads=-1)
 
auto GetBestParams ()
 
- Public Member Functions inherited from Cosan::Selection
 Selection ()
 
- Public Member Functions inherited from Cosan::CosanBO
 CosanBO ()
 Default constructor. More...
 
virtual const std::string GetName () const
 Get the name of the objects. More...
 

Private Attributes

std::vector< NumericTypebestParam
 

Detailed Description

template<Numeric NumericType, Derived< CosanModel > Model, Derived< CosanMetric< NumericType >> Metric, Derived< Splitter > Split>
class Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >

Definition at line 154 of file gridsearch.h.

Constructor & Destructor Documentation

◆ GridSearchMultiParallel() [1/2]

template<Numeric NumericType, Derived< CosanModel > Model, Derived< CosanMetric< NumericType >> Metric, Derived< Splitter > Split>
Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >::GridSearchMultiParallel ( )
delete

◆ GridSearchMultiParallel() [2/2]

template<Numeric NumericType, Derived< CosanModel > Model, Derived< CosanMetric< NumericType >> Metric, Derived< Splitter > Split>
Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >::GridSearchMultiParallel ( CosanData< NumericType > &  CRD,
Model &  estimator,
Metric &  metric,
Split &  split,
const std::vector< std::vector< NumericType >> &  paramGrid,
int  nthreads = -1 
)
inline

Definition at line 162 of file gridsearch.h.

167  : Search() {
168  NumericType minError = std::numeric_limits<NumericType>::infinity();
169  std::vector<NumericType> allError(paramGrid.size());
170  if (nthreads == -1){
171  omp_set_num_threads(omp_get_max_threads());
172  }
173  else{
174  omp_set_num_threads(nthreads);
175  }
176  #pragma omp parallel for
177  for (gsl::index i = 0; i < paramGrid.size(); ++i){
178  estimator.SetParams(paramGrid[i]);
179  allError[i] = crossValidation(CRD, estimator, metric, split);
180  }
181  bestParam =paramGrid[std::distance(allError.begin(), std::min_element(allError.begin(), allError.end()))];
182  }

Member Function Documentation

◆ GetBestParams()

template<Numeric NumericType, Derived< CosanModel > Model, Derived< CosanMetric< NumericType >> Metric, Derived< Splitter > Split>
auto Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >::GetBestParams ( )
inline

Definition at line 183 of file gridsearch.h.

183 {return bestParam;}

Member Data Documentation

◆ bestParam

template<Numeric NumericType, Derived< CosanModel > Model, Derived< CosanMetric< NumericType >> Metric, Derived< Splitter > Split>
std::vector<NumericType> Cosan::GridSearchMultiParallel< NumericType, Model, Metric, Split >::bestParam
private

Definition at line 186 of file gridsearch.h.


The documentation for this class was generated from the following file:
NumericType
double NumericType
Definition: onehotencodingTest.cpp:20
Cosan::crossValidation
NumericType crossValidation(CosanData< NumericType > &CRD, Model &estimator, Metric &metric, Split &split)
Definition: crossvalidation.h:32
Cosan::GridSearchMultiParallel::bestParam
std::vector< NumericType > bestParam
Definition: gridsearch.h:186
Cosan::Search::Search
Search()
Definition: selection.h:29