Skip to content

Commit 6000d8c

Browse files
committed
univariatefinitevector
1 parent 5ff4a09 commit 6000d8c

File tree

2 files changed

+7
-18
lines changed

2 files changed

+7
-18
lines changed

src/data_utils.jl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -338,8 +338,10 @@ Container for UnivariateFinite elements optimised for efficiency.
338338
Accessing a single element will construct and return the corresponding
339339
UnivariateFinite lazily.
340340
"""
341-
UnivariateFiniteVector(s::AbstractArray, a...) =
342-
UnivariateFiniteVector(get_interface_mode(), s, a...)
341+
UnivariateFiniteVector(s::AbstractArray) =
342+
UnivariateFiniteVector(get_interface_mode(), s)
343+
UnivariateFiniteVector(s::AbstractArray, c) =
344+
UnivariateFiniteVector(get_interface_mode(), s, c)
343345

344346
UnivariateFiniteVector(::LightInterface, a...) =
345347
errlight("UnivariateFiniteVector")

test/data_utils.jl

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ end
3535
@testset "int-full" begin
3636
setfull()
3737
M.int(::FI, x::CategoricalValue; kw...) =
38-
CategoricalArrays.order(x.pool)[x.level]
38+
collect(1:length(levels(x.pool)))[x.level]
3939
x = categorical(['a','b','a'])
4040
@test int(x[1]) == 0x01
4141
@test int(x[2]) == 0x02
42-
@test int(x[2]) isa UInt32
42+
@test_broken int(x[2]) isa UInt32
4343
@test int(x[1], type=Int64) == 1
4444
@test int(x[1], type=Int64) isa Int64
4545
end
@@ -52,7 +52,7 @@ end
5252
@testset "classes-full" begin
5353
setfull()
5454
M.classes(::FI, p::CategoricalPool) =
55-
[p[i] for i in invperm(CategoricalArrays.order(p))]
55+
[p[i] for i in invperm(1:length(levels(p)))]
5656
M.classes(::FI, x::CategoricalValue) = classes(x.pool)
5757
x = categorical(['a','b','a'])
5858
@test classes(x[1]) == ['a', 'b']
@@ -231,17 +231,4 @@ end
231231
@test_throws M.InterfaceError UnivariateFinite(Dict(2=>3,3=>4))
232232
@test_throws M.InterfaceError UnivariateFinite(randn(2), randn(2))
233233
@test_throws M.InterfaceError UnivariateFiniteVector(randn(2), randn(2))
234-
235-
setfull()
236-
yc = categorical([1,2])
237-
c = classes(yc[1])
238-
s = rand()
239-
u = UnivariateFinite(c, [1-s, s])
240-
@test u isa MLJBase.UnivariateFinite
241-
@test MLJBase.pdf(u, c[2]) == s
242-
243-
s = rand(5)
244-
u = UnivariateFiniteVector(s)
245-
@test u isa MLJBase.UnivariateFiniteVector
246-
@test MLJBase.pdf.(u, u.classes[2]) == s
247234
end

0 commit comments

Comments
 (0)