BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members
BALL::QSAR::KernelModel Class Reference

#include <BALL/QSAR/kernelModel.h>

Inheritance diagram for BALL::QSAR::KernelModel:
BALL::QSAR::NonLinearModel BALL::QSAR::RegressionModel BALL::QSAR::Model BALL::QSAR::GPModel BALL::QSAR::KPCRModel BALL::QSAR::KPLSModel BALL::QSAR::SVRModel BALL::QSAR::LibsvmModel

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)
 
- Public Member Functions inherited from BALL::QSAR::NonLinearModel
 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< doublegetParameters () 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

Kernelkernel
 
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

- Public Attributes inherited from BALL::QSAR::RegressionModel
RegressionValidationvalidation
 
- Public Attributes inherited from BALL::QSAR::Model
const QSARDatadata
 
Validationmodel_val
 
- Protected Member Functions inherited from BALL::QSAR::NonLinearModel
- Protected Member Functions inherited from BALL::QSAR::RegressionModel
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_
 
- Protected Attributes inherited from BALL::QSAR::Model
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

BALL::QSAR::KernelModel::KernelModel ( const QSARData q,
int  k_type,
double  p1,
double  p2 
)
BALL::QSAR::KernelModel::KernelModel ( const QSARData q,
String  f,
String  g 
)
BALL::QSAR::KernelModel::KernelModel ( const QSARData q,
Eigen::VectorXd &  w 
)
BALL::QSAR::KernelModel::KernelModel ( const QSARData q,
const LinearModel lm,
int  column 
)
BALL::QSAR::KernelModel::~KernelModel ( )

Member Function Documentation

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

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

Reimplemented from BALL::QSAR::NonLinearModel.

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.

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

Predicts the activities of a given substance

Parameters
substancethe 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)
transformdetermines 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.

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

reconstruct a saved Model from a file

Reimplemented from BALL::QSAR::RegressionModel.

void BALL::QSAR::KernelModel::readKernelParametersFromFile ( std::ifstream &  in)
protected
void BALL::QSAR::KernelModel::readTrainingResult ( std::ifstream &  input,
int  no_substances,
int  no_y 
)
protected
void BALL::QSAR::KernelModel::saveKernelParametersToFile ( std::ofstream &  out)
protected
virtual void BALL::QSAR::KernelModel::saveToFile ( string  filename)
virtual

save Model to a file

Reimplemented from BALL::QSAR::RegressionModel.

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

Friends And Related Function Documentation

friend class RegressionValidation
friend

Definition at line 84 of file kernelModel.h.

Member Data Documentation

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

Matrix containing the pairwise distances between all substances

Definition at line 67 of file kernelModel.h.

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

Definition at line 57 of file kernelModel.h.