Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://moodle.org/
3
//
4
// Moodle is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// Moodle is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16
 
17
/**
18
 * Predictions processor interface.
19
 *
20
 * @package   core_analytics
21
 * @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
22
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
namespace core_analytics;
26
 
27
defined('MOODLE_INTERNAL') || die();
28
 
29
/**
30
 * Predictors interface.
31
 *
32
 * @package   core_analytics
33
 * @copyright 2016 David Monllao {@link http://www.davidmonllao.com}
34
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
35
 */
36
interface predictor {
37
 
38
    /**
39
     * Is it ready to predict?
40
     *
41
     * @return bool
42
     */
43
    public function is_ready();
44
 
45
    /**
46
     * Delete all stored information of the current model id.
47
     *
48
     * This method is called when there are important changes to a model,
49
     * all previous training algorithms using that version of the model
50
     * should be deleted.
51
     *
52
     * In case you want to perform extra security measures before deleting
53
     * a directory you can check that $modelversionoutputdir subdirectories
54
     * can only be named 'execution', 'evaluation' or 'testing'.
55
     *
56
     * @param string $uniqueid The site model unique id string
57
     * @param string $modelversionoutputdir The output dir of this model version
58
     * @return null
59
     */
60
    public function clear_model($uniqueid, $modelversionoutputdir);
61
 
62
    /**
63
     * Delete the output directory.
64
     *
65
     * This method is called when a model is completely deleted.
66
     *
67
     * In case you want to perform extra security measures before deleting
68
     * a directory you can check that the subdirectories are timestamps
69
     * (the model version) and each of this subdirectories' subdirectories
70
     * can only be named 'execution', 'evaluation' or 'testing'.
71
     *
72
     * @param string $modeloutputdir The model directory id (parent of all model versions subdirectories).
73
     * @param string $uniqueid
74
     * @return null
75
     */
76
    public function delete_output_dir($modeloutputdir, $uniqueid);
77
 
78
}