# Different Results Than Local For Machine Learning (ML)

**URL:** <https://discourse.pumas.ai/t/different-results-than-local-for-machine-learning-ml/568>\
**Category:** Uncategorized\
**Created:** [December 9, 2021, 6:44pm UTC](https://discourse.pumas.ai/t/different-results-than-local-for-machine-learning-ml/568 "2021-12-09T18:44:39Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rahulub3r](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.pumas.ai/rahulub3r/32/182_2.png) [@Rahulub3r](https://discourse.pumas.ai/u/Rahulub3r)\
**Post date:** [December 9, 2021, 6:44pm UTC](https://discourse.pumas.ai/t/different-results-than-local-for-machine-learning-ml/568/1 "2021-12-09T18:44:39Z")

</div>

For same code, ML is erroring on Pumas, but works fine on my local.

`MWE` is as follows:

> **Code**
>
> ```auto
> using CSV
> using DataFrames
> using DataFramesMeta
> using MLJ
> using AlgebraOfGraphics
> using CairoMakie
> using Weave
> using Dates
> import MLJXGBoostInterface
> import MLJScikitLearnInterface
> using ShapML
> using XGBoost
> 
> # Adaboost
> X, y = make_blobs()
> 
> AdaBoostClassifier_model = (@load AdaBoostClassifier pkg=ScikitLearn)()
> r_adab = range(AdaBoostClassifier_model, :n_estimators, values=[10, 50, 100])
> self_tuning_adab = TunedModel(model=AdaBoostClassifier_model, resampling=CV(nfolds=10), 
> repeats=10, #operation=MLJModelInterface.predict_mode, 
> tuning=Grid(), range=r_adab, measure=accuracy)
> adab = machine(self_tuning_adab, X, y)
> MLJ.fit!(adab)
> 
> ```

The above code works fine on my local and it gives the following error on a Pumas instance on JuliaHub:

> **Error**
>
> ```auto
> [ Info: Training Machine{ProbabilisticTunedModel{Grid,…},…} @390.
> [ Info: Attempting to evaluate 3 models.
> Evaluating over 3 metamodels: 0%[>] ETA: N/A┌ Error: Problem fitting the machine Machine{Resampler{CV},…} @782. 
> └ @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:484
> [ Info: Running type checks... 
> [ Info: Type checks okay. 
> ┌ Error: Problem fitting the machine Machine{ProbabilisticTunedModel{Grid,…},…} @390. 
> └ @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:484
> [ Info: Running type checks... 
> [ Info: Type checks okay. 
> ERROR: ArgumentError: 
> AdaBoostClassifier @244 <: Probabilistic but prediction_type(Accuracy @914) = :deterministic. 
> Perhaps you want to set operation=predict_mode. 
> To override measure checks, set check_measure=false. 
> Stacktrace:
> [1] _check_measure(measure::Accuracy, model::MLJScikitLearnInterface.AdaBoostClassifier, y::CategoricalArrays.CategoricalVector{Int64, UInt32, Int64, CategoricalArrays.CategoricalValue{Int64, UInt32}, Union{}}, operation::Function)
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/resampling.jl:477
> [2] #257
> @ ~/.julia/packages/MLJBase/j0qGA/src/resampling.jl:494 [inlined]
> [3] _all(f::MLJBase.var"#257#258"{MLJScikitLearnInterface.AdaBoostClassifier, CategoricalArrays.CategoricalVector{Int64, UInt32, Int64, CategoricalArrays.CategoricalValue{Int64, UInt32}, Union{}}, typeof(MLJModelInterface.predict)}, itr::Vector{Accuracy}, #unused#::Colon)
> @ Base ./reduce.jl:923
> [4] all(f::Function, a::Vector{Accuracy}; dims::Function)
> @ Base ./reducedim.jl:886
> [5] all
> @ ./reducedim.jl:886 [inlined]
> [6] _check_measures
> @ ~/.julia/packages/MLJBase/j0qGA/src/resampling.jl:493 [inlined]
> [7] _process_weights_measures(weights::Nothing, class_weights::Nothing, measures::Accuracy, mach::Machine{MLJScikitLearnInterface.AdaBoostClassifier, true}, operation::Function, verbosity::Int64, check_measure::Bool)
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/resampling.jl:555
> [8] fit(::Resampler{CV}, ::Int64, ::Tables.MatrixTable{Matrix{Float64}}, ::CategoricalArrays.CategoricalVector{Int64, UInt32, Int64, CategoricalArrays.CategoricalValue{Int64, UInt32}, Union{}})
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/resampling.jl:1196
> [9] fit_only!(mach::Machine{Resampler{CV}, false}; rows::Nothing, verbosity::Int64, force::Bool)
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:482
> [10] #fit!#98
> @ ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:549 [inlined]
> [11] event!(metamodel::MLJScikitLearnInterface.AdaBoostClassifier, resampling_machine::Machine{Resampler{CV}, false}, verbosity::Int64, tuning::Grid, history::Nothing, state::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJScikitLearnInterface.AdaBoostClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}})
> @ MLJTuning ~/.julia/packages/MLJTuning/l8Cvp/src/tuned_models.jl:394
> [12] #35
> @ ~/.julia/packages/MLJTuning/l8Cvp/src/tuned_models.jl:432 [inlined]
> [13] iterate
> @ ./generator.jl:47 [inlined]
> [14] _collect(c::Vector{MLJScikitLearnInterface.AdaBoostClassifier}, itr::Base.Generator{Vector{MLJScikitLearnInterface.AdaBoostClassifier}, MLJTuning.var"#35#36"{Machine{Resampler{CV}, false}, Int64, Grid, Nothing, NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJScikitLearnInterface.AdaBoostClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, ProgressMeter.Progress}}, #unused#::Base.EltypeUnknown, isz::Base.HasShape{1})
> @ Base ./array.jl:691
> [15] collect_similar
> @ ./array.jl:606 [inlined]
> [16] map
> @ ./abstractarray.jl:2294 [inlined]
> [17] assemble_events!(metamodels::Vector{MLJScikitLearnInterface.AdaBoostClassifier}, resampling_machine::Machine{Resampler{CV}, false}, verbosity::Int64, tuning::Grid, history::Nothing, state::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJScikitLearnInterface.AdaBoostClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, acceleration::CPU1{Nothing})
> @ MLJTuning ~/.julia/packages/MLJTuning/l8Cvp/src/tuned_models.jl:431
> [18] build!(history::Nothing, n::Int64, tuning::Grid, model::MLJScikitLearnInterface.AdaBoostClassifier, model_buffer::Channel{Any}, state::NamedTuple{(:models, :fields, :parameter_scales, :models_delivered), Tuple{Vector{MLJScikitLearnInterface.AdaBoostClassifier}, Vector{Symbol}, Vector{Symbol}, Bool}}, verbosity::Int64, acceleration::CPU1{Nothing}, resampling_machine::Machine{Resampler{CV}, false})
> @ MLJTuning ~/.julia/packages/MLJTuning/l8Cvp/src/tuned_models.jl:624
> [19] fit(::MLJTuning.ProbabilisticTunedModel{Grid, MLJScikitLearnInterface.AdaBoostClassifier}, ::Int64, ::Tables.MatrixTable{Matrix{Float64}}, ::CategoricalArrays.CategoricalVector{Int64, UInt32, Int64, CategoricalArrays.CategoricalValue{Int64, UInt32}, Union{}})
> @ MLJTuning ~/.julia/packages/MLJTuning/l8Cvp/src/tuned_models.jl:703
> [20] fit_only!(mach::Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJScikitLearnInterface.AdaBoostClassifier}, true}; rows::Nothing, verbosity::Int64, force::Bool)
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:482
> [21] fit_only!
> @ ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:435 [inlined]
> [22] #fit!#98
> @ ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:549 [inlined]
> [23] fit!(mach::Machine{MLJTuning.ProbabilisticTunedModel{Grid, MLJScikitLearnInterface.AdaBoostClassifier}, true})
> @ MLJBase ~/.julia/packages/MLJBase/j0qGA/src/machines.jl:547
> [24] top-level scope
> @ REPL[65]:1
> 
> ```

Any ideas on how to resolve this? Thanks in advance!

P.S: `]st MLJBase` in my local provides `v0.16.11` and in Pumas outputs `v0.16.7`
