Skip to content

Commit 33051ec

Browse files
committed
test:More comprehensive creation testing. Using native matrices in classification testing.
1 parent 163dabd commit 33051ec

File tree

2 files changed

+90
-23
lines changed

2 files changed

+90
-23
lines changed

t/01-creation.rakutest

Lines changed: 87 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,108 @@ sub is-smr-map($arg) {
99

1010
my $dsData = ML::SparseMatrixRecommender::Utilities::get-titanic-dataset();
1111

12+
plan *;
13+
14+
#==========================================================
1215
## 1
16+
#==========================================================
1317
is $dsData ~~ (Array:D | List:D) && $dsData.all ~~ Map:D, True, 'expected data shape';
1418

19+
#==========================================================
1520
## 2
16-
ok
17-
ML::SparseMatrixRecommender.new.create-from-wide-form($dsData, item-column-name => 'id', tag-types => Whatever, :!add-tag-types-to-column-name),
18-
'ok creation from wide form';
19-
20-
my $smr =
21-
ML::SparseMatrixRecommender
22-
.new
23-
.create-from-wide-form(
24-
$dsData,
21+
#==========================================================
22+
subtest {
23+
## 1
24+
ok
25+
ML::SparseMatrixRecommender
26+
.new
27+
.create-from-wide-form(
28+
$dsData,
29+
item-column-name => 'id',
30+
tag-types => Whatever,
31+
:!add-tag-types-to-column-name,
32+
:!native),
33+
'ok creation from wide form';
34+
35+
my $smr =
36+
ML::SparseMatrixRecommender
37+
.new
38+
.create-from-wide-form(
39+
$dsData,
40+
item-column-name => 'id',
41+
tag-types => Whatever,
42+
:!add-tag-types-to-column-names
43+
)
44+
.apply-term-weight-functions(
45+
global-weight-func => "IDF",
46+
local-weight-func => "None",
47+
normalizer-func => "Cosine"
48+
);
49+
50+
## 3
51+
ok ML::SparseMatrixRecommender.new($smr.take-matrices);
52+
53+
## 4
54+
my $smr-new = ML::SparseMatrixRecommender.new($smr.take-matrices);
55+
56+
is
57+
$smr-new.take-matrices ~~ Map:D && $smr-new.take-matrices.values.all ~~ Math::SparseMatrix:D,
58+
True,
59+
"smr-new has valid matricss";
60+
61+
## 5
62+
is $smr-new.take-M eqv $smr.take-M, True, "M matrices are equal";
63+
}, 'wide form, not native';
64+
65+
#==========================================================
66+
## 3
67+
#==========================================================
68+
subtest {
69+
## 1
70+
ok
71+
ML::SparseMatrixRecommender
72+
.new
73+
.create-from-wide-form(
74+
$dsData,
75+
item-column-name => 'id',
76+
tag-types => Whatever,
77+
:!add-tag-types-to-column-name,
78+
:native),
79+
'ok creation from wide form';
80+
81+
my $smr =
82+
ML::SparseMatrixRecommender
83+
.new
84+
.create-from-wide-form(
85+
$dsData,
2586
item-column-name => 'id',
2687
tag-types => Whatever,
2788
:!add-tag-types-to-column-names
28-
)
29-
.apply-term-weight-functions(
89+
)
90+
.apply-term-weight-functions(
3091
global-weight-func => "IDF",
3192
local-weight-func => "None",
3293
normalizer-func => "Cosine"
33-
);
94+
);
3495

35-
## 3
36-
ok ML::SparseMatrixRecommender.new($smr.take-matrices);
96+
## 3
97+
ok ML::SparseMatrixRecommender.new($smr.take-matrices);
3798

38-
## 4
39-
my $smr-new = ML::SparseMatrixRecommender.new($smr.take-matrices);
99+
## 4
100+
my $smr-new = ML::SparseMatrixRecommender.new($smr.take-matrices);
40101

41-
is
42-
$smr-new.take-matrices ~~ Map:D && $smr-new.take-matrices.values.all ~~ Math::SparseMatrix:D,
43-
True,
44-
"smr-new has valid matricss";
102+
is
103+
$smr-new.take-matrices ~~ Map:D && $smr-new.take-matrices.values.all ~~ Math::SparseMatrix:D,
104+
True,
105+
"smr-new has valid matricss";
45106

46-
## 5
47-
is $smr-new.take-M eqv $smr.take-M, True, "M matrices are equal";
107+
## 5
108+
is $smr-new.take-M eqv $smr.take-M, True, "M matrices are equal";
109+
}, 'wide form, native';
48110

111+
#==========================================================
112+
## 4
113+
#==========================================================
49114
subtest {
50115
my @long =
51116
<passengerAge passengerClass passengerSex passengerSurvival>

t/03-classification.rakutest

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use Math::SparseMatrix;
77
#----------------------------------------------------------
88
# Tested in 01-creation.rakutest
99
#----------------------------------------------------------
10+
my $native = True;
1011
my $dsData = ML::SparseMatrixRecommender::Utilities::get-titanic-dataset();
1112
$dsData = $dsData.map({ $_<id> = "id.{$_<id>}"; $_});
1213

@@ -17,7 +18,8 @@ my $smr =
1718
$dsData,
1819
item-column-name => 'id',
1920
tag-types => Whatever,
20-
:!add-tag-types-to-column-names
21+
:!add-tag-types-to-column-names,
22+
:$native
2123
)
2224
.apply-term-weight-functions(
2325
global-weight-func => "IDF",

0 commit comments

Comments
 (0)