Giter VIP home page Giter VIP logo

mpalaourg / thesis Goto Github PK

View Code? Open in Web Editor NEW
5.0 2.0 0.0 18.17 MB

Data Collection and Analysis of Energy Consumption of Mobile Phones using Machine Learning Techniques

Home Page: https://play.google.com/store/apps/details?id=gr.auth.ee.issel.batteryapp

License: GNU General Public License v3.0

Python 75.43% Java 24.40% Shell 0.17%
machine-learning xgboost batteryapp smartphone-usage battery-information battery-monitor battery thesis

thesis's Introduction

Thesis

Title

Data Collection and Analysis of Energy Consumption of Mobile Phones using Machine Learning Techniques


Abstract

In a modern-day society there is the consensus that smartphones have a dominant role in everyday life. By just pressing a button, someone can not only get up to speed with the current events on a global scale, but also get in touch with people all over the world and find various forms of entertainment. In particular, one of the features that makes smartphones so attractive is the portability they offer, since they utilize batteries. However, batteries have a certain amount of charges in their disposal, consequently the lifespan of a device is directly correlated to its utilization, as well as its charging strategy.

The current thesis focuses on the analysis of mobile phones’ usage and the prediction of the battery’s energy drain. To begin with, for data collection the application “BatteryApp”, which periodically keeps record of the device’s usage and the battery information, was developed. The next step is the grouping of similar uses of devices through Hierarchical Clustering, which does not require an a priori selection for a specific cluster number and does not set limitations regarding the chosen distance function. After that, it was assessed based on its content in order to select the clusters with the higher information value. Lastly, the prediction of the energy drain was constructed by employing a simple linear model, two variants of linear regression, where the penalty concept is introduced (Ridge and Lasso Regression), and a non-linear model, which belongs to the Ensemble Learning category (eXtreme Gradient Boosted trees), with the parameters’ learning procedure being applied to each selected cluster individually.

Georgios Balaouras
Electrical & Computer Engineering Department
Aristotle University of Thessaloniki, Greece
October 2020


Dependecies

pip install numpy
pip install pandas
pip install scikit-learn
pip install scipy
pip install gower
pip install seaborn
pip install matplotlib
pip install xgboost

Raw data variables

Battery informations

Name Description
level The current battery level [0-100].
temperature The current battery temperature in °C.
voltage The current battery voltage level in V.
technology String describing the technology of the battery.
status Categorical variable for the current battery status.
health Categorical variable for the current battery health.
availCapacityPercentage The current remaining battery capacity [0-100].

Phone usage informations

Name Description
usage The estimation of the current CPU load [0-100].
WiFi Boolean variable if WiFi is enabled.
Cellular Boolean variable if Cellular Data Connection is enabled.
Hotspot Boolean variable if the device its used as a WiFi access point.
GPS Boolean variable if GPS is enabled.
Bluetooth Boolean variable if Bluetooth is enabled.
RAM The current percentage of available RAM [0-100].
Brightness The current screen brightness.
isInteractive Boolean variable if the user interacts with the device.

Logistic informations

Name Description
_id Database id unique for each measurement.
ID The unique user ID used for anonymity reasons.
SampleFreq The user specified sampling frequency (Default: 10 seconds).
brandModel The brand and model of the device.
androidVersion The android version of the device.
Timestamp Unix timestamp of each measurement.

Directory Structure

├── ..
 |       ├── BatteryApp: Contains the source code of BatteryApp.
 |       ├── experiment_1: all Sessions of one user.
 |       ├── experiment_2: Sessions under 30 minutes of all users with at least 20 files.
 |       ├── experiment_3: Sessions under 30 minutes of all users with at least 20 files & same total battery capacity.
 |       ├── server: Contains the scripts for hosting the server and the database.
 |       ├── preprocessing: Contains the scripts for exporting and preprocessing the data.
 |       ├── data/csvFiles: Contains the files as exported and checked from the Database.


Tecnologies

Java Python Flask & Waitress MongoDB

__version__

8

3.7.7

1.1.2 & 1.4.4

4.4.0


Support

Reach out to me:


Licence

Licence: GPL

thesis's People

Contributors

mpalaourg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.