Skip to content

Providing intrinsic clustering quality indices #198

Providing intrinsic clustering quality indices

Providing intrinsic clustering quality indices #198

Triggered via pull request October 30, 2023 20:39
@jakslejaksle
synchronize #257
master
Status Failure
Total duration 41m 41s
Artifacts

ci.yml

on: pull_request
Matrix: test
Fit to window
Zoom out
Zoom in

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.