Loading...
Searching...
No Matches
BALL::QSAR::KernelModel Class Reference

`#include <BALL/QSAR/kernelModel.h>`

Inheritance diagram for BALL::QSAR::KernelModel:

## Public Member Functions

Constructors and Destructors
| KernelModel (const QSARData &q, int k_type, double p1, double p2)
| KernelModel (const QSARData &q, String f, String g)
| KernelModel (const QSARData &q, Eigen::VectorXd &w)
| KernelModel (const QSARData &q, const LinearModel &lm, int column)
| ~KernelModel ()
virtual void | saveToFile (string filename)
virtual void | readFromFile (string filename)
virtual Eigen::VectorXd | predict (const vector< double > &substance, bool transform)
void | operator= (const Model &m)
| NonLinearModel (const QSARData &q)
| ~NonLinearModel ()
Public Member Functions inherited from BALL::QSAR::RegressionModel
| RegressionModel (const QSARData &q)
| ~RegressionModel ()
virtual EIGEN_MAKE_ALIGNED_OPERATOR_NEW void | operator= (const RegressionModel &m)
const Eigen::MatrixXd * | getTrainingResult () const
void | show ()
Public Member Functions inherited from BALL::QSAR::Model
| Model (const QSARData &q)
virtual | ~Model ()
void | copyData (const Model &m)
void | copyDescriptorIDs (const Model &m)
void | readTrainingData ()
void | deleteDescriptorIDs ()
virtual void | train ()=0
virtual bool | optimizeParameters (int, int)
bool | optimizeParameters (int k)
virtual double | calculateStdErr ()
virtual void | setParameters (vector< double > &)
virtual vector< double > | getParameters () const
std::multiset< unsigned int > * | getDescriptorIDs ()
void | setDataSource (const QSARData *q)
const Eigen::MatrixXd * | getDescriptorMatrix ()
const vector< string > * | getSubstanceNames ()
const vector< string > * | getDescriptorNames ()
const Eigen::MatrixXd | getDescriptorTransformations ()
const Eigen::MatrixXd | getYTransformations ()
const Eigen::MatrixXd * | getY ()
void | setDescriptorIDs (const std::multiset< unsigned int > &sl)
const string * | getType ()
void | getUnnormalizedFeatureValue (int compound, int feature, double &return_value)
void | getUnnormalizedResponseValue (int compound, int response, double &return_value)

## Attributes

Kernel * | kernel
Eigen::MatrixXd | K_

## Input and Output. The following methods can be used to implement the functions saveToFile() and readFromFile() in final classes derived from this base-class

resulting matrix with one column for each modeled activity and with one coefficient for each substance (i.e. one column for each column for Model.Y)
class | RegressionValidation
void | calculateOffsets ()
void | readKernelParametersFromFile (std::ifstream &in)
void | saveKernelParametersToFile (std::ofstream &out)
void | saveTrainingResult (std::ofstream &out)
void | readTrainingResult (std::ifstream &input, int no_substances, int no_y)

## Additional Inherited Members

RegressionValidation * | validation
const QSARData * | data
Validation * | model_val
void | readDescriptorInformationFromFile (std::ifstream &in, int no_descriptors, bool transformation, int no_coefficients)
void | saveDescriptorInformationToFile (std::ofstream &out)
Protected Member Functions inherited from BALL::QSAR::Model
void | readMatrix (Eigen::MatrixXd &mat, std::ifstream &in, unsigned int lines, unsigned int col)
void | readVector (Eigen::RowVectorXd &vec, std::ifstream &in, unsigned int no_cells, bool column_vector)
void | readModelParametersFromFile (std::ifstream &in)
void | saveModelParametersToFile (std::ofstream &out)
virtual void | readDescriptorInformationFromFile (std::ifstream &in, int no_descriptors, bool transformation)
void | readResponseTransformationFromFile (std::ifstream &in, int no_y)
void | saveResponseTransformationToFile (std::ofstream &out)
Eigen::VectorXd | getSubstanceVector (const vector< double > &substance, bool transform)
Eigen::VectorXd | getSubstanceVector (const Eigen::VectorXd &substance, bool transform)
void | backTransformPrediction (Eigen::VectorXd &pred)
void | addLambda (Eigen::MatrixXd &matrix, double &lambda)
void | readDescriptorInformation ()
Protected Attributes inherited from BALL::QSAR::RegressionModel
Eigen::MatrixXd | training_result_
Eigen::RowVectorXd | offsets_
int | default_no_opt_steps_
Eigen::MatrixXd | descriptor_matrix_
vector< string > | substance_names_
vector< string > | descriptor_names_
Eigen::MatrixXd | descriptor_transformations_
Eigen::MatrixXd | y_transformations_
Eigen::MatrixXd | Y_
String | type_
std::multiset< unsigned int > | descriptor_IDs_

## Detailed Description

Definition at line 27 of file kernelModel.h.

## Constructor & Destructor Documentation

## KernelModel() [1/4]

BALL::QSAR::KernelModel::KernelModel | ( | const QSARData & | q,
|  | int | k_type,
|  | double | p1,
|  | double | p2 )

## KernelModel() [2/4]

BALL::QSAR::KernelModel::KernelModel | ( | const QSARData & | q,
|  | String | f,
|  | String | g )

## KernelModel() [3/4]

BALL::QSAR::KernelModel::KernelModel | ( | const QSARData & | q,
|  | Eigen::VectorXd & | w )

## KernelModel() [4/4]

BALL::QSAR::KernelModel::KernelModel | ( | const QSARData & | q,
|  | const LinearModel & | lm,
|  | int | column )

## ~KernelModel()

BALL::QSAR::KernelModel::~KernelModel | ( |  | ) |

## Member Function Documentation

## calculateOffsets()

void BALL::QSAR::KernelModel::calculateOffsets | ( |  | ) |

protected virtual

do nothing for non-kernel models. KernelModel on the other hand overloads this function...

Reimplemented from BALL::QSAR::NonLinearModel.

## operator=()

void BALL::QSAR::KernelModel::operator= | ( | const Model & | m | ) |

virtual

copy constructur; creates a model with the same specifications as the given one (same model and kernel parameters). If the given model has been trained, the training result is copied as well.
Note, that the input data that has been read by m to m.descriptor_matrix_ and m.Y_ is NOT copied to new model, since the input data is not part of the specification of a model. If nevertheless, copying of the input data is desired, use function copyData() (afterwards).

Reimplemented from BALL::QSAR::Model.

## predict()

virtual Eigen::VectorXd BALL::QSAR::KernelModel::predict | ( | const vector< double > & | substance,
|  | bool | transform )

virtual

Predicts the activities of a given substance

Parameters

  substance | the substance which activity is to be predicted in form of a vecor containing the values for all descriptors (if neccessary, relevant descriptors will be selected automatically)

  transform

  determines whether the values for each descriptor of the given substance should be transformed before prediction of activity.
  If (transform==1): each descriptor value is transformed according to the centering of the respective column of QSARData.descriptor_matrix used to train this model.
  If the substance to be predicted is part of the same input data (e.g. same SD-file) as the training data (as is the case during cross validation), transform should therefore be set to 0.

Returns
  a RowVector containing one value for each predicted activity

Implements BALL::QSAR::Model.

Reimplemented in BALL::QSAR::GPModel.

## readFromFile()

virtual void BALL::QSAR::KernelModel::readFromFile | ( | string | filename | ) |

virtual

reconstruct a saved Model from a file

Reimplemented from BALL::QSAR::RegressionModel.

## readKernelParametersFromFile()

void BALL::QSAR::KernelModel::readKernelParametersFromFile | ( | std::ifstream & | in | ) |

protected

## readTrainingResult()

void BALL::QSAR::KernelModel::readTrainingResult | ( | std::ifstream & | input,
|  | int | no_substances,
|  | int | no_y )

protected

## saveKernelParametersToFile()

void BALL::QSAR::KernelModel::saveKernelParametersToFile | ( | std::ofstream & | out | ) |

protected

## saveToFile()

virtual void BALL::QSAR::KernelModel::saveToFile | ( | string | filename | ) |

virtual

save Model to a file

Reimplemented from BALL::QSAR::RegressionModel.

## saveTrainingResult()

void BALL::QSAR::KernelModel::saveTrainingResult | ( | std::ofstream & | out | ) |

protected

## Friends And Related Symbol Documentation

## RegressionValidation

friend class RegressionValidation

friend

Definition at line 84 of file kernelModel.h.

## Member Data Documentation

## K_

Eigen::MatrixXd BALL::QSAR::KernelModel::K_

protected

Matrix containing the pairwise distances between all substances

Definition at line 67 of file kernelModel.h.

## kernel

Kernel* BALL::QSAR::KernelModel::kernel

Definition at line 57 of file kernelModel.h.