diff --git a/admin/tool/analytics/classes/output/models_list.php b/admin/tool/analytics/classes/output/models_list.php index 3fb75663f76..b0431a35da5 100644 --- a/admin/tool/analytics/classes/output/models_list.php +++ b/admin/tool/analytics/classes/output/models_list.php @@ -204,13 +204,14 @@ class models_list implements \renderable, \templatable { $actionid = 'evaluate-' . $model->get_id(); + $modeltimesplittingmethods = $timesplittingmethods; // Include the current time-splitting method as the default selection method the model already have one. if ($model->get_model_obj()->timesplitting) { $currenttimesplitting = ['id' => 'current', 'text' => get_string('currenttimesplitting', 'tool_analytics')]; - array_unshift($timesplittingmethods, $currenttimesplitting); + array_unshift($modeltimesplittingmethods, $currenttimesplitting); } - $evaluateparams = [$actionid, $trainedonlyexternally, $timesplittingmethods]; + $evaluateparams = [$actionid, $trainedonlyexternally, $modeltimesplittingmethods]; $PAGE->requires->js_call_amd('tool_analytics/model', 'selectEvaluationOptions', $evaluateparams); $urlparams['action'] = 'evaluate'; $url = new \moodle_url('model.php', $urlparams); diff --git a/lib/mlbackend/php/classes/processor.php b/lib/mlbackend/php/classes/processor.php index 016e86c96bb..063c44db96d 100644 --- a/lib/mlbackend/php/classes/processor.php +++ b/lib/mlbackend/php/classes/processor.php @@ -291,11 +291,15 @@ class processor implements \core_analytics\classifier, \core_analytics\regressor // We need at least 2 samples belonging to each target. $counts = array_count_values($targets); + $ntargets = count(explode(',', $metadata['targetclasses'])); foreach ($counts as $count) { if ($count < 2) { $notenoughdata = true; } } + if ($ntargets > count($counts)) { + $notenoughdata = true; + } if (!empty($notenoughdata)) { $resultobj = new \stdClass(); $resultobj->status = \core_analytics\model::NOT_ENOUGH_DATA;