Commit Graph

170 Commits (master)

Author SHA1 Message Date
Primoz ef78f179cd Add neccessary parameters to plot method. 2023-02-06 11:19:04 +01:00
Primoz afeb7b4872 Remove data_yield from features. 2023-02-06 11:16:53 +01:00
Primoz ea3f805ba7 Change ML model and ddd CV to sequential feat_select. Add std lines to plots. 2023-02-06 11:09:15 +01:00
Primoz e3aef2dae7 Add save to file code, and todo comment 2023-02-01 15:13:57 +01:00
Primoz b286753696 Add vizualization sections for sequential addition of sensors' features. 2023-02-01 13:51:56 +01:00
Primoz 07ef72dec5 Implement algorithm for sequential adding of the most important features. 2023-01-25 14:19:29 +01:00
Primoz 85e572fca0 Expand analysis of the features (individualy and by sensor groups). 2023-01-23 16:32:07 +01:00
Primoz 6a98c8cdcf Prepare scripts for feature importance analysis. 2023-01-19 16:20:43 +01:00
Primoz d263b32564 Temp: remove stratified logo from ml pipeline. 2023-01-19 09:26:55 +01:00
Primoz ad2fab133f Explore features with Entropy and IG. 2023-01-13 17:08:56 +01:00
junos 72fdd9c5ec Use stratified downsampling.
And run all models with a method from machine_learning.helper.
2023-01-04 21:48:37 +01:00
junos b0b9edccc4 Unhide jupyter code cells and outputs. 2023-01-04 21:25:12 +01:00
junos 8bbe0b2ba8 Merge branch 'ml_pipeline' of repo.ijs.si:junoslukan/straw2analysis into ml_pipeline
# Conflicts:
#	.gitignore
#	exploration/ml_pipeline_classification_with_clustering.py
2023-01-04 18:19:43 +01:00
junos 1516d1c000 Cluster by demand_control_ratio_quartile. 2023-01-04 18:16:14 +01:00
Primoz 339142ff31 Add expl stress event script and other changes. 2022-12-21 15:02:25 +01:00
Primoz adcb823d3f Add stress event duration exploration script. 2022-12-15 16:43:40 +01:00
Primoz a61ab9ee51 Add feature importance check. 2022-12-15 16:43:13 +01:00
Primoz 164d12ed2f Add undersampling method (with on/off parameter). 2022-12-13 17:01:46 +01:00
Primoz 0a45e35164 Remove unused imports prt. 2. 2022-12-09 13:56:42 +01:00
Primoz 78b6e7fa07 Remove unused imports from ML pipeline scripts. 2022-12-09 13:53:16 +01:00
Primoz 6507b053c5 Add StrtifiedKFold with shuffling as a default CV method. 2022-12-09 13:46:13 +01:00
junos 525496418f Configure jupytext. 2022-12-07 16:22:41 +01:00
junos 12f2c927fa Merge branch 'ml_pipeline' of repo.ijs.si:junoslukan/straw2analysis into ml_pipeline
# Conflicts:
#	exploration/ml_pipeline_daily.py - deleted
2022-12-07 15:36:52 +01:00
Primoz cf0e4f89be Test nonstandardized data with regular classification pipeline. 2022-11-29 14:06:06 +01:00
Primoz 7504aa34cf Add additional categorical features (uncomment). 2022-11-28 13:42:46 +01:00
Primoz 9a218c8e2a Add a script for two class train test split clustering classification. 2022-11-25 14:44:11 +01:00
Primoz 98f78d72fc Create a classification models class and use it in the ml pipeline script. 2022-11-25 12:35:45 +01:00
Primoz 218b684514 Automize clustering classification logic and add parameters at the begining of the scripts. General changes and improvements. 2022-11-24 16:12:20 +01:00
Primoz ddde80b421 Add classification with clustering ml pipeline script. 2022-11-24 09:24:13 +01:00
Primoz 7afef5582f Add TEMP lime_survey cols 2022-11-22 14:44:33 +01:00
Primoz 183758cd37 Improve general ml classification pipeline script. 2022-11-22 14:31:49 +01:00
Primoz 40029a8205 Add a script for ml classification pipeline. 2022-11-21 14:47:19 +01:00
Primoz ae0f54ecc2 Combine different segment scripts and set ml pipeline as a regression problem. 2022-11-21 11:41:11 +01:00
Primoz 8defb271c9 Extend ml pipeline scripts with two additional CV methods. 2022-11-21 11:23:47 +01:00
junos 848416bf6a Merge branch 'master' into ml_pipeline
# Conflicts:
#	.gitignore
#	rapids
2022-11-16 17:46:01 +01:00
Primoz b59798df26 Add a new file tailored for stressfulness event regression. 2022-11-16 14:49:40 +01:00
Primoz 1d8dcf8b21 Add 30 min features data and modify script. 2022-11-02 15:16:19 +01:00
Primoz 9f7fa0c8e0 Add 18 hour daily data and slightly modify jupyter script. 2022-10-18 10:29:59 +02:00
Primoz 466cd3dc23 Processing of a newly cleaned script. Addition of two ML models. And modifications with one hot encoding. 2022-10-10 16:47:00 +02:00
junos 2d2f0b916f Prepare a function to run all models from an input. 2022-08-31 18:46:14 +02:00
junos 8b8d626cf0 Merge branch 'ml_pipeline' into rapids
# Conflicts:
#	exploration/ex_ml_pipeline.py
2022-08-31 16:20:11 +02:00
Primoz 27b2282ee0 Datasets (phone&E4 features) and Jupyter script of regression models. 2022-08-24 16:18:40 +02:00
junos a8fd96d2f1 Add analysis using RAPIDS. 2022-08-23 16:41:41 +02:00
junos e177b15058 Clean features across participants.
Explore the best linear regression feature.
2022-01-19 13:41:09 +01:00
junos 832eb6137e ML with RAPIDS and missing values. 2022-01-19 12:53:03 +01:00
junos 702b091d73 Read RAPIDS features and create columns. 2022-01-07 17:00:12 +01:00
junos de10269d36 Export categories and add csv. 2021-12-15 18:26:20 +01:00
junos 7e8e922d71 Debugging of RAPIDS. 2021-12-15 18:25:53 +01:00
junos c4aacfffe1 Debug a ValueError in RAPIDS and add demo. 2021-12-15 16:03:49 +01:00
junos e33a49c9fc Add a demo of pipeline. 2021-11-17 10:44:49 +01:00
junos d34c2ec5e9 Merge branch 'ambient' into ml_pipeline 2021-11-17 10:39:55 +01:00
junos 92fbda242b Explore barometer and temperature data.
Add docstrings to models.
2021-10-14 17:59:33 +02:00
junos 6302a0f0d9 Merge ambient sensors into one file.
Explore barometer sensor data for one phone.
2021-10-13 16:57:38 +02:00
junos b8c7606664 Add an option to read cached labels from a file. 2021-09-15 15:45:49 +02:00
junos ed062d25ee Add export capabilities to labels.py. 2021-09-15 15:36:36 +02:00
junos 28699a0fdf Enable reading features from csv files. 2021-09-14 17:42:34 +02:00
junos af9e81fe40 Document the SensorFeatures class and its __init__ method. 2021-09-13 17:43:47 +02:00
junos b19eebbb92 Refactor machine_learning/pipeline.py by defining one class by file. 2021-09-13 11:41:57 +02:00
junos c1bb4ddf0f Save calculated features to csv files. 2021-08-23 16:36:26 +02:00
junos 065cd4347e [WIP] Add a class for model validation. 2021-08-20 19:44:50 +02:00
junos 0b98d59aad Aggregate labels using grouping_variable. 2021-08-20 19:17:22 +02:00
junos 08fdec34f1 Merge features into a common df.
But first, group communication by the grouping_variable.
2021-08-20 17:59:00 +02:00
junos 72b16af75c Make group_by consistent with communication. 2021-08-20 17:52:31 +02:00
junos d6337e82ac Merge branch 'master' into ml_pipeline 2021-08-20 17:43:53 +02:00
junos 9a319ac6e5 Add an option to group on other than just participant_id. 2021-08-20 17:41:12 +02:00
junos 6592612db7 Add a similar class for labels. 2021-08-19 17:44:04 +02:00
junos 5be3e82797 Accept nested feature configuration.
To do this, pass a dict as parameters to SensorFeatures class, rather than actually reading the object from yaml file.
2021-08-19 17:23:23 +02:00
junos 429aa43bd1 Add communication features to pipeline. 2021-08-19 17:05:44 +02:00
junos 0ed34e97b3 Convert the class into a YAML object.
Add an example config file and demonstrate its usage in ex_ml_pipeline.ipynb.
2021-08-19 16:31:42 +02:00
junos b06ec6e1ae [WIP] Methods to get the labels and data plus aggregate them. 2021-08-12 19:07:14 +02:00
junos 622477f19f [WIP] Start merging steps into a class for a pipeline. 2021-08-12 17:38:08 +02:00
junos 577a874288 Add an example for linear regression. 2021-08-12 16:54:00 +02:00
junos c8bb481508 Add a parameter for grouping. 2021-08-12 15:07:20 +02:00
junos 98f1df81c6 Use the same function for ESM and other data. 2021-08-11 17:26:44 +02:00
junos 070cfdba80 Start machine learning pipeline example.
Select data and labels.
2021-08-11 16:42:30 +02:00
junos af65d0864f Add a simple function for recoding proximity. 2021-08-11 15:04:27 +02:00
junos a06ad0800f Explore missing application categories. 2021-08-09 16:02:23 +02:00
junos e3d735163f Add demonstrations of new functions. 2021-08-06 18:53:39 +02:00
Ivan Kobe 4ac5f37c19 additional communication features 2021-08-06 18:53:39 +02:00
Ivan Kobe 62af04fe09 Communication 2021-08-06 16:44:39 +00:00
junos 9e87b1f176 Add an option to print figures and set font sizes. 2021-08-04 17:41:09 +02:00
junos 1aaf95fe9e Look at specific values of proximity. 2021-07-26 17:16:32 +02:00
junos d3f42ea402 Start exploring proximity. 2021-07-26 11:37:31 +02:00
junos 9580533c14 Explore between-participants differences in light. 2021-07-23 18:50:17 +02:00
junos dbb59c4aef Explore low levels of luminance. 2021-07-23 18:29:44 +02:00
junos 67e2d233b0 Start exploring light data. 2021-07-23 16:42:16 +02:00
junos 8bf21ab272 Explore JCQ demand and control. 2021-07-05 18:32:35 +02:00
junos e8005aadc6 Add SAM event and period analysis. 2021-07-04 16:29:53 +02:00
junos 48d7be780c Fix formatting. 2021-07-04 14:34:57 +02:00
junos 92a5787d62 Only convert some answers to numeric. 2021-07-04 14:34:13 +02:00
junos 3bb66e3838 Calculate daily means instead of sums. 2021-07-04 13:41:34 +02:00
junos 5362f64941 Explore PANAS statistics. 2021-07-03 18:46:06 +02:00
junos b8301ca458 Small corrections. 2021-07-03 18:45:46 +02:00
junos e0da6757ec Clean up ESM by eliminating non-answers.
Convert radio string answer to numeric.
2021-07-03 16:34:11 +02:00
junos 74392f229a Start exploring PANAS data.
Add a function to clean up ESM data.
2021-07-02 16:33:48 +02:00
junos c29c7b19f2 Rename ESM exploration. 2021-07-02 16:05:36 +02:00
junos 767548b562 Export figures and add additional linear regression analyses. 2021-06-14 17:09:45 +02:00
junos 23c3613c60 Analyze adherence:
Look at time differences between subsequent daytime EMA.
Look at the daily evening EMA proportion.
2021-06-11 20:28:24 +02:00
junos f48e5469e0 Finish labelling EMA sessions and document classify_sessions_adherence function. 2021-06-11 14:50:14 +02:00
junos 371e755159 Identify unique sessions and assign status.
Use CONSTANT variables for these statuses.
2021-06-11 13:50:24 +02:00