File: PCRModel_test.C

package info (click to toggle)
ball 1.4.3~beta1-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 318,984 kB
  • sloc: cpp: 346,579; ansic: 4,097; python: 2,664; yacc: 1,778; lex: 1,099; xml: 964; sh: 688; sql: 316; awk: 118; makefile: 108
file content (40 lines) | stat: -rw-r--r-- 1,144 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <BALLTestConfig.h>
#include <BALL/CONCEPT/classTest.h>

#include <BALL/QSAR/QSARData.h>
#include <BALL/QSAR/pcrModel.h>

using namespace BALL;
using namespace BALL::QSAR;


START_TEST(PCR-model)

PRECISION(1E-7)

QSARData data;
data.readCSVFile(BALL_TEST_DATA_PATH(Regression_test.csv),1,1,1,"	",0,0);

CHECK(PCR-model)
	PCRModel pcr(data);
	pcr.readTrainingData();

	// now just check if SVDSolver works correctly. MLR has already been checked separately
	Eigen::MatrixXd eigenvectors;
	Eigen::MatrixXd XX = pcr.getDescriptorMatrix()->transpose() * *pcr.getDescriptorMatrix();
	pcr.calculateEigenvectors(XX,1.0,eigenvectors);
	TEST_EQUAL(eigenvectors.cols(),3)
	TEST_EQUAL(eigenvectors.rows(),3)
	TEST_REAL_EQUAL(eigenvectors(0,0),0.1998991)
	TEST_REAL_EQUAL(eigenvectors(1,0),0.5353127)
	TEST_REAL_EQUAL(eigenvectors(2,0),0.8206587)
	TEST_REAL_EQUAL(eigenvectors(0,1),0.1287921)
	TEST_REAL_EQUAL(eigenvectors(1,1),0.8159410)
	TEST_REAL_EQUAL(eigenvectors(2,1),-0.5636070)
	TEST_REAL_EQUAL(eigenvectors(0,2),0.97131506)
	TEST_REAL_EQUAL(eigenvectors(1,2),-0.21835886)
	TEST_REAL_EQUAL(eigenvectors(2,2),-0.09416187)
RESULT


END_TEST