Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
Prolog mlpack Library
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Model registry
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
general
stups
Prolog mlpack Library
Commits
bf6366e8
Commit
bf6366e8
authored
2 years ago
by
Jakhes
Browse files
Options
Downloads
Patches
Plain Diff
Adding lars tests
parent
48d3f4a5
No related branches found
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
src/methods/lars/lars.pl
+4
-0
4 additions, 0 deletions
src/methods/lars/lars.pl
src/methods/lars/lars_test.pl
+377
-48
377 additions, 48 deletions
src/methods/lars/lars_test.pl
with
381 additions
and
48 deletions
src/methods/lars/lars.pl
+
4
−
0
View file @
bf6366e8
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
%% Only initialize the LARS model.
%% Only initialize the LARS model.
%%
%%
lars_initModelNoDataNoGram
(
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
lars_initModelNoDataNoGram
(
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
Tolerance
>
0
,
initModelNoDataNoGramI
(
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
).
initModelNoDataNoGramI
(
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
).
foreign
(
initModelNoDataNoGram
,
c
,
initModelNoDataNoGramI
(
+
integer
,
foreign
(
initModelNoDataNoGram
,
c
,
initModelNoDataNoGramI
(
+
integer
,
...
@@ -59,6 +60,7 @@ foreign(initModelNoDataNoGram, c, initModelNoDataNoGramI(+integer,
...
@@ -59,6 +60,7 @@ foreign(initModelNoDataNoGram, c, initModelNoDataNoGramI(+integer,
%% Initialize LARS model, and pass in a precalculated Gram matrix but dont train the model.
%% Initialize LARS model, and pass in a precalculated Gram matrix but dont train the model.
%%
%%
lars_initModelNoDataWithGram
(
UseCholesky
,
GramList
,
GramRows
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
lars_initModelNoDataWithGram
(
UseCholesky
,
GramList
,
GramRows
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
Tolerance
>
0
,
convert_list_to_float_array
(
GramList
,
GramRows
,
array
(
Zsize
,
Zrownum
,
Z
)),
convert_list_to_float_array
(
GramList
,
GramRows
,
array
(
Zsize
,
Zrownum
,
Z
)),
initModelNoDataWithGramI
(
UseCholesky
,
Z
,
Zsize
,
Zrownum
,
Lambda1
,
Lambda2
,
Tolerance
).
initModelNoDataWithGramI
(
UseCholesky
,
Z
,
Zsize
,
Zrownum
,
Lambda1
,
Lambda2
,
Tolerance
).
...
@@ -82,6 +84,7 @@ foreign(initModelNoDataWithGram, c, initModelNoDataWithGramI( +integer,
...
@@ -82,6 +84,7 @@ foreign(initModelNoDataWithGram, c, initModelNoDataWithGramI( +integer,
%% Initialize LARS model, and train the model.
%% Initialize LARS model, and train the model.
%%
%%
lars_initModelWithDataNoGram
(
DataList
,
DataRows
,
ResponsesList
,
TransposeData
,
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
lars_initModelWithDataNoGram
(
DataList
,
DataRows
,
ResponsesList
,
TransposeData
,
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
Tolerance
>
0
,
convert_list_to_float_array
(
DataList
,
DataRows
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
(
DataList
,
DataRows
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
(
ResponsesList
,
array
(
Ysize
,
Y
)),
convert_list_to_float_array
(
ResponsesList
,
array
(
Ysize
,
Y
)),
initModelWithDataNoGramI
(
X
,
Xsize
,
Xrownum
,
Y
,
Ysize
,
TransposeData
,
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
).
initModelWithDataNoGramI
(
X
,
Xsize
,
Xrownum
,
Y
,
Ysize
,
TransposeData
,
UseCholesky
,
Lambda1
,
Lambda2
,
Tolerance
).
...
@@ -110,6 +113,7 @@ foreign(initModelWithDataNoGram, c, initModelWithDataNoGramI( +pointer(float_a
...
@@ -110,6 +113,7 @@ foreign(initModelWithDataNoGram, c, initModelWithDataNoGramI( +pointer(float_a
%% Initialize LARS model, pass in a precalculated Gram matrix and train the model.
%% Initialize LARS model, pass in a precalculated Gram matrix and train the model.
%%
%%
lars_initModelWithDataWithGram
(
DataList
,
DataRows
,
ResponsesList
,
TransposeData
,
UseCholesky
,
GramList
,
GramRows
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
lars_initModelWithDataWithGram
(
DataList
,
DataRows
,
ResponsesList
,
TransposeData
,
UseCholesky
,
GramList
,
GramRows
,
Lambda1
,
Lambda2
,
Tolerance
)
:-
Tolerance
>
0
,
convert_list_to_float_array
(
DataList
,
DataRows
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
(
DataList
,
DataRows
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
(
ResponsesList
,
array
(
Ysize
,
Y
)),
convert_list_to_float_array
(
ResponsesList
,
array
(
Ysize
,
Y
)),
convert_list_to_float_array
(
GramList
,
GramRows
,
array
(
Zsize
,
Zrownum
,
Z
)),
convert_list_to_float_array
(
GramList
,
GramRows
,
array
(
Zsize
,
Zrownum
,
Z
)),
...
...
This diff is collapsed.
Click to expand it.
src/methods/lars/lars_test.pl
+
377
−
48
View file @
bf6366e8
...
@@ -8,77 +8,406 @@
...
@@ -8,77 +8,406 @@
:-
use_module
(
lars
).
:-
use_module
(
lars
).
:-
use_module
(
'../../helper_files/helper.pl'
).
:-
use_module
(
'../../helper_files/helper.pl'
).
reset_Model
:-
reset_Model_NoTrain
:-
lars_initModelNoDataNoGram
(
1
,
0.1
,
0.3
,
0.001
),
lars_initModelNoDataNoGram
(
0
,
0.0
,
0.0
,
1.0
e
-
16
).
convert_list_to_float_array
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
([
0.2
,
0.2
,
0.2
,
0.2
],
array
(
Ysize
,
Y
)),
lars_trainNoBetaReturn
(
X
,
Xsize
,
Xrownum
,
Y
,
Ysize
,
1
,
_
).
:-
begin_tests
(
lists
).
reset_Model_WithTrain
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
0.0
,
0.0
,
1.0
e
-
16
).
%% train tests
test
(
train
,
[
true
(
A
=:=
0
)])
:-
reset_Model
,
convert_list_to_float_array
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
array
(
Xsize
,
Xrownum
,
X
)),
convert_list_to_float_array
([
0.2
,
0.2
,
0.2
,
0.2
],
array
(
Ysize
,
Y
)),
lars_trainNoBetaReturn
(
X
,
Xsize
,
Xrownum
,
Y
,
Ysize
,
1
,
A
),
lars_predict
(
X
,
Xsize
,
Xrownum
,
Predic
,
PredicSize
,
0
),
convert_float_array_to_list
(
Predic
,
PredicSize
,
Result
),
print
(
Result
).
test
(
activeSet
)
:-
%%
reset_Model
,
%% TESTING predicate lars_initModelNoDataNoGram/4
lars_activeSet
(
ActSet
,
ActSetSize
),
%%
convert_float_array_to_list
(
ActSet
,
ActSetSize
,
Result
),
:-
begin_tests
(
lars_initModelNoDataNoGram
).
print
(
Result
).
%% Failure Tests
test
(
lars_InitModelNoDataNoGram_Negative_Tolerance
,
fail
)
:-
lars_initModelNoDataNoGram
(
0
,
0.0
,
0.0
,
-
1.0
e
-
16
).
%% Successful Tests
test
(
lars_InitModelNoDataNoGram_Normal_Use
)
:-
lars_initModelNoDataNoGram
(
0
,
0.0
,
0.0
,
1.0
e
-
16
).
test
(
lars_InitModelNoDataNoGram_Alternative_Use
)
:-
lars_initModelNoDataNoGram
(
1
,
-
1.0
,
1.0
,
1.0
e
-
16
).
:-
end_tests
(
lars_initModelNoDataNoGram
).
%%
%% TESTING predicate lars_initModelNoDataWithGram/6
%%
:-
begin_tests
(
lars_initModelNoDataWithGram
).
%% Failure Tests
test
(
lars_InitModelNoDataWithGram_Negative_Tolerance
,
fail
)
:-
lars_initModelNoDataWithGram
(
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
-
1.0
e
-
16
).
%% Successful Tests
test
(
lars_InitModelNoDataWithGram_Normal_Use
)
:-
lars_initModelNoDataWithGram
(
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
1.0
e
-
16
).
test
(
lars_InitModelNoDataWithGram_Alternative_Use
)
:-
lars_initModelNoDataWithGram
(
1
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
-
1.0
,
1.0
,
1.0
e
-
16
).
:-
end_tests
(
lars_initModelNoDataWithGram
).
%%
%% TESTING predicate lars_initModelWithDataNoGram/8
%%
:-
begin_tests
(
lars_initModelWithDataNoGram
).
%% Failure Tests
test
(
lars_InitModelWithDataNoGram_Negative_Tolerance
,
fail
)
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataNoGram_Too_Few_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
],
0
,
0
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataNoGram_Too_Many_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
,
0
,
1
],
0
,
0
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataNoGram_Too_Many_Labelclasses
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
2
,
3
],
0
,
0
,
0.0
,
0.0
,
-
1.0
e
-
16
).
%% Successful Tests
test
(
lars_InitModelWithDataNoGram_Normal_Use
)
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
0.0
,
0.0
,
1.0
e
-
16
).
test
(
lars_InitModelWithDataNoGram_Alternative_Use
)
:-
lars_initModelWithDataNoGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
1
,
1
,
1.0
,
-
1.0
,
1.0
e
-
16
).
:-
end_tests
(
lars_initModelWithDataNoGram
).
%%
%% TESTING predicate lars_initModelWithDataWithGram/10
%%
:-
begin_tests
(
lars_initModelWithDataWithGram
).
%% Failure Tests
test
(
lars_InitModelWithDataWithGram_Negative_Tolerance
,
fail
)
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataWithGram_Too_Few_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataWithGram_Too_Many_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
,
0
,
1
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataWithGram_Too_Many_Labelclasses
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
2
,
3
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
-
1.0
e
-
16
).
test
(
lars_InitModelWithDataWithGram_Diffrent_Dimensions
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
4
,
0.0
,
0.0
,
-
1.0
e
-
16
).
%% Successful Tests
test
(
lars_InitModelWithDataWithGram_Normal_Use
)
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0.0
,
0.0
,
1.0
e
-
16
).
test
(
lars_InitModelWithDataWithGram_Alternative_Use
)
:-
lars_initModelWithDataWithGram
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
1
,
0
,
[
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
1.0
,
-
1.0
,
1.0
e
-
16
).
:-
end_tests
(
lars_initModelWithDataWithGram
).
%%
%% TESTING predicate lars_activeSet/1
%%
:-
begin_tests
(
lars_activeSet
).
%% Failure Tests
test
(
lars_ActiveSet_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_activeSet
(
_
).
%% Successful Tests
test
(
lars_ActiveSet_Normal_Use
)
:-
reset_Model_WithTrain
,
lars_activeSet
(
ActiveSetList
),
print
(
'\nActive Set: '
),
print
(
ActiveSetList
).
:-
end_tests
(
lars_activeSet
).
%%
%% TESTING predicate lars_beta/1
%%
:-
begin_tests
(
lars_beta
).
%% Failure Tests
test
(
lars_Beta_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_beta
(
_
).
test
(
matUtriCholFactor
)
:-
%% Successful Tests
reset_Model
,
lars_matUtriCholFactor
(
Matrix
,
MatrixColNum
,
MatrixRowNum
),
test
(
lars_Beta_Normal_Use
)
:-
print
(
MatrixColNum
),
reset_Model_WithTrain
,
convert_float_array_to_2d_list
(
Matrix
,
MatrixColNum
,
MatrixRowNum
,
Results
),
lars_beta
(
BetaList
),
print
(
Results
).
print
(
'\nBeta : '
),
print
(
BetaList
).
:-
end_tests
(
lars_beta
).
%%
%% TESTING predicate lars_betaPath/2
%%
:-
begin_tests
(
lars_betaPath
).
%% Failure Tests
test
(
lars_BetaPath_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_betaPath
(
_
,
_
).
test
(
betaPath
)
:-
reset_Model
,
%% Successful Tests
lars_betaPath
(
Matrix
,
MatrixColNum
,
MatrixRowNum
),
print
(
MatrixColNum
),
test
(
lars_BetaPath_Normal_Use
)
:-
convert_float_array_to_2d_list
(
Matrix
,
MatrixColNum
,
MatrixRowNum
,
Results
),
reset_Model_WithTrain
,
print
(
Results
).
lars_betaPath
(
BetaPathList
,
_
),
print
(
'\nBeta List: '
),
print
(
BetaPathList
).
:-
end_tests
(
lars_betaPath
).
:-
end_tests
(
lists
).
%%
%%
%% TESTING predicate
predicate/10
%% TESTING predicate
lars_computeError/5
%%
%%
:-
begin_tests
(
predicate
).
:-
begin_tests
(
lars_computeError
).
%% Failure Tests
%% Failure Tests
test
(
testDescription
,
[
error
(
domain_error
(
'expectation'
,
culprit
),
_
)])
:-
test
(
lars_ComputeError_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_No_Train
(
perceptron
),
reset_Model_NoTrain
,
train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
0
,
0
,
0
],
2
,
culprit
,
50
,
0.0001
,
_
).
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
_
).
test
(
lars_ComputeError_Too_Few_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_WithTrain
,
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
],
0
,
_
).
test
(
testDescription2
,
[
error
(
_
,
system_error
(
'The values of the Label have to start at 0 and be >= 0 and < the given numClass!'
))])
:-
test
(
lars_ComputeError_Too_Many_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_No_Train
(
perceptron
),
reset_Model_WithTrain
,
train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
2
],
2
,
perceptron
,
50
,
0.0001
,
_
).
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
,
0
,
1
],
0
,
_
).
test
(
lars_ComputeError_Too_Many_Labelclasses
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_WithTrain
,
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
2
,
3
],
0
,
_
).
%% Successful Tests
%% Successful Tests
test
(
testDescription3
,
[
true
(
Error
=:=
1
)])
:-
test
(
lars_ComputeError_Normal_Use
)
:-
reset_Model_No_Train
(
perceptron
),
reset_Model_WithTrain
,
train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
0
,
0
,
0
],
2
,
perceptron
,
50
,
0.0001
,
Error
).
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
Error
),
print
(
'\nError : '
),
print
(
Error
).
test
(
lars_ComputeError_Alternative_Use
)
:-
reset_Model_WithTrain
,
lars_computeError
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
1
,
Error
),
print
(
'\nError : '
),
print
(
Error
).
test
(
lars_ComputeError_CSV_Input
)
:-
reset_Model_WithTrain
,
open
(
'src/data_csv/iris2.csv'
,
read
,
File
),
take_csv_row
(
File
,
skipFirstRow
,
10
,
Data
),
lars_computeError
(
Data
,
4
,
[
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
1
,
0
],
0
,
Error
),
print
(
'\nError : '
),
print
(
Error
).
:-
end_tests
(
lars_computeError
).
%%
%% TESTING predicate lars_lambdaPath/1
%%
:-
begin_tests
(
lars_lambdaPath
).
%% Failure Tests
test
(
lars_LambdaPath_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_lambdaPath
(
_
).
%% Successful Tests
test
(
lars_LambdaPath_Normal_Use
)
:-
reset_Model_WithTrain
,
lars_lambdaPath
(
LambdaPathList
),
print
(
'\nLambda Path: '
),
print
(
LambdaPathList
).
:-
end_tests
(
lars_lambdaPath
).
%%
%% TESTING predicate lars_matUtriCholFactor/2
%%
:-
begin_tests
(
lars_matUtriCholFactor
).
%% Failure Tests
test
(
lars_MatUtriCholFactor_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_matUtriCholFactor
(
_
,
_
).
%% Successful Tests
test
(
lars_MatUtriCholFactor_Normal_Use
)
:-
reset_Model_WithTrain
,
lars_matUtriCholFactor
(
FactorList
,
_
),
print
(
'\nUtriCholFactor: '
),
print
(
FactorList
).
:-
end_tests
(
lars_matUtriCholFactor
).
%%
%% TESTING predicate lars_predict/10
%%
:-
begin_tests
(
lars_predict
).
%% Failure Tests
test
(
lars_Predict_Before_Train
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_predict
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0
,
_
).
test
(
lars_Predict_Diffrent_Dims
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_WithTrain
,
lars_predict
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
4
,
0
,
_
).
%% Successful Tests
test
(
lars_Predict_Normal_Use
)
:-
reset_Model_WithTrain
,
lars_predict
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
0
,
PredictList
),
print
(
'\nPrediction: '
),
print
(
PredictList
).
test
(
lars_Predict_Alternative_Use
)
:-
reset_Model_WithTrain
,
lars_predict
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
1
,
PredictList
),
print
(
'\nPrediction: '
),
print
(
PredictList
).
test
(
lars_Predict_CSV_Input
)
:-
reset_Model_WithTrain
,
open
(
'src/data_csv/iris2.csv'
,
read
,
File
),
take_csv_row
(
File
,
skipFirstRow
,
10
,
Data
),
lars_predict
(
Data
,
4
,
0
,
PredictList
),
print
(
'\nPrediction: '
),
print
(
PredictList
).
:-
end_tests
(
lars_predict
).
%%
%% TESTING predicate lars_train/10
%%
:-
begin_tests
(
lars_train
).
%% Failure Tests\
test
(
lars_Train_Diffrent_Dims
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_WithTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
4
,
[
0
,
1
,
0
],
0
,
_
,
_
).
test
(
lars_Train_Too_Few_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
],
0
,
_
,
_
).
test
(
lars_Train_Too_Many_Labels
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
,
0
,
1
],
0
,
_
,
_
).
test
(
lars_Train_Too_Many_Labelclasses
,
[
error
(
_
,
system_error
(
'Error'
))])
:-
reset_Model_NoTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
2
,
3
],
0
,
_
,
_
).
%% Successful Tests
test
(
lars_Train_Normal_Use
)
:-
reset_Model_NoTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
BetaList
,
Error
),
print
(
'\nBeta: '
),
print
(
BetaList
),
print
(
'\nError: '
),
print
(
Error
).
test
(
lars_Train_Normal_Use
)
:-
reset_Model_WithTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
0
,
BetaList
,
Error
),
print
(
'\nBeta: '
),
print
(
BetaList
),
print
(
'\nError: '
),
print
(
Error
).
test
(
lars_Train_Alternative_Use
)
:-
reset_Model_NoTrain
,
lars_train
([
5.1
,
3.5
,
1.4
,
4.9
,
3.0
,
1.4
,
4.7
,
3.2
,
1.3
,
4.6
,
3.1
,
1.5
],
3
,
[
0
,
1
,
0
,
1
],
1
,
BetaList
,
Error
),
print
(
'\nBeta: '
),
print
(
BetaList
),
print
(
'\nError: '
),
print
(
Error
).
test
(
testDescription4
,
[
true
(
Error
=:=
0.9797958971132711
)]
)
:-
test
(
lars_Train_CSV_Input
)
:-
reset_Model_No
_
Train
(
perceptron
)
,
reset_Model_NoTrain
,
open
(
'src/data_csv/iris2.csv'
,
read
,
File
),
open
(
'src/data_csv/iris2.csv'
,
read
,
File
),
take_csv_row
(
File
,
skipFirstRow
,
10
,
Data
),
take_csv_row
(
File
,
skipFirstRow
,
10
,
Data
),
train
(
Data
,
4
,
[
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
1
,
0
],
2
,
perceptron
,
50
,
0.0001
,
Error
).
lars_train
(
Data
,
4
,
[
0
,
1
,
0
,
1
,
1
,
0
,
1
,
1
,
1
,
0
],
0
,
BetaList
,
Error
),
print
(
'\nBeta: '
),
print
(
BetaList
),
print
(
'\nError: '
),
print
(
Error
).
:-
end_tests
(
predicate
).
:-
end_tests
(
lars_train
).
run_lars_tests
:-
run_lars_tests
:-
run_tests
.
run_tests
.
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment