original_string: public function execute() {
          global $OUTPUT, $PAGE;
  
          $models = \core_analytics\manager::get_all_models(true);
          if (!$models) {
              mtrace(get_string('errornoenabledmodels', 'tool_analytics'));
              return;
          }
  
          foreach ($models as $model) {
  
              if ($model->is_static()) {
                  // Skip models based on assumptions.
                  continue;
              }
  
              if (!$model->get_time_splitting()) {
                  // Can not train if there is no time splitting method selected.
                  continue;
              }
  
              $result = $model->train();
  
              // Reset the page as some indicators may call external functions that overwrite the page context.
              \tool_analytics\output\helper::reset_page();
  
              if ($result) {
                  echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_name()));
  
                  $renderer = $PAGE->get_renderer('tool_analytics');
                  echo $renderer->render_get_predictions_results($result, $model->get_analyser()->get_logs());
              }
          }
      }
code: public function execute() {
          global $OUTPUT, $PAGE;
  
          $models = \core_analytics\manager::get_all_models(true);
          if (!$models) {
              mtrace(get_string('errornoenabledmodels', 'tool_analytics'));
              return;
          }
  
          foreach ($models as $model) {
  
              if ($model->is_static()) {
                  // Skip models based on assumptions.
                  continue;
              }
  
              if (!$model->get_time_splitting()) {
                  // Can not train if there is no time splitting method selected.
                  continue;
              }
  
              $result = $model->train();
  
              // Reset the page as some indicators may call external functions that overwrite the page context.
              \tool_analytics\output\helper::reset_page();
  
              if ($result) {
                  echo $OUTPUT->heading(get_string('modelresults', 'tool_analytics', $model->get_name()));
  
                  $renderer = $PAGE->get_renderer('tool_analytics');
                  echo $renderer->render_get_predictions_results($result, $model->get_analyser()->get_logs());
              }
          }
      }
code_tokens: public function execute ( ) { global $ OUTPUT , $ PAGE ; $ models = \ core_analytics \ manager :: get_all_models ( true ) ; if ( ! $ models ) { mtrace ( get_string ( 'errornoenabledmodels' , 'tool_analytics' ) ) ; return ; } foreach ( $ models as $ model ) { if ( $ model -> is_static ( ) ) { // Skip models based on assumptions. continue ; } if ( ! $ model -> get_time_splitting ( ) ) { // Can not train if there is no time splitting method selected. continue ; } $ result = $ model -> train ( ) ; // Reset the page as some indicators may call external functions that overwrite the page context. \ tool_analytics \ output \ helper :: reset_page ( ) ; if ( $ result ) { echo $ OUTPUT -> heading ( get_string ( 'modelresults' , 'tool_analytics' , $ model -> get_name ( ) ) ) ; $ renderer = $ PAGE -> get_renderer ( 'tool_analytics' ) ; echo $ renderer -> render_get_predictions_results ( $ result , $ model -> get_analyser ( ) -> get_logs ( ) ) ; } } }
docstring: Executes the prediction task.
  
  @return void
docstring_tokens: Executes the prediction task .