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

#include <BALL/QSAR/allModel.h>

Inheritance diagram for BALL::QSAR::ALLModel:
BALL::QSAR::NonLinearModel BALL::QSAR::RegressionModel BALL::QSAR::Model BALL::QSAR::KNNModel

Public Member Functions

Constructors and Destructors
 ALLModel (const QSARData &q, double kw=4)
 
 ~ALLModel ()
 
- 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 ()
 
virtual void operator= (const Model &m)
 
void copyData (const Model &m)
 
void copyDescriptorIDs (const Model &m)
 
void readTrainingData ()
 
void deleteDescriptorIDs ()
 
bool optimizeParameters (int k)
 
virtual double calculateStdErr ()
 
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)
 

Protected Attributes

Attributes
double kw_
 
double lambda_
 
- 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_
 

Accessors

void setKw (double kw)
 
virtual Eigen::VectorXd predict (const vector< double > &substance, bool transform=1)
 
void train ()
 
virtual bool optimizeParameters (int d, int no_steps)
 
double getKw ()
 
virtual void setParameters (vector< double > &v)
 
virtual vector< doublegetParameters () const
 
void saveToFile (string filename)
 
void readFromFile (string filename)
 
virtual void calculateWeights (Eigen::MatrixXd &dist, Eigen::VectorXd &w)
 
void calculateXX (Eigen::VectorXd &w, Eigen::MatrixXd &res)
 
void calculateXY (Eigen::VectorXd &w, Eigen::MatrixXd &res)
 
void calculateEuclDistanceMatrix (Eigen::MatrixXd &m1, Eigen::MatrixXd &m2, Eigen::MatrixXd &output)
 

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
virtual void calculateOffsets ()
 
- 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 ()
 

Detailed Description

class for automated lazy learning (ALL-QSAR)

Definition at line 20 of file allModel.h.

Constructor & Destructor Documentation

BALL::QSAR::ALLModel::ALLModel ( const QSARData q,
double  kw = 4 
)
BALL::QSAR::ALLModel::~ALLModel ( )

Member Function Documentation

void BALL::QSAR::ALLModel::calculateEuclDistanceMatrix ( Eigen::MatrixXd &  m1,
Eigen::MatrixXd &  m2,
Eigen::MatrixXd &  output 
)
protected

calculates pairwise euclidean distance between all substances of m1 and m2 and saves them to Eigen::MatrixXd output

virtual void BALL::QSAR::ALLModel::calculateWeights ( Eigen::MatrixXd &  dist,
Eigen::VectorXd &  w 
)
protectedvirtual

Reimplemented in BALL::QSAR::KNNModel.

void BALL::QSAR::ALLModel::calculateXX ( Eigen::VectorXd &  w,
Eigen::MatrixXd &  res 
)
protected

calculates weighted Eigen::MatrixXd X^T*X

void BALL::QSAR::ALLModel::calculateXY ( Eigen::VectorXd &  w,
Eigen::MatrixXd &  res 
)
protected

calculates weighted Eigen::MatrixXd X^T*Y

double BALL::QSAR::ALLModel::getKw ( )

returns the current kernel width

virtual vector<double> BALL::QSAR::ALLModel::getParameters ( ) const
virtual

Reimplemented from BALL::QSAR::Model.

Reimplemented in BALL::QSAR::KNNModel.

virtual bool BALL::QSAR::ALLModel::optimizeParameters ( int  d,
int  no_steps 
)
virtual

Tries to find the optimal kernel width for the current data. Therefore some training data must have been read by the connected QSARData object before running this method.

Reimplemented from BALL::QSAR::Model.

Reimplemented in BALL::QSAR::KNNModel.

virtual Eigen::VectorXd BALL::QSAR::ALLModel::predict ( const vector< double > &  substance,
bool  transform = 1 
)
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.

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

reconstruct a saved Model from a file

Reimplemented from BALL::QSAR::RegressionModel.

void BALL::QSAR::ALLModel::saveToFile ( string  filename)
virtual

save Model to a file

Reimplemented from BALL::QSAR::RegressionModel.

void BALL::QSAR::ALLModel::setKw ( double  kw)
virtual void BALL::QSAR::ALLModel::setParameters ( vector< double > &  )
virtual

sets the model parameters according to the given values.

Reimplemented from BALL::QSAR::Model.

Reimplemented in BALL::QSAR::KNNModel.

void BALL::QSAR::ALLModel::train ( )
inlinevirtual

automated lazy learning does not have a seperate training step

Implements BALL::QSAR::Model.

Definition at line 39 of file allModel.h.

Member Data Documentation

double BALL::QSAR::ALLModel::kw_
protected

kernel width

Definition at line 79 of file allModel.h.

double BALL::QSAR::ALLModel::lambda_
protected

Definition at line 80 of file allModel.h.