original_string: public function clear() {
          global $DB, $USER;
  
          \core_analytics\manager::check_can_manage_models();
  
          // Delete current model version stored stuff.
          $predictor = $this->get_predictions_processor(false);
          if ($predictor->is_ready() !== true) {
              $predictorname = \core_analytics\manager::get_predictions_processor_name($predictor);
              debugging('Prediction processor ' . $predictorname . ' is not ready to be used. Model ' .
                  $this->model->id . ' could not be cleared.');
          } else {
              $predictor->clear_model($this->get_unique_id(), $this->get_output_dir());
          }
  
          $predictionids = $DB->get_fieldset_select('analytics_predictions', 'id', 'modelid = :modelid',
              array('modelid' => $this->get_id()));
          if ($predictionids) {
              list($sql, $params) = $DB->get_in_or_equal($predictionids);
              $DB->delete_records_select('analytics_prediction_actions', "predictionid $sql", $params);
          }
  
          $DB->delete_records('analytics_predictions', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_predict_samples', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_train_samples', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_used_files', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_used_analysables', array('modelid' => $this->model->id));
  
          // Purge all generated files.
          \core_analytics\dataset_manager::clear_model_files($this->model->id);
  
          // We don't expect people to clear models regularly and the cost of filling the cache is
          // 1 db read per context.
          $this->purge_insights_cache();
  
          if (!$this->is_static()) {
              $this->model->trained = 0;
          }
  
          $this->model->timemodified = time();
          $this->model->usermodified = $USER->id;
          $DB->update_record('analytics_models', $this->model);
      }
code: public function clear() {
          global $DB, $USER;
  
          \core_analytics\manager::check_can_manage_models();
  
          // Delete current model version stored stuff.
          $predictor = $this->get_predictions_processor(false);
          if ($predictor->is_ready() !== true) {
              $predictorname = \core_analytics\manager::get_predictions_processor_name($predictor);
              debugging('Prediction processor ' . $predictorname . ' is not ready to be used. Model ' .
                  $this->model->id . ' could not be cleared.');
          } else {
              $predictor->clear_model($this->get_unique_id(), $this->get_output_dir());
          }
  
          $predictionids = $DB->get_fieldset_select('analytics_predictions', 'id', 'modelid = :modelid',
              array('modelid' => $this->get_id()));
          if ($predictionids) {
              list($sql, $params) = $DB->get_in_or_equal($predictionids);
              $DB->delete_records_select('analytics_prediction_actions', "predictionid $sql", $params);
          }
  
          $DB->delete_records('analytics_predictions', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_predict_samples', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_train_samples', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_used_files', array('modelid' => $this->model->id));
          $DB->delete_records('analytics_used_analysables', array('modelid' => $this->model->id));
  
          // Purge all generated files.
          \core_analytics\dataset_manager::clear_model_files($this->model->id);
  
          // We don't expect people to clear models regularly and the cost of filling the cache is
          // 1 db read per context.
          $this->purge_insights_cache();
  
          if (!$this->is_static()) {
              $this->model->trained = 0;
          }
  
          $this->model->timemodified = time();
          $this->model->usermodified = $USER->id;
          $DB->update_record('analytics_models', $this->model);
      }
code_tokens: public function clear ( ) { global $ DB , $ USER ; \ core_analytics \ manager :: check_can_manage_models ( ) ; // Delete current model version stored stuff. $ predictor = $ this -> get_predictions_processor ( false ) ; if ( $ predictor -> is_ready ( ) !== true ) { $ predictorname = \ core_analytics \ manager :: get_predictions_processor_name ( $ predictor ) ; debugging ( 'Prediction processor ' . $ predictorname . ' is not ready to be used. Model ' . $ this -> model -> id . ' could not be cleared.' ) ; } else { $ predictor -> clear_model ( $ this -> get_unique_id ( ) , $ this -> get_output_dir ( ) ) ; } $ predictionids = $ DB -> get_fieldset_select ( 'analytics_predictions' , 'id' , 'modelid = :modelid' , array ( 'modelid' => $ this -> get_id ( ) ) ) ; if ( $ predictionids ) { list ( $ sql , $ params ) = $ DB -> get_in_or_equal ( $ predictionids ) ; $ DB -> delete_records_select ( 'analytics_prediction_actions' , "predictionid $sql" , $ params ) ; } $ DB -> delete_records ( 'analytics_predictions' , array ( 'modelid' => $ this -> model -> id ) ) ; $ DB -> delete_records ( 'analytics_predict_samples' , array ( 'modelid' => $ this -> model -> id ) ) ; $ DB -> delete_records ( 'analytics_train_samples' , array ( 'modelid' => $ this -> model -> id ) ) ; $ DB -> delete_records ( 'analytics_used_files' , array ( 'modelid' => $ this -> model -> id ) ) ; $ DB -> delete_records ( 'analytics_used_analysables' , array ( 'modelid' => $ this -> model -> id ) ) ; // Purge all generated files. \ core_analytics \ dataset_manager :: clear_model_files ( $ this -> model -> id ) ; // We don't expect people to clear models regularly and the cost of filling the cache is // 1 db read per context. $ this -> purge_insights_cache ( ) ; if ( ! $ this -> is_static ( ) ) { $ this -> model -> trained = 0 ; } $ this -> model -> timemodified = time ( ) ; $ this -> model -> usermodified = $ USER -> id ; $ DB -> update_record ( 'analytics_models' , $ this -> model ) ; }
docstring: Clears the model training and prediction data.
  
  Executed after updating model critical elements like the time splitting method
  or the indicators.
  
  @return void
docstring_tokens: Clears the model training and prediction data .