Dakota
Version
Explore and Predict with Confidence
|
Extend PolynomialRegression with a new type for Python. More...
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 ¶m_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 ¶m_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 MatrixXd & | get_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< Surrogate > | clone () 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 ¶m_list) | |
Constructor that sets configOptions but does not build. More... | |
Surrogate (const MatrixXd &samples, const MatrixXd &response, const ParameterList ¶m_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< Surrogate > | load (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. | |
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.