Dakota  Version
Explore and Predict with Confidence
Public Member Functions | List of all members
PyPolyReg Class Reference

Extend PolynomialRegression with a new type for Python. More...

Inheritance diagram for PyPolyReg:
PolynomialRegression Surrogate

Public Member Functions

 PyPolyReg (const pybind11::dict &pydict)
 ctor that accepts a dictionary
 
 PyPolyReg (const Eigen::MatrixXd &samples, const Eigen::MatrixXd &response, const pybind11::dict &pydict)
 ctor that accepts a dictionary
 
Eigen::MatrixXd value (const Eigen::MatrixXd &eval_points)
 Example workaround for default Eigen pass-by-copy semantics.
 
- Public Member Functions inherited from PolynomialRegression
 PolynomialRegression ()
 Constructor that uses defaultConfigOptions and does not build.
 
 PolynomialRegression (const ParameterList &options)
 Constructor that sets configOptions and does not build. More...
 
 PolynomialRegression (const std::string &param_list_yaml_filename)
 Constructor for the PolynomialRegression class that sets configOptions but does not build the surrogate. More...
 
 PolynomialRegression (const MatrixXd &samples, const MatrixXd &response, const ParameterList &options)
 Constructor sets configOptions and builds the Polynomial Regression surrogate. More...
 
 PolynomialRegression (const MatrixXd &samples, const MatrixXd &response, const std::string &param_list_yaml_filename)
 Constructor for the PolynomialRegression class that sets configOptions and builds the surrogate. More...
 
 ~PolynomialRegression ()
 Default destructor.
 
void compute_basis_matrix (const MatrixXd &samples, MatrixXd &basis_matrix) const
 Constructs a basis matrix for a set of samples according to the member variable basisIndices. More...
 
void build (const MatrixXd &samples, const MatrixXd &response) override
 Build the polynomial surrogate using specified build data. More...
 
VectorXd value (const MatrixXd &eval_points, const int qoi) override
 Evaluate the polynomial surrogate at a set of prediction points for a single QoI. More...
 
VectorXd value (const MatrixXd &eval_points)
 Evaluate the polynomial surrogate at a set of prediction points for QoI index 0. More...
 
MatrixXd gradient (const MatrixXd &eval_points, const int qoi) override
 Evaluate the gradient of the polynomial surrogate at a set of prediction points for a single QoI. More...
 
MatrixXd gradient (const MatrixXd &eval_points)
 Evaluate the gradient of the polynomial surrogate at a set of prediction points for QoI index 0. More...
 
MatrixXd hessian (const MatrixXd &eval_point, const int qoi) override
 Evaluate the Hessian of the polynomial surrogate at a single point for a single QoI. More...
 
MatrixXd hessian (const MatrixXd &eval_point)
 Evaluate the Hessian of the polynomial surrogate at a single point for QoI index 0. More...
 
const MatrixXdget_polynomial_coeffs () const
 Get the polynomial surrogate's coefficients.
 
double get_polynomial_intercept () const
 Get the polynomial surrogate's intercept/offset.
 
int get_num_terms () const
 Get the number of terms in the polynomial surrogate.
 
void set_polynomial_coeffs (const MatrixXd &coeffs)
 Set the polynomial surrogate's coefficients.
 
std::shared_ptr< Surrogateclone () const override
 clone derived Surrogate class for use in cross-validation
 
- Public Member Functions inherited from Surrogate
 Surrogate ()
 Constructor that uses defaultConfigOptions and does not build.
 
 Surrogate (const ParameterList &param_list)
 Constructor that sets configOptions but does not build. More...
 
 Surrogate (const MatrixXd &samples, const MatrixXd &response, const ParameterList &param_list)
 Constructor for the Surrogate that sets configOptions and builds the surrogate (does nothing in the base class). More...
 
virtual ~Surrogate ()
 Default destructor.
 
VectorXd value (const MatrixXd &eval_points)
 Evaluate the Surrogate at a set of prediction points for QoI index 0. More...
 
MatrixXd gradient (const MatrixXd &eval_points)
 Evaluate the gradient of the Surrogate at a set of prediction points for QoI index 0. More...
 
MatrixXd hessian (const MatrixXd &eval_point)
 Evaluate the Hessian of the Surrogate at a single point for QoI index 0. More...
 
void variable_labels (const std::vector< std::string > &var_labels)
 Set the variable/feature names. More...
 
const std::vector< std::string > & variable_labels () const
 Get the (possibly empty) variable/feature names. More...
 
void response_labels (const std::vector< std::string > &resp_labels)
 Set the response/QoI names. More...
 
const std::vector< std::string > & response_labels () const
 Get the (possibly empty) response/QoI names. More...
 
void set_options (const ParameterList &options)
 Set the Surrogate's configOptions. More...
 
void get_options (ParameterList &options)
 Get the Surrogate's configOptions. More...
 
void print_options ()
 Print the Surrogate's configOptions.
 
VectorXd evaluate_metrics (const StringArray &mnames, const MatrixXd &points, const MatrixXd &ref_values)
 Evalute metrics at specified points (within surrogates)
 
VectorXd cross_validate (const MatrixXd &samples, const MatrixXd &response, const StringArray &mnames, const int num_folds=5, const int seed=20)
 Perform K-folds cross-validation (within surrogates)
 
template<typename DerivedSurr >
void save (const DerivedSurr &surr_out, const std::string &outfile, const bool binary)
 Serialize a derived (i.e. non-base) surrogate model. More...
 
template<typename DerivedSurr >
void load (const std::string &infile, const bool binary, DerivedSurr &surr_in)
 Load a derived (i.e. non-base) surrogate model. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Surrogate
template<typename SurrHandle >
static void save (const SurrHandle &surr_out, const std::string &outfile, const bool binary)
 serialize Surrogate to file (typically through shared_ptr<Surrogate>, but Derived& or Derived* okay too)
 
template<typename SurrHandle >
static void load (const std::string &infile, const bool binary, SurrHandle &surr_in)
 serialize Surrogate from file (typically through shared_ptr<Surrogate>, but Derived& or Derived* okay too)
 
static std::shared_ptr< Surrogateload (const std::string &infile, const bool binary)
 serialize Surrogate from file through pointer to base class (must have been saved via same data type)
 
- Public Attributes inherited from Surrogate
util::DataScaler dataScaler
 DataScaler class for a Surrogate's build samples.
 
double responseOffset = 0.
 Response offset.
 
double responseScaleFactor = 1.
 Response scale factor.
 
- Protected Attributes inherited from Surrogate
int numSamples
 Number of samples in the Surrogate's build samples.
 
int numVariables
 Number of features/variables in the Surrogate's build samples.
 
std::vector< std::string > variableLabels
 Names of the variables/features; need not be populated.
 
int numQOI
 Number of quantities of interest predicted by the surrogate. For scalar-valued surrogates numQOI = 1.
 
std::vector< std::string > responseLabels
 Names of the responses/QoIs; need not be populated.
 
ParameterList defaultConfigOptions
 Default Key/value options to configure the surrogate.
 
ParameterList configOptions
 Key/value options to configure the surrogate - will override defaultConfigOptions.
 

Detailed Description

Extend PolynomialRegression with a new type for Python.

Explore idea of extension as a way to specialize constructors. Permits mapping datatypes for any member functions or constructors that differ, while leaving most untouched. Downside is requires new class for each surrogates class.


The documentation for this class was generated from the following file: