259 Commits

Author SHA1 Message Date
David Monllao
8c7db03a56 MDL-60631 analytics: Pass evaluation analysables filters as objects 2017-10-30 10:54:07 +01:00
David Monllao
db9d745c7b MDL-59950 analytics: Add constants for cognitive and social levels 2017-10-27 10:48:38 +02:00
Jake Dallimore
1e67827131 Merge branch 'MDL-60434_master' of git://github.com/dmonllao/moodle 2017-10-26 13:11:46 +08:00
David Monllao
3a89d0b541 MDL-60434 analytics: Analysables lazy loading 2017-10-25 14:16:35 +02:00
David Monllao
b8bb8fe8de MDL-60434 analytics: Remove legacy is_valid method
This method was used when the API was tied to students at risk model,
this method does not make sense any more as it is up to each target
to define what is a valid course.
2017-10-25 12:47:12 +02:00
Andrew Nicols
b01232671e Merge branch 'MDL-60388_master' of git://github.com/dmonllao/moodle 2017-10-23 10:00:41 +08:00
David Monllao
6e98bca0ba MDL-60388 analytics: Any write action looking at all contexts below course 2017-10-20 13:20:46 +02:00
Jun Pataleta
b469834ac9 Merge branch 'MDL-60375_master' of git://github.com/dmonllao/moodle 2017-10-19 22:03:56 +13:00
David Monllao
28c97d1b76 MDL-60375 analytics: Fix incorrect var reference 2017-10-19 08:48:11 +02:00
Andrew Nicols
ff7081150b Merge branch 'MDL-59063_master' of git://github.com/dmonllao/moodle 2017-10-19 09:01:58 +08:00
David Monllao
0af2421acd MDL-59988 analytics: Reset trained status on clear 2017-10-18 07:02:23 +02:00
David Monllao
b0fb8ef59f MDL-59063 analytics: Expand analysable API to provide a name 2017-10-17 14:04:47 +02:00
David Monllao
b1a9a6a19a Merge branch 'wip-MDL-60281-master' of git://github.com/marinaglancy/moodle 2017-10-17 09:45:44 +02:00
Andrew Nicols
0b53be9056 Merge branch 'MDL-59987_master' of git://github.com/dmonllao/moodle 2017-10-17 12:00:51 +08:00
Marina Glancy
33683bc80c MDL-60281 general: function each() is deprecated in PHP7.2 2017-10-16 09:37:20 +08:00
David Monllao
2dca133916 MDL-59988 analytics: Process pending training and prediction files 2017-10-13 12:29:21 +02:00
David Monllao
325b3bdd8e MDL-59988 analytics: Files marked as used only if valid
- Basic unit test for minimum machine learning backends requirements
- Warning return messages now include not enough data
- Clear models when the predictions processor is changed
- Refined the name of a couple of constants / methods
2017-10-13 12:24:17 +02:00
Jake Dallimore
0ce9026307 Merge branch 'MDL-59106_master' of git://github.com/markn86/moodle 2017-10-12 10:53:20 +08:00
David Monllao
dd13fc222c MDL-59694 analytics: Track processed analysables 2017-10-09 07:47:28 +02:00
Mark Nelson
f87174dcc2 MDL-59106 analytics: store the 'timestart' and 'timeend' values 2017-10-06 17:28:38 +08:00
David Monllao
e08c74f5bc MDL-59630 analytics: Unit tests fixes 2017-10-05 17:38:17 +02:00
Andrew Nicols
1afd3c72aa Merge branch 'MDL-59630_master' of git://github.com/dmonllao/moodle 2017-10-05 14:56:57 +08:00
David Monllao
0328f12b07 MDL-59987 analytics: Add extra indicators for students at risk 2017-10-03 19:42:03 +02:00
David Monllao
0927604f8c MDL-59987 analytics: Add no students indicator to no teaching
Sneaking in a bug fix ;) (thanks in advance)
2017-10-03 19:41:43 +02:00
David Monllao
abafbc8405 MDL-59630 analytics: mlbackend model directories deletion 2017-10-03 10:34:47 +02:00
David Monllao
f9222c4953 MDL-59630 analytics: New clean up task 2017-10-03 10:34:43 +02:00
David Monllao
99b84a26f9 MDL-59630 analytics: Purge everything when the model is deleted 2017-10-03 10:07:32 +02:00
David Monllao
a8ccc5f2eb MDL-59630 analytics: Move get_analysables to abstract class 2017-10-03 10:07:21 +02:00
David Monllao
aa1b04dc81 MDL-60003 analytics: Skip samples with only null values 2017-09-28 16:56:33 +02:00
David Monllao
2e151c3c74 MDL-58835 analytics: Remove hidden elements from insights list 2017-09-07 14:45:34 +02:00
David Monllao
6faa982986 MDL-58835 analytics: Unit tests for prediction actions 2017-09-07 14:45:34 +02:00
David Monllao
0c0a72e7ac MDL-58835 report_insights: Not useful and ack prediction actions 2017-09-07 14:45:34 +02:00
David Monllao
025363d17c MDL-58835 analytics: Store prediction actions separately
New event for insights viewed as part of this issue.
2017-09-07 14:45:34 +02:00
Dan Poltawski
83575729b6 Merge branch 'MDL-59279_master' of git://github.com/dmonllao/moodle 2017-09-07 10:50:17 +02:00
David Monllao
3e0f33aa4b MDL-59153 analytics: No access to disabled models predictions 2017-09-01 11:17:17 +02:00
Eloy Lafuente (stronk7)
9533cf3419 Merge branch 'MDL-59779_master' of git://github.com/dmonllao/moodle 2017-08-30 01:09:20 +02:00
David Monllao
10658a1cb4 MDL-59279 analytics: Include more info about the dataset 2017-08-29 16:26:41 +02:00
Andrew Nicols
3bb2900cf7 Merge branch 'MDL-59030_master' of git://github.com/dmonllao/moodle 2017-08-29 14:34:59 +08:00
David Monllao
f07d93de9d MDL-59030 analytics: Social breadth accepting more than level 2
Even if core indicators are limited to level 2 we should not block
other activities from implementing up to level 5.
2017-08-29 08:28:46 +02:00
David Monllao
edee629d1a MDL-59030 analytics: Expand community of inquiry mods public API 2017-08-29 06:19:37 +02:00
David Monllao
381c670894 MDL-59265 mlbackend: Splitting up predictor interface in 2 2017-08-25 13:50:34 +02:00
David Monllao
5c5cb3ee15 MDL-59265 analytics: Rename machine learning backend method
- Method names renamed to avoid interface changes once
  we support regression and unsupervised learning
- Adding regressor interface even if not implemente
- predictor interface comments expanded
- Differentiate model's required accuracy from predictions quality
- Add missing get_callback_boundary call
- Updated datasets' metadata to allow 3rd parties to code
  regressors themselves
- Add missing option to exception message
- Include target data into the dataset regardless of being a prediction
  dataset or a training dataset
- Explicit in_array and array_search non-strict calls
- Overwrite discrete should_be_displayed implementation with the binary one
- Overwrite no_teacher get_display_value as it would otherwise look
  wrong
- Other minor fixes
2017-08-25 13:17:22 +02:00
David Monllao
b8fe16cd7c MDL-59265 analytics: Remove dirroot from the model unique id
This was a bug, this would prevent sites with multiple frontend nodes
from using the same model id.
2017-08-25 13:17:21 +02:00
Eloy Lafuente (stronk7)
a7417383fa Merge branch 'MDL-59067_master' of git://github.com/dmonllao/moodle 2017-08-23 02:55:20 +02:00
David Monllao
0690a271c3 MDL-59067 analytics: Store indicator calculations
This was supposed to be split into multiple commits to make it easier to understand
but I failed to do it properly. So this is the list of changes:

- New analytics_indicator_calc db table to store indicators calculations
- Reuse previous calculations during prediction/training; other models
  previous calculations should also be reused as long as they belong to
  the same sample (sampleid depends on sampleorigin), time range and indicator
- Allow bulk inserting of these calculations as this can hurt database performance
- Block the same analysable to be analysed for training and for prediction
- Use a new instance of the target and use it for is_valid_* functions
  as using ::is_valid_sample can lead to problems if people
  uses it to cache stuff
2017-08-22 22:28:04 +02:00
David Monllao
9955e0fe06 MDL-59661 analytics: New test for the datasets manager 2017-08-22 13:04:49 +02:00
Jun Pataleta
f8de8cb314 Merge branch 'MDL-59204_master_v2' of git://github.com/markn86/moodle 2017-08-22 12:46:23 +08:00
Mark Nelson
7e00aa725a MDL-59204 analytics: changed get_name so that it returns a lang_string
This was done for indicators, targets and time splitting methods so that we
can get the string identifier and component in order to display a help_icon.

The functions were also made abstract, removing the default implementation.
Indicators, targets and time splitting methods should define this function.
2017-08-18 18:02:38 +08:00
David Monllao
1855cdeb75 MDL-59779 analytics: Alternative to query log table 2017-08-17 20:55:50 +02:00
David Monllao
cab7abec70 MDL-59779 analytics: Bulk-insert predictions 2017-08-17 20:55:38 +02:00