Majoitustoiminnan vauriolaskujen ennustaminen koneoppimisella
Annala, Janne (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024081224122
https://urn.fi/URN:NBN:fi:amk-2024081224122
Tiivistelmä
Työn tavoitteena oli toteuttaa laskutettavia vaurioita aiheuttavia varauksia ennustava syväoppiva malli. Työn tilaajana oli pohjoismaissa toimiva majoitusalan yritys Forenom. Ennusteen tarkoituksena oli ennustaa etukäteen sellaiset majoitusvaraukset, jotka saattavat aiheuttaa vahinkoa huoneistolle tai aiheuttaa muuta laskutettavaa lisätyötä. Ennustus pohjautui Forenomin omistamaan dataan, joka sisälsi 1 335 491 päättynyttä varausta ja 61 453 vauriolaskua.
Malli toteutettiin PyTorch-ohjelmistokirjastolla binäärisenä luokittelutehtävänä. Sen lopullinen versio sisälsi 42 ominaisuutta varaukseen, asuntoon ja varaajaan liittyen. Neuroverkossa oli 10 samansuuruista kerrosta, sisältäen yhteensä 420 neuronia. Malli kävi läpi 13 koulutuskierrosta ja koulutushäviö laskettiin 128 näytteelle kerrallaan ennen painoarvojen päivitystä.
Lopullinen versio mallista saavutti 94,5 % tarkkuuden. Mallin herkkyys oli kuitenkin heikko, sillä se löysi kaikista positiivisista tuloksista vain 16,3 %. Epätarkkuuden syyksi epäiltiin koulutusdatan ominaisuuksien puutteellisuutta, sekä positiivisten tulosten vähäistä määrää. Tarkkuus ei ollut riittävä käytännön sovellutuksiin. The goal of the thesis was to design and train a deep learning model that forecasts how likely any given accommodation reservation is likely to result in damage that needs to be invoiced from the customer. The project was done for the Nordic accommodation provider Forenom. The model was trained with data owned by Forenom that contained 1 335 491 finished reservations and 61 453 damage invoices.
The model was trained using PyTorch software library as a binary classification problem. Its final version contained 42 features related to the reservation, the apartment and the booker. The neural net contained 10 equal sized layers containing 420 neurons in total. The model went through 13 epochs. Back propagation was performed after every 128 samples.
The final version of the model achieved 94,5 % accuracy. However, the model’s recall could not be considered good as it was only able to correctly predict 16,3 % of all the positive cases in the validation data. It was assumed that the most likely reasons for the poor recall were the lack of highly correlating features, the small number of positive cases in the training data and the inaccuracies in the process of damage invoice creation. The final accuracy was not high enough for practical applications.
Malli toteutettiin PyTorch-ohjelmistokirjastolla binäärisenä luokittelutehtävänä. Sen lopullinen versio sisälsi 42 ominaisuutta varaukseen, asuntoon ja varaajaan liittyen. Neuroverkossa oli 10 samansuuruista kerrosta, sisältäen yhteensä 420 neuronia. Malli kävi läpi 13 koulutuskierrosta ja koulutushäviö laskettiin 128 näytteelle kerrallaan ennen painoarvojen päivitystä.
Lopullinen versio mallista saavutti 94,5 % tarkkuuden. Mallin herkkyys oli kuitenkin heikko, sillä se löysi kaikista positiivisista tuloksista vain 16,3 %. Epätarkkuuden syyksi epäiltiin koulutusdatan ominaisuuksien puutteellisuutta, sekä positiivisten tulosten vähäistä määrää. Tarkkuus ei ollut riittävä käytännön sovellutuksiin.
The model was trained using PyTorch software library as a binary classification problem. Its final version contained 42 features related to the reservation, the apartment and the booker. The neural net contained 10 equal sized layers containing 420 neurons in total. The model went through 13 epochs. Back propagation was performed after every 128 samples.
The final version of the model achieved 94,5 % accuracy. However, the model’s recall could not be considered good as it was only able to correctly predict 16,3 % of all the positive cases in the validation data. It was assumed that the most likely reasons for the poor recall were the lack of highly correlating features, the small number of positive cases in the training data and the inaccuracies in the process of damage invoice creation. The final accuracy was not high enough for practical applications.