generated from JuliaAI/MLJExampleInterface.jl
-
Notifications
You must be signed in to change notification settings - Fork 8
Open
Description
Two corner cases previously not accounted for:
First is a bug: The following works as expected:
julia> v = UnivariateFinite(["M", "F"], [0.5 0.5; 0.4 0.6], pool=missing)
2-element UnivariateFiniteVector{Multiclass{2}, String, UInt8, Float64}:
UnivariateFinite{Multiclass{2}}(M=>0.5, F=>0.5)
UnivariateFinite{Multiclass{2}}(M=>0.4, F=>0.6)
julia> pdf(v, ["M", "F"])
2×2 Matrix{Float64}:
0.5 0.5
0.4 0.6
However, this should probably also work but doesn't:
julia> v = UnivariateFinite[v...]
2-element Vector{UnivariateFinite}:
UnivariateFinite{Multiclass{2}}(M=>0.5, F=>0.5)
UnivariateFinite{Multiclass{2}}(M=>0.4, F=>0.6)
julia> pdf(v, ["M", "F"])
ERROR: MethodError: no method matching pdf(::Vector{UnivariateFinite}, ::Vector{String})
Second is an optimization: (see comment below)
This works, but is does not use one of the optimised methods for broadcasting we have in src/univariatefinite/arrays:
pdf.(v, levels.(v))
Metadata
Metadata
Assignees
Labels
No labels