Providing intrinsic clustering quality indices #198
ci.yml
on: pull_request
Documentation
41m 30s
Matrix: test
Annotations
9 errors
Julia 1 - ubuntu-latest - x86
Process completed with exit code 1.
|
Julia 1.0 - ubuntu-latest - x64
Process completed with exit code 1.
|
Julia 1 - ubuntu-latest - x64
Process completed with exit code 1.
|
Julia 1 - macos-latest - x64
Process completed with exit code 1.
|
Julia 1 - windows-latest - x64
Process completed with exit code 1.
|
Julia nightly - ubuntu-latest - x64
Process completed with exit code 1.
|
Documentation:
../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L44
failed to run `@example` block in source/validate.md:156-182
```@example
using Plots, Clustering
X = hcat([4., 5.] .+ 0.4 * randn(2, 10),
[9., -5.] .+ 0.4 * randn(2, 5),
[-4., -9.] .+ 1 * randn(2, 5))
clusterings = kmeans.(Ref(X), 2:5)
hard_indices = [:silhouettes, :calinski_harabasz, :xie_beni, :davies_bouldin, :dunn]
kmeans_quality =
Dict(qidx => clustering_quality.(Ref(X), clusterings, quality_index = qidx)
for qidx in hard_indices
)
p = [
plot(2:5, kmeans_quality[qidx],
marker = :circle,
title = string.(qidx),
label = nothing,
)
for qidx in hard_indices
]
plot(p...,
layout = (3,2),
plot_title = "Quality indices for various number of clusters"
)
```
exception =
MethodError: no method matching _inner_inertia(::Distances.SqEuclidean, ::Matrix{Float64}, ::Matrix{Float64}, ::Vector{Int64})
Closest candidates are:
_inner_inertia(::Distances.SemiMetric, ::AbstractMatrix, ::AbstractMatrix, ::AbstractVector{<:Integer}, !Matched::Nothing)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:173
_inner_inertia(::Distances.SemiMetric, ::AbstractMatrix, ::AbstractMatrix, !Matched::AbstractMatrix, !Matched::Real)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:188
Stacktrace:
[1] _cluquality_xie_beni(metric::Distances.SqEuclidean, data::Matrix{Float64}, centers::Matrix{Float64}, assignments::Vector{Int64}, fuzziness::Nothing)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:271
[2] clustering_quality(data::Matrix{Float64}, centers::Matrix{Float64}, assignments::Vector{Int64}; quality_index::Symbol, metric::Distances.SqEuclidean)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:78
[3] clustering_quality
@ ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:54 [inlined]
[4] #clustering_quality#40
@ ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:90 [inlined]
[5] clustering_quality
@ ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:90 [inlined]
[6] #43
@ ./broadcast.jl:1297 [inlined]
[7] _broadcast_getindex_evalf
@ ./broadcast.jl:683 [inlined]
[8] _broadcast_getindex
@ ./broadcast.jl:656 [inlined]
[9] getindex
@ ./broadcast.jl:610 [inlined]
[10] copy
@ ./broadcast.jl:912 [inlined]
[11] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, Base.Broadcast.var"#43#44"{Base.Pairs{Symbol, Symbol, Tuple{Symbol}, NamedTuple{(:quality_index,), Tuple{Symbol}}}, typeof(clustering_quality)}, Tuple{Base.RefValue{Matrix{Float64}}, Vector{KmeansResult{Matrix{Float64}, Float64, Int64}}}})
@ Base.Broadcast ./broadcast.jl:873
[12] (::Main.__atexample__300.var"#1#2")(qidx::Symbol)
@ Main.__atexample__300 ./none:0
[13] iterate
@ ./generator.jl:47 [inlined]
[14] _all(f::Base.var"#372#374", itr::Base.Generator{Vector{Symbol}, Main.__atexample__300.var"#1#2"}, #unused#::Colon)
@ Base ./reduce.jl:1292
[15] all
@ ./reduce.jl:1278 [inlined]
[16] Dict(kv::Base.Generator{Vector{Symbol}, Main.__atexample__300.var"#1#2"})
@ Base ./dict.jl:111
[17] top-level scope
@ validate.md:165
[18] eval
@ ./boot.jl:370 [inlined]
[19] #54
@ ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:738 [inlined]
[20] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[21] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:737
[22] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packa
|
Documentation:
../../../.julia/packages/Documenter/nQAq5/src/utilities/utilities.jl#L44
failed to run `@example` block in source/validate.md:185-213
```@example
using Plots, Clustering
X = hcat([4., 5.] .+ 0.4 * randn(2, 10),
[9., -5.] .+ 0.4 * randn(2, 5),
[-4., -9.] .+ 1 * randn(2, 5))
fuzziness = 2
fuzzy_indices = [:calinski_harabasz, :xie_beni]
fuzzy_clusterings = fuzzy_cmeans.(Ref(X), 2:5, fuzziness)
fuzzy_cmeans_quality =
Dict(qidx => clustering_quality.(Ref(X), fuzzy_clusterings, fuzziness = fuzziness, quality_index = qidx)
for qidx in fuzzy_indices
)
p = [
plot(2:5, fuzzy_cmeans_quality[qidx],
marker = :circle,
title = string.(qidx),
label = nothing,
)
for qidx in fuzzy_indices
]
plot(p...,
layout = (2,1),
plot_title = "Quality indices for various number of clusters"
)
```
exception =
UndefVarError: `cluster_samples` not defined
Stacktrace:
[1] _outer_inertia(metric::Distances.SqEuclidean, data::Matrix{Float64}, centers::Matrix{Float64}, weights::Matrix{Float64}, fuzziness::Int64)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:215
[2] _cluquality_calinski_harabasz(metric::Distances.SqEuclidean, data::Matrix{Float64}, centers::Matrix{Float64}, assignments::Matrix{Float64}, fuzziness::Int64)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:234
[3] clustering_quality(data::Matrix{Float64}, centers::Matrix{Float64}, weights::Matrix{Float64}; quality_index::Symbol, fuzziness::Int64, metric::Distances.SqEuclidean)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:118
[4] clustering_quality(data::Matrix{Float64}, R::FuzzyCMeansResult{Float64}; quality_index::Symbol, fuzziness::Int64, metric::Distances.SqEuclidean)
@ Clustering ~/work/Clustering.jl/Clustering.jl/src/clustering_quality.jl:126
[5] (::Base.Broadcast.var"#43#44"{Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:fuzziness, :quality_index), Tuple{Int64, Symbol}}}, typeof(clustering_quality)})(::Matrix{Float64}, ::Vararg{Any})
@ Base.Broadcast ./broadcast.jl:1297
[6] _broadcast_getindex_evalf
@ ./broadcast.jl:683 [inlined]
[7] _broadcast_getindex
@ ./broadcast.jl:656 [inlined]
[8] getindex
@ ./broadcast.jl:610 [inlined]
[9] copy
@ ./broadcast.jl:912 [inlined]
[10] materialize(bc::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1}, Nothing, Base.Broadcast.var"#43#44"{Base.Pairs{Symbol, Any, Tuple{Symbol, Symbol}, NamedTuple{(:fuzziness, :quality_index), Tuple{Int64, Symbol}}}, typeof(clustering_quality)}, Tuple{Base.RefValue{Matrix{Float64}}, Vector{FuzzyCMeansResult{Float64}}}})
@ Base.Broadcast ./broadcast.jl:873
[11] (::Main.__atexample__301.var"#1#2")(qidx::Symbol)
@ Main.__atexample__301 ./none:0
[12] iterate
@ ./generator.jl:47 [inlined]
[13] _all(f::Base.var"#372#374", itr::Base.Generator{Vector{Symbol}, Main.__atexample__301.var"#1#2"}, #unused#::Colon)
@ Base ./reduce.jl:1282
[14] all
@ ./reduce.jl:1278 [inlined]
[15] Dict(kv::Base.Generator{Vector{Symbol}, Main.__atexample__301.var"#1#2"})
@ Base ./dict.jl:111
[16] top-level scope
@ validate.md:195
[17] eval
@ ./boot.jl:370 [inlined]
[18] #54
@ ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:738 [inlined]
[19] cd(f::Documenter.var"#54#56"{Module, Expr}, dir::String)
@ Base.Filesystem ./file.jl:112
[20] (::Documenter.var"#53#55"{Documenter.Page, Module, Expr})()
@ Documenter ~/.julia/packages/Documenter/nQAq5/src/expander_pipeline.jl:737
[21] (::IOCapture.var"#3#5"{DataType, Documenter.var"#53#55"{Documenter.Page, Module, Expr}, Task, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}, IOContext{Base.PipeEndpoint}})()
@ IOCapture ~/.julia/packages/IOCapture/8Uj7o/src/IOCapture.jl:119
[22] with_logstate(f::Function, logstate::Any)
@ Base.CoreLogging ./loggin
|
Documentation
Process completed with exit code 1.
|