Worksite data analysis using cloud services for machine learning
Jussila, Samu (2019)
Jussila, Samu
2019
Tietotekniikan DI-ohjelma - Degree Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2019-10-30
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-201910023655
https://urn.fi/URN:NBN:fi:tuni-201910023655
Tiivistelmä
This thesis studies utilizing machine learning in cloud services. The aim of the thesis was to create a machine learning pipeline in a cloud service platform and use the pipeline to test how well worksite data could be used for machine learning. The data was operational data already existing in a database, and the test done was predicting a worksite’s time of completion based on its state and history using different machine learning models.
The pipeline was built in Amazon Web Services, and consisted mainly of the services Glue and SageMaker. Glue was used to transform the data into a format readable by machine learning models, and SageMaker was used to implement the machine learning models. Amazon Web Services had a ways of creating all the needed parts of the pipeline, and the amount of boilerplate code was minimal. The implementation was sufficiently easy with no large setbacks.
The machine learning models implemented were linear regression, random forest, XGBoost, and artificial neural network. The model performance results show that the best model for this problem is a two-hidden-layer artificial neural network, but the results vary drastically by the method the whole data set is split into training and test data. Tässä työssä tutkitaan koneoppimispalvelujen käyttöä pilvipalvelualustalla. Työn tavoitteena oli rakentaa pilvipalvelualustalle dataputki, jolla voidaan rakentaa käyttökelpoisia koneoppimismalleja käyttäen operationaalista työmaadataa olemassaolevasta tietokannasta. Datan soveltuvuutta koneoppimistarkoituksiin mitattiin ennustamalla työmaan valmistumisaikaa sen nykytilan ja historian perusteella käyttäen erilaisia koneoppimismalleja.
Dataputki rakennettiin Amazon Web Services -pilvipalvelussa, ja koostui pääosin Glue- ja SageMaker-palveluista. Glue:a käytettiin operationaalisen datan muuntamiseen koneoppimismallien lukemaan muotoon, ja SageMaker:ia rakentamaan mallit. AmazonWeb Services -alusta sisälsi tarvittavat palvelut putken rakentamiseen, eikä ylimääräistä itse putkeen liittyvä koodia tarvinnut kirjoittaa juurikaan. Putki oli helppo toteuttaa, eikä suuria vaikeuksia tullut vastaan.
Koneoppimismallit, joilla dataa testattiin olivat lineaarinen regressio, random forest, XGBoost sekä neuroverkko. Tulokset näyttävät, että paras malli tähän ongelmaan on kahden piilotetun kerroksen neuroverkko, mutta tarkkuuteen vaikuttaa huomattavasti tapa, jolla koko data puolitetaan opetus- ja testidataan.
The pipeline was built in Amazon Web Services, and consisted mainly of the services Glue and SageMaker. Glue was used to transform the data into a format readable by machine learning models, and SageMaker was used to implement the machine learning models. Amazon Web Services had a ways of creating all the needed parts of the pipeline, and the amount of boilerplate code was minimal. The implementation was sufficiently easy with no large setbacks.
The machine learning models implemented were linear regression, random forest, XGBoost, and artificial neural network. The model performance results show that the best model for this problem is a two-hidden-layer artificial neural network, but the results vary drastically by the method the whole data set is split into training and test data.
Dataputki rakennettiin Amazon Web Services -pilvipalvelussa, ja koostui pääosin Glue- ja SageMaker-palveluista. Glue:a käytettiin operationaalisen datan muuntamiseen koneoppimismallien lukemaan muotoon, ja SageMaker:ia rakentamaan mallit. AmazonWeb Services -alusta sisälsi tarvittavat palvelut putken rakentamiseen, eikä ylimääräistä itse putkeen liittyvä koodia tarvinnut kirjoittaa juurikaan. Putki oli helppo toteuttaa, eikä suuria vaikeuksia tullut vastaan.
Koneoppimismallit, joilla dataa testattiin olivat lineaarinen regressio, random forest, XGBoost sekä neuroverkko. Tulokset näyttävät, että paras malli tähän ongelmaan on kahden piilotetun kerroksen neuroverkko, mutta tarkkuuteen vaikuttaa huomattavasti tapa, jolla koko data puolitetaan opetus- ja testidataan.