2:- module(test, 3 [test/0,test_all/0]). 4:- use_module(library(plunit)). 5 6test:- 7 test_all. 8 9test_all:- 10 tests(A), 11 run_tests(A). 12 13tests([carc,muta,nba,bongard]). 14 15 16:- begin_tests(carc, []). 17:-ensure_loaded(library(examples_lift/carc)). 18:-use_module(library(cplint_test/cplint_test)). 19 20test(induce_par_carc):- 21 set_lift(verbosity,0), 22 set_lift(parameter_learning,em_python), 23 set_lift(iter,100), 24 induce_par_lift([train],P), 25 test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 26 writeln('Result:'), 27 writeln(P), 28 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 29 writeln(St), 30 atomic_list_concat(['Expected:\n', 31 '\nLL =', -26.41604269110072, 32 '\nAUCROC =',0.6710526315789473, 33 '\nAUCPR =', 0.5989337661969046],St1), 34 writeln(St1). 35 36test(induce_par_gd_carc):- 37 set_lift(verbosity,0), 38 set_lift(parameter_learning,gd_python), 39 set_lift(eta,0.01), 40 set_lift(iter,100), 41 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 42 writeln('Result:'), 43 writeln(P), 44 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 45 writeln(St), 46 atomic_list_concat(['Expected:\n', 47 '\nLL =', -26.433804567011133, 48 '\nAUCROC =',0.6710526315789473, 49 '\nAUCPR =', 0.5989337661969046],St1), 50 writeln(St1). 51 52:- end_tests(carc). 53 54 55:- begin_tests(muta, []). 56:-ensure_loaded(library(examples_lift/muta)). 57:-use_module(library(cplint_test/cplint_test)). 58 59 60test(induce_par_muta):- 61 set_lift(verbosity,0), 62 set_lift(parameter_learning,em_python), 63 induce_par_lift([1,2,3,4,5,6,7,8,9],P),test_lift(P,[10],LL,AUCROC,_ROC,AUCPR,_PR), 64 writeln('Result:'), 65 writeln(P), 66 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 67 writeln(St), 68 atomic_list_concat(['Expected:\n', 69 '\nLL =',-50.3968461506984, 70 '\nAUCROC =',0.4924242424242425, 71 '\nAUCPR =', 0.7123209210586535],St1), 72 writeln(St1). 73 74test(induce_par_gd_muta):- 75 set_lift(verbosity,0), 76 set_lift(parameter_learning,gd_python), 77 set_lift(parameter_update,adam), 78 set_lift(eta,0.01), 79 induce_par_lift([1,2,3,4,5,6,7,8,9],P),test_lift(P,[10],LL,AUCROC,_ROC,AUCPR,_PR), 80 writeln('Result:'), 81 writeln(P), 82 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 83 writeln(St), 84 atomic_list_concat(['Expected:\n', 85 '\nLL =',-48.955482123491436, 86 '\nAUCROC =',0.6287878787878788, 87 '\nAUCPR =', 0.8184241612528028],St1), 88 writeln(St1). 89 90 91:- end_tests(muta). 92 93 94:- begin_tests(nba, []). 95:-ensure_loaded(library(examples_lift/nba)). 96:-use_module(library(cplint_test/cplint_test)). 97 98test(induce_nba_l1):- 99 set_lift(verbosity,0), 100 set_lift(regularization,l1), 101 set_lift(parameter_learning,em_python), 102 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 103 writeln('Result:'), 104 writeln(P), 105 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 106 writeln(St), 107 atomic_list_concat(['Expected:\n', 108 '\nLL =', -49.7938188339248, 109 '\nAUCROC =',0.625, 110 '\nAUCPR =', 0.8189102564102563],St1), 111 writeln(St1). 112 113test(induce_nba_l2):- 114 set_lift(verbosity,0), 115 set_lift(parameter_learning,em_python), 116 set_lift(regularization,l2), 117 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 118 writeln('Result:'), 119 writeln(P), 120 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 121 writeln(St), 122 atomic_list_concat(['Expected:\n', 123 '\nLL =', -43.57330116702434, 124 '\nAUCROC =',0.625, 125 '\nAUCPR =', 0.8189102564102563],St1), 126 writeln(St1). 127 128test(induce_nba_bayesian):- 129 set_lift(verbosity,0), 130 set_lift(regularization,bayesian), 131 set_lift(parameter_learning,em_python), 132 induce_lift([f1,f2,f3,f4],P),test_lift(P,[f5],LL,AUCROC,_ROC,AUCPR,_PR), 133 writeln('Result:'), 134 writeln(P), 135 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 136 writeln(St), 137 atomic_list_concat(['Expected:\n', 138 '\nLL =', -47.070639401222, 139 '\nAUCROC =',0.625, 140 '\nAUCPR =', 0.8189102564102563],St1), 141 writeln(St1). 142 143:- end_tests(nba). 144 145 146:- begin_tests(bongard, []). 147:-ensure_loaded(library(examples_lift/bongard)). 148:-use_module(library(cplint_test/cplint_test)). 149 150 151test(induce_par_gd_bongard):- 152 set_lift(verbosity,4), 153 set_lift(parameter_learning,gd_python), 154 set_lift(eta,0.01), 155 set_lift(regularization, no), 156 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 157 writeln('Result:'), 158 writeln(P), 159 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 160 writeln(St), 161 atomic_list_concat(['Expected:\n', 162 '\nLL =',-218.22925642272494, 163 '\nAUCROC =',0.7485951468710089, 164 '\nAUCPR =', 0.5979409655734421],St1), 165 writeln(St1). 166 167test(induce_gd_bongard):- 168 set_lift(verbosity,1), 169 set_lift(parameter_learning,gd_python), 170 set_lift(regularization, no), 171 set_lift(eta,0.01), 172 set_lift(gamma,0.1), 173 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 174 writeln('Result:'), 175 writeln(P), 176 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 177 writeln(St), 178 atomic_list_concat(['Expected:\n', 179 '\nLL =',-88.11894369013643, 180 '\nAUCROC =',0.8199872286079184, 181 '\nAUCPR =',0.6676162174173899],St1), 182 writeln(St1). 183 184 185 186test(induce_conc_bongard):- 187 set_lift(verbosity,1), 188 set_lift(parameter_learning,em_python), 189 set_lift(threads,2), 190 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 191 writeln('Result:'), 192 writeln(P), 193 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 194 writeln(St), 195 atomic_list_concat(['Expected:\n', 196 '\nLL =',-88.11894369013643, 197 '\nAUCROC =',0.8199872286079184, 198 '\nAUCPR =',0.6676162174173899],St1), 199 writeln(St1). 200test(induce_gd_l1_bongard):- 201 set_lift(verbosity,1), 202 set_lift(parameter_learning,gd_python), 203 set_lift(regularization, l1), 204 set_lift(eta,0.01), 205 set_lift(gamma,1), 206 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 207 writeln('Result:'), 208 writeln(P), 209 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 210 writeln(St), 211 atomic_list_concat(['Expected:\n', 212 '\nLL =',-86.45340693767905, 213 '\nAUCROC =',0.8247126436781609, 214 '\nAUCPR =', 0.6620667885942804],St1), 215 writeln(St1). 216 217test(induce_gd_l2_bongard):- 218 set_lift(verbosity,1), 219 set_lift(parameter_learning,gd_python), 220 set_lift(regularization, l2), 221 set_lift(eta,0.01), 222 set_lift(gamma,1), 223 induce_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 224 writeln('Result:'), 225 writeln(P), 226 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 227 writeln(St), 228 atomic_list_concat(['Expected:\n', 229 '\nLL =',-87.36727076138638, 230 '\nAUCROC =',0.8188378033205619, 231 '\nAUCPR =', 0.6550280976471973],St1), 232 writeln(St1). 233 234 235test(induce_par_gd_adam_bongard):- 236 set_lift(verbosity,1), 237 set_lift(parameter_learning,gd_python), 238 set_lift(parameter_update, adam), 239 set_lift(gamma,1), 240 set_lift(iter,20), 241 set_lift(adam_params,[0.2,0.8,0.9,1e-8]), 242 induce_par_lift([train],P),test_lift(P,[test],LL,AUCROC,_ROC,AUCPR,_PR), 243 writeln('Result:'), 244 writeln(P), 245 atomic_list_concat(['\nLL=',LL,'\nAUCROC=',AUCROC,'\nAUCPR=',AUCPR,'\n'],St), 246 writeln(St), 247 atomic_list_concat(['Expected:\n', 248 '\nLL =',-218.57571674633985, 249 '\nAUCROC =',0.7485951468710089, 250 '\nAUCPR =', 0.5979409655734421],St1), 251 writeln(St1). 252 253 254:- end_tests(bongard).