Patroonherkenning bij antibiotica -therapie ë n Mathias...

82
Patroonherkenning bij antibiotica-therapieën Mathias Dehennin Promotoren: prof. dr. ir. Filip De Turck, dr. Pieter Depuydt Begeleiders: dr. ir. Wouter Haerick, Kristof Steurbaut Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. Daniël De Zutter Vakgroep Farmacologie Voorzitter: prof. dr. Romain Lefebvre Faculteit Ingenieurswetenschappen Academiejaar 2009-2010

Transcript of Patroonherkenning bij antibiotica -therapie ë n Mathias...

Page 1: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Patroonherkenning bij antibiotica-therapieën Mathias Dehennin

Promotoren: prof. dr. ir. Filip De Turck, dr. Pieter Depuydt

Begeleiders: dr. ir. Wouter Haerick, Kristof Steurbaut

Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. Daniël De Zutter Vakgroep Farmacologie Voorzitter: prof. dr. Romain Lefebvre Faculteit Ingenieurswetenschappen Academiejaar 2009-2010

Page 2: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie
Page 3: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Patroonherkenning bij antibiotica-therapieën Mathias Dehennin

Promotoren: prof. dr. ir. Filip De Turck, dr. Pieter Depuydt

Begeleiders: dr. ir. Wouter Haerick, Kristof Steurbaut

Masterproef ingediend tot het behalen van de academische graad van Master in de ingenieurswetenschappen: computerwetenschappen Vakgroep Informatietechnologie Voorzitter: prof. dr. ir. Daniël De Zutter Vakgroep Farmacologie Voorzitter: prof. dr. Romain Lefebvre Faculteit Ingenieurswetenschappen Academiejaar 2009-2010

Page 4: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Voorwoord

De studies in computerwetenschappen laten je toe om in verschillende vakgebieden terecht tekomen. Dit maakt het steeds een uitdaging om bij te leren. In dit onderzoek kreeg ik demogelijkheid om mijn kennis uit mijn studies te gebruiken in de medische wereld. Met datamining was het mogelijk om met een relatief kleine kennis uit het medische domein toch nuttigwerk uit te voeren. Doordat er in alle vakgebieden steeds meer data wordt verzameld zal dekennis die ik nu opgedaan heb ook later zijn nut bewijzen. Nu al wordt data mining gebruikt ingebieden zoals marketing, geneeskunde, biologie, ...

Ik wil van de gelegenheid gebruik maken om mijn begeleiders, Wouter Haerick en KristofSteurbaut, te bedanken voor de tijd die ze in deze thesis hebben gestoken. Daarnaast wil ik ookmijn promotor en co-promotor bedanken. Als laatste bedank ik mijn vader die mij geholpenheeft om mij in de medische wereld in te werken en de medische termen uit te leggen.

i

Page 5: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Toelating tot bruikleen

De auteur geeft de toelating deze masterproef voor consultatie beschikbaar te stellen en delen vande masterproef te kopiëren voor persoonlijk gebruik. Elk ander gebruik valt onder de beperkingenvan het auteursrecht, in het bijzonder met betrekking tot de verplichting de bron uitdrukkelijkte vermelden bij het aanhalen van resultaten uit deze masterproef.

Mathias Dehennin

ii

Page 6: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

iii

Patroonherkenning bij antibiotica-therapieën

Mathias Dehennin

Masterproef ingediend tot het behalen van de academische graad van

Master in de ingenieurswetenschappen: computerwetenschappen

Promotoren: prof. dr. ir. Filip De Turck, dr. Pieter Depuydt

Begeleiders: dr. ir. Wouter Haerick, Kristof Steurbaut

Vakgroep Informatietechnologie

Voorzitter: prof. dr. ir. Daniël De Zutter

Vakgroep Farmacologie

Voorzitter: prof. dr. Romain Lefebvre

Faculteit Ingenieurswetenschappen

Universiteit Gent

Academiejaar 2009-2010

Samenvatting

Deze thesis bestudeert patroonherkenning bij antibiotica-therapieën. Hiervoor wordt een databa-

se van de dienst intensieve zorg van het UZ Gent gebruikt. De doelstelling is drieledig. Ten eerste

wordt vastgesteld welke voorbereidingen moeten uitgevoerd worden om de data geschikt te maken

voor patroonherkenning. Daarnaast wordt een architectuur ontworpen die deze voorbereiding

kan uitvoeren, maar waarbij gezorgd wordt dat de architectuur ook voor andere gelijkaardige

onderzoeken gebruikt kan worden. Als laatste worden verschillende data mining algoritmes met

elkaar vergeleken.

Trefwoorden

Data mining, patroonherkenning, antibiotica, intensieve zorg

Page 7: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Pattern recognition in antibiotic therapiesMathias Dehennin

Supervisor(s): Prof. Dr. Ir. Filip De Turck, Dr. Pieter Depuydt,Dr. Ir. Wouter Haerick, Kristof Steurbaut

Abstract—This article is a study of pattern recognition techniquesapplied on the dataset of antibiotic therapies of the intensive care unit(ICU) of the UZ Gent. The necessary preprocessing steps are defi-ned and a reusable architecture is developed to automate these steps.Finally different pattern recognition algorithms are compared in thedata mining tool WEKA on the dataset. The administered antibioticis predicted from the previous antibiotic and/or clinical parameterssuch as c-reactive protein (CRP), thrombocytes, fibrogen and the whi-te blood cell count (WBC).

Keywords— data mining, pattern recognition, antibiotic, intensivecare

I. INTRODUCTION

THE amount of data stored worldwide is constantly gro-wing [1]. The same trend is seen in the ICU where

data like temperature, medication and clinical parametersabout every patient is stored. In medicine manual statisticalanalyses is most commonly used but with the growing sizeof the databases new techniques are necessary. Data miningprovides automated methods to extract patterns from largedatabases.The goal of this study can be subdivided in three parts. Firstof all we identify the necessary preprocessing steps neededso that data mining algorithms can be applied. Some of the-se steps are needed in every data mining application (e.g.missing values, incorrect values), other steps are specific tothe data mining on the antibiotics database (e.g. transfor-ming administrations to treatments).Secondly a reusable architecture is designed to automatethe preprocessing. By implementing all the preprocessingsteps in different modules, not only the antibiotics databasecan be preprocessed for data mining but also other similardatabases can be processed by changing only some of themodules.The final goal is to apply data mining algorithms onto thedata. The algorithms predict the administered antibioticwith the clinical attributes CRP, thrombocytes, fibrinogenand WBC. In some cases we will include the previouslyadministered antibiotic as an attribute in the prediction.

II. DATABASE

The relevant antibiotics data is divided into five tables.The first table contains information about every antibioticadministration during 2008-2009 on the ICU. Due to therising emergence of resistant bacteria (e.g. MRSA) the re-search into the correct use of antibiotics has gained interest[2]. The important fields in this table are the anonymizedpatient ID, antibiotic, start time, end time and order time(the time the medical staff prescribed the antibiotics). Theother four tables contained the measurements of the clinicalparameters CRP, thrombocytes, fibrinogen and WBC. The-se parameters were measured on a regular basis for everypatient, but not on the exact moment that the antibioticswere prescribed. The database contained information from3920 patients and 14219 prescriptions of antibiotics. Weshould note that it was not possible to include the antibio-gram or diagnosis from the medical staff. This limits thepredictability of the administered antibiotic.

III. CASES

We defined four different cases (table I), each represen-ting a subset of the database with different properties. Thegoal is to see whether these properties have an effect on thecomparison of the data mining algorithms.

TABLE ICASES DEFINED IN THIS STUDY

Case What is predicted? With what is the predicition done?

A An antibiotic ofthe treatment clinical parameters

B First antibiotic ofthe treatment clinical parameters

C An antibioticthe treatment

clinical parameters, the previouslyprescribed antibiotic

D Antibiotic prescribedafter Zinacef clinical parameters

IV. PREPROCESSING

The database is received spread over five CSV files, onefor each table of the database. The WEKA data mining tool[3] however needs a single ARFF file as input.The database contains missing values and incorrect valu-es due to incorrect registrations. Handling these values arecommon preprocessing steps needed for almost every datamining task.Other tasks are specific to the mining of the antibiotic da-ta. To merge the five tables into one table, a single valueof every clinical parameter has to be assigned to every ad-ministration. For this purpose we use a nearest neighborinterpolation of these parameters around the order time ofthe antibiotic.The same antibiotic is often administered multiple timesone after another. For our study these administrations aremerged into a single administration if they are separatedless then 48h apart from each other.The required ARFF file at the end of the preprocessing con-sists of data of only one specific case (A, B, C or D). Thepreprocessing must therefor transform the database of ad-ministrations to a database of treatments by sequencing theadministrations using the order time. Next a filter must beapplied depending on which case is studied. For example,for the case A only the first administration of every treat-ment is written to the ARFF file.The name of the antibiotic in the original database was aconcatenation of the trademark, dose and the route of ad-ministration. Using this name meant a total number of dif-ferent antibiotics of 149 that had to be predicted. The namewas stripped so it contained only the trademark and non-antibiotics like antiviral or antifungal medications had tobe removed from the database. We ended up with a total of38 different antibiotics that had to be predicted.Another preprocessing step is the analyses of the statisticalproperties of the database. These properties will be usefulto select a data mining algorithm that performs well and to

Page 8: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

make assumptions about the predictability. In the prepro-cessing, histograms are generated from the data and com-mon antibiotic sequences are searched. If there are antibi-otics or sequences of antibiotics that occur more frequentlythan others, the predictability will be higher.

V. REUSABLE ARCHITECTURE

Fig. 1. Implementation of the reusable architecture

Reusable architecture

D

A

T

A

B

A

S

E

WEKA

C4.5

Ripper

Bayes

Ob

ject

sM

od

ule

s

Sequence

R

E

A

D

E

R

T

R

A

N

S

L

A

T

O

R

S

E

Q

U

E

N

C

E

R

M

E

R

G

E

R

F

I

L

T

E

R

P

A

R

A

M

E

T

E

R

R

E

P

O

R

T

E

R

Pattern

Support

Event

The previously discussed preprocessing steps are auto-mated by a reusable software architecture (figure 1). Thearchitecture consists of different modules each implemen-ting a part of the preprocessing. Each module can be in-terchanged with another by inserting the name of the newmodule in a settingsfile.Each module is called by the main file and works on one ormore data objects. These data objects are an event represen-ting an administration, a sequence representing a treatment,a pattern representing a part of a treatment (e.g. the firstantibiotic) and the support of a pattern representing all thesequences where a certain pattern occurs.The reader module starts by reading the CSV and makingevents. The translator transforms the name of the antibio-tic to the trademark, the sequencer combines the events tosequences. A merger merges administrations of the sameantibiotic in a short timespan. The filter makes patterns andfills in the support objects. The parameter adds values ofthe clinical parameters to the support objects. Finally a re-porter makes an ARFF file or histograms from the patternand support objects.

VI. DATA MINING

A. Algorithms

Data mining classification (prediction) algorithms can besubdivided into different types. Of every type of classifi-cation algorithm we study the most frequently used ones[4]. C4.5 builds an decision tree that can be visualized andthe reason of the prediction can be discovered. Randomforests uses many decision trees that each vote for a predic-tion. ZeroR always returns the most common antibiotic asprediction. OneR uses only one attribute to make the deci-sion. RIPPER makes a rule set from the database. Naivebayes and bayesian networks use the Bayes theorem to ma-ke a prediction. Nearest-Neighbour searches for the mostsimilar example in the database to make a prediction and10-Nearest-Neighbour lets the ten most similar examplesmake a vote for the prediction. The multilayer perceptron isa neural network and can make a non-linear prediction fromthe input. AdaboostM1 uses an existing algorithm multipletimes by training it to learn from wrong predictions it pre-viously made.To compare the performance of the algorithms we use the

success rate. The success rate of an algorithm is calcula-ted by running the algorithm 10 times on 9

10 of the datasetand counting the percentage of successful predictions onthe other 1

10 of the dataset. In every run an other 110 of the

dataset is chosen for evaluation. The results of the ten runsare averaged.

B. Evaluation

Table II shows the result of the comparison of the algo-rithms with standard parameters in two cases. Only baye-sian networks perform in both cases as one of the best al-gorithms. In case C OneR scores very good as the attribute’previous antibiotic’ is much stronger correlated with theantibiotic that is predicted than any of the four clinical pa-rameters. Because the reason of prediction is important formedical interpretation, we focus on C4.5. The reason it per-forms worse than others in case A is called overfitting. C4.5builds a very large decision tree that models the 9

10 of thedataset used to build the tree very accurately, but the largedecision tree performs bad on the other 1

10 of the datasetused to calculate the success rate. By adjusting the parame-ters of C4.5, overfitting can be avoided and a success rateof 18.93 % can be achieved.

TABLE IISUCCESS RATE OF CASE C AND CASE A WITH DIFFERENT

ALGORITHMS

Algorithm Case C Case AC4.5 81.88 % 12.69 %

Random Forests 80.28 % 12.47 %ZeroR 13.21 % 15.10 %OneR 82.49 % 13.67 %

RIPPER 80.14 % 15.11 %Naive bayes 80.78 % 15.85 %

Bayesian network 82.33 % 17.31 %Nearest-Neighbour 76.09 % 9.08 %

10-Nearest-Neighbour 82.22 % 14.35 %Multilayer perceptron 81.22 % 16.76 %

Adaboost M1 (Decision Stump) 26.40 % 16.77 %

VII. PROCESSING TIME

The preprocessing steps can be executed in less then twominutes time. The processing times of the data mining al-gorithms for the case A ranged from 0 seconds for nea-rest neighbour to 370 seconds for the multilayer percep-tron. C4.5 took 8.57 seconds and bayesian networks 0.07seconds.

VIII. CONCLUSION

By building a reusable architecture for preprocessing, da-ta mining can be used in medical research to find antibio-tic patterns. Bayesian networks proofed to make accuratepredictions in different cases within a very short timespan.C4.5 has the advantage of visualizing the prediction processand performed as well as bayesian networks if the parame-ters where adjusted to the dataset.

REFERENCES

[1] John F. Gantz, The diverse and exploding digital universe, 2008.[2] Stuart B. Levy, M., Antibiotic and antiseptic resistance: impact on

public health, The Pediatric Infectious Disease Journal, 19:120-122,2000.

[3] WEKA data mining tool, http://www.cs.waikato.ac.nz/ml/weka/,2010.

[4] Ian H. Witten, Eibe Frank, Datamining - Practical Machine LearningTools and Techniques, Morgan Kaufmann, 2005.

Page 9: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Inhoudsopgave

1 Inleiding 1

2 Data mining 4

2.1 Inleiding tot data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Voorbereiding bij data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Ontbrekende waarden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Correctheid van de waarden . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 Relationele databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.4 Eigenschappen van de dataset . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Trainingsset en testset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 Data mining algoritmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4.1 Onderverdeling data mining algoritmes . . . . . . . . . . . . . . . . . . . . 82.4.2 Overzicht van classi�catie algoritmes . . . . . . . . . . . . . . . . . . . . . 9

2.4.2.1 Beslissingsbomen . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4.2.2 Classi�catieregels . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4.2.3 Bayesiaanse technieken . . . . . . . . . . . . . . . . . . . . . . . 132.4.2.4 Instance based . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4.2.5 Lineaire modellen . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.2.6 Meta-learning technieken . . . . . . . . . . . . . . . . . . . . . . 172.4.2.7 Vergelijking van de besproken algoritmes . . . . . . . . . . . . . 17

2.5 Meetbare prestatie van de modellen . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5.1 Error rate en success rate . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.2 Kappa statistiek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.3 Kwadratisch gemiddelde fout . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.4 Gemiddelde absolute fout . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5.5 Kwadratisch relatieve fout . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5.6 Evaluatie per klasse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5.7 Confusion matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5.8 Samenvatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6 Data mining suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6.1 Commerciële data mining suites . . . . . . . . . . . . . . . . . . . . . . . . 202.6.2 Gratis data mining suites . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Patroonherkenning bij antibiotica-therapieën 22

3.1 Patroonherkenning bij antibiotica-therapieën . . . . . . . . . . . . . . . . . . . . 223.1.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1.1.1 Verloop van antibiotica-therapieën bij infecties . . . . . . . . . . 223.1.1.2 Overzicht antibiotica . . . . . . . . . . . . . . . . . . . . . . . . . 233.1.1.3 Patroonherkenning . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2 Gerelateerd werk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3 Cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

vi

Page 10: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

INHOUDSOPGAVE vii

3.3.1 Eerste antibioticum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.2 Eén antibioticum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.3 Volgend antibioticum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.4 Antibioticum na Zinacef . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4 Voorbereiding van de dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4.1 Ontvangen dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.4.2 Problemen in de dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.4.2.1 Naam van het antibioticum . . . . . . . . . . . . . . . . . . . . . 263.4.2.2 Periode van de behandeling . . . . . . . . . . . . . . . . . . . . . 273.4.2.3 Gelijktijdige toedieningen van een antibioticum . . . . . . . . . . 273.4.2.4 Meerdere toedieningen van eenzelfde antibioticum . . . . . . . . 283.4.2.5 Patiënten met meerdere behandelingen . . . . . . . . . . . . . . 29

3.4.3 Vereisten voor de voorbereidende architectuur . . . . . . . . . . . . . . . . 293.5 Voorbereidende architectuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.5.1 Opbouw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.5.2 Programmeertaal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.3 Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.4 Translator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5.5 Sequencer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.6 Merger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.7 Splitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.8 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.5.8.1 Eerste antibioticum . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.8.2 Willekeurig antibioticum . . . . . . . . . . . . . . . . . . . . . . 333.5.8.3 Twee antibiotica . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.8.4 Twee antibiotica waarvan het eerste werd vastgelegd . . . . . . . 333.5.8.5 Tellen van patronen . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.5.9 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.5.10 Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.6 Aanpassingen bij verandering dataset . . . . . . . . . . . . . . . . . . . . . . . . . 353.6.1 Toevoegen van een nieuwe parameter . . . . . . . . . . . . . . . . . . . . . 363.6.2 Toevoegen van een voorbereidingsmodule . . . . . . . . . . . . . . . . . . 363.6.3 Keuze van een andere case . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.6.4 Keuze van een andere data mining tool . . . . . . . . . . . . . . . . . . . . 36

3.7 Data mining met WEKA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Resultaten 37

4.1 Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Eigenschappen van de dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.1 Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2.2 Fouten en ontbrekende waarden . . . . . . . . . . . . . . . . . . . . . . . . 384.2.3 Eigenschappen per case . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.2.4 Aantal antibiotica per behandeling . . . . . . . . . . . . . . . . . . . . . . 394.2.5 Verdeling van de parameters rond het ordertijdstip . . . . . . . . . . . . . 404.2.6 Vaak voorkomende patronen . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.7 Eén antibioticum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.8 Twee antibiotica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.3 Voorspellen van patronen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3.1 Vergelijking van de verschillende cases . . . . . . . . . . . . . . . . . . . . 464.3.2 Vergelijking van de algoritmes . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.3.2.1 Data met hoge voorspelbaarheid . . . . . . . . . . . . . . . . . . 474.3.2.2 Data met lage voorspelbaarheid . . . . . . . . . . . . . . . . . . 48

Page 11: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

INHOUDSOPGAVE viii

4.3.2.3 Conclusie over de algoritmes . . . . . . . . . . . . . . . . . . . . 494.3.3 E�ect van de parameters op de algoritmes . . . . . . . . . . . . . . . . . . 494.3.4 Vergelijking van de verschillende attributen . . . . . . . . . . . . . . . . . 50

4.4 Rekentijd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4.1 Voorbereidende stappen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4.2 Data mining algoritmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.5 Feedback naar medische wereld . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.6 Samenvatting van de resultaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Mogelijkheden voor verder onderzoek 57

5.1 Optimalisaties van de werkwijze . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.1.1 Voorbereidende architectuur . . . . . . . . . . . . . . . . . . . . . . . . . . 575.1.2 Data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.2 Verdere onderzoek met de gebruikte database . . . . . . . . . . . . . . . . . . . . 585.2.1 Toevoeging van andere parameters . . . . . . . . . . . . . . . . . . . . . . 585.2.2 Mogelijkheden met de huidige parameters . . . . . . . . . . . . . . . . . . 58

5.3 Data mining in andere medische datasets . . . . . . . . . . . . . . . . . . . . . . . 585.3.1 Ventilator associated pneumonia . . . . . . . . . . . . . . . . . . . . . . . 585.3.2 Score systemen op intensieve zorg . . . . . . . . . . . . . . . . . . . . . . . 58

5.4 Veralgemening van de voorbereidende software . . . . . . . . . . . . . . . . . . . 59

6 Conclusie 60

6.1 Voorbereiden van de database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606.2 Voorbereidende architectuur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616.3 Data mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

A Gebruik van de voorbereidende architectuur 63

A.1 Vereisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63A.2 Uitvoeren van de voorbereidende architectuur . . . . . . . . . . . . . . . . . . . . 63A.3 Con�guratiebestand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63A.4 Verklaring van de bestanden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

A.4.1 Hoofdmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64A.4.2 Reader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.4.3 Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.4.4 Merger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.4.5 Splitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.4.6 Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65A.4.7 Reporter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Bibliogra�e 67

Page 12: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

L¼st van �guren

2.1 Data mining proces en de implementatie hiervan in dit onderzoek . . . . . . . . . 52.2 Voorbeeld van een bayesiaans netwerk . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Voorbeeld van een sigmoid functie . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4 Voorbeeld van een multilayer perceptron . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 Meerdere toedieningen van eenzelfde antibioticum . . . . . . . . . . . . . . . . . . 293.2 Meerdere behandelingen bij een patiënt . . . . . . . . . . . . . . . . . . . . . . . . 293.3 Modulaire opbouw van de voorbereidende code . . . . . . . . . . . . . . . . . . . 31

4.1 Aantal antibiotica in een behandeling . . . . . . . . . . . . . . . . . . . . . . . . . 404.2 Toekenning van waardes aan het ordertijdstip van een toediening . . . . . . . . . 414.3 Overzicht van de gegeven antibiotica . . . . . . . . . . . . . . . . . . . . . . . . . 444.4 Het eerste antibioticum in een behandeling . . . . . . . . . . . . . . . . . . . . . . 454.5 Vervolg na de drie meest voorkomende antibiotica. . . . . . . . . . . . . . . . . . 464.6 Benodigde rekentijd voor de voorbereidende stappen . . . . . . . . . . . . . . . . 514.7 Belang van CRP bij de beslissing voor antibiotica. . . . . . . . . . . . . . . . . . 534.8 Verschil tussen antibiotica met een breder spectrum en een smaller spectrum. . . 544.9 Belang van CRP bij de voortzetting van een antibioticum. . . . . . . . . . . . . . 55

5.1 WEKA KnowledgeFlow Environment . . . . . . . . . . . . . . . . . . . . . . . . . 59

ix

Page 13: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

L¼st van tabellen

2.1 Voorbeeld dataset voor classi�catieproblemen. . . . . . . . . . . . . . . . . . . . . 92.2 Vergelijking van de besproken algoritmes . . . . . . . . . . . . . . . . . . . . . . . 172.3 Uitkomst van de voorspeller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 Uitkomst van een random voorspeller . . . . . . . . . . . . . . . . . . . . . . . . . 182.5 Confusion matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1 Overzicht van de antibiotica die voorkomen in dit onderzoek . . . . . . . . . . . . 233.2 Een extract van de dataset zoals deze ontvangen werd . . . . . . . . . . . . . . . 263.3 Doelformaat van de dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.4 De dataset met parameters CRP, WBC, Thrombocyten en Fibrinogeen . . . . . . 263.5 Vertaling van antibioticumnamen . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.6 Toedieningen van antibiotica op hetzelfde tijdstip . . . . . . . . . . . . . . . . . . 283.7 Eerste scan van de database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.8 Tweede scan van de database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.9 Finale fase van het zoeken naar vaak voorkomende patronen . . . . . . . . . . . . 34

4.1 Overzicht van de database met voorschriften van antibiotica . . . . . . . . . . . . 374.2 Overzicht van de databases met de parameters CRP, thrombocyten, �brinogeen

en WBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.3 Ontbrekende waarden in de database . . . . . . . . . . . . . . . . . . . . . . . . . 384.4 Fouten in de database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.5 Eigenschappen per case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.6 Vaak voorkomende patronen in de dataset volgens minimale support . . . . . . . 424.7 Prestatieverschillen tussen de cases . . . . . . . . . . . . . . . . . . . . . . . . . . 474.8 Voorspelling van case volgend antibioticum door verschillende algoritmes . . . . . 484.9 Voorspelling van case één antibioticum door verschillende algoritmes . . . . . . . 484.10 Invloed van de con�dence bij pruning . . . . . . . . . . . . . . . . . . . . . . . . . 494.11 Invloed van de grootte van de bladeren . . . . . . . . . . . . . . . . . . . . . . . . 504.12 Vergelijking van de verschillende parameters . . . . . . . . . . . . . . . . . . . . . 504.13 Benodigde rekentijd voor de voorbereidende stappen . . . . . . . . . . . . . . . . 514.14 Voorspelling van case volgend antibioticum door verschillende algoritmes . . . . . 524.15 Samenvatting van de vergelijking van de verschillende cases . . . . . . . . . . . . 56

A.1 Verklaring van de opties uit het con�guratiebestand . . . . . . . . . . . . . . . . 64

x

Page 14: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 1

Inleiding

De hoeveelheid data die wereldwijd wordt verzameld groeit exponentieel. Er wordt geschat dater in het jaar 2011 wereldwijd 1,800 exabytes aan data gegenereerd, opgenomen of gekopieerdzal worden [1]. Waar vroeger statistische methoden gebruikt werden om de verzamelde datate analyseren, is dit met de huidige hoeveelheid data steeds moeilijker. Data mining zorgt datde verwerking met behulp van computerkracht gebeurt [2]. Het doel van data mining is hetautomatisch zoeken van patronen in grote hoeveelheden data.

De patronen die via data mining gevonden kunnen worden, geven een schat aan informatievrij. Op het internet worden data mining technieken toegepast om het gedrag van surfers inkaart te brengen. Zo kunnen websites gebouwd worden zodat surfers gestuurd worden naar depagina's die zij belangrijk vinden op basis van hun surfgeschiedenis. Ook bij reclamemakerswordt data mining reeds gebruikt. Door het in kaart brengen van het koopgedrag van de klantenkunnen reclamemakers reclamefolders maken die een zo breed mogelijk publiek aanspreken. Eenander voorbeeld waarin data mining gebruikt wordt, is genetisch onderzoek waar men zoekt naarde delen van het DNA die voor ziektes zoals kanker verantwoordelijk zijn. Hiervoor vergelijktmen de ketens van patiënten waarbij deze ziekte is vastgesteld met de DNA ketens van gezondepatiënten en zoekt men naar delen van het DNA die verschillen.

Sinds enkele jaren wordt op de dienst intensieve zorg (IZ) van het UZ Gent data verzameldomtrent de patiënten die er verblijven. Deze data bestaat uit twee delen: enerzijds data zoalstemperatuur en toegediende medicatie verzameld via meetapparatuur, voorschriften en input vanverpleegkundigen en artsen en anderzijds de redenering van de artsen zoals de links tussen kiemenen infecties. Deze data wordt opgeslaan respectievelijk in het Intensieve Zorg InformatieSysteem(IZIS) en in COSARA, een recenter platform voor de registratie, detectie en opvolging vaninfecties, antibioticabehandelingen en gerelateerde kiemen. Deze twee systemen zorgen dat artsensteeds een goed overzicht behouden over de toestand en evolutie van de patiënten. Al deze datawordt momenteel opgeslagen en vervolgens op een gra�sche en gegroepeerde manier weergegevenaan de artsen.

Een volgende stap voor de IZ is het analyseren van deze data. In de opgeslagen data kunnenpatronen gevonden worden. Deze patronen kunnen bekend voorkomen bij de artsen. Het kanechter ook zijn dat sommige patronen nog niet gekend waren. Indien men er in slaagt ompatronen uit deze data te extraheren, zijn er verschillende toepassingen mogelijk. De patronenkunnen gebruikt worden als voorspelling van de evolutie van de patiënt. Dit kan artsen helpenbij de keuze van de behandeling van patiënten. Daarnaast kunnen de patronen ook dienen alsbasis voor een waarschuwingsapplicatie. Een bepaalde behandeling kan nog nooit eerder gezienzijn in de database en er kunnen dan vaker voorkomende patronen voorgesteld worden aan dearts waarbij de impact op voorhand voorspeld kan worden.

1

Page 15: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 1. INLEIDING 2

De database die in dit onderzoek gebruikt wordt bevat data omtrent de toediening vanantibiotica op de dienst intensieve zorg van het UZ Gent. Er is een toenemende interesse naarhet in kaart brengen van antibiotica behandelingen. Er komen namelijk steeds vaker resistenteziekenhuiskiemen voor [3]. De antibiotica die voor deze kiemen gebruikt kunnen worden, wordensteeds kleiner in aantal. Bijgevolg is het van belang om antibiotica op een correcte manier tegebruiken.

In dit onderzoek bekijken we de mogelijkheden om met behulp van data mining patronente vinden in de database met antibioticum toedieningen. De patronen die gezocht worden zijnofwel vaak voorkomende opeenvolgingen van antibiotica ofwel waardes van klinische parametersdie aanleiding geven tot het toedienen van een bepaald antibioticum. Op deze manier willen wein staat zijn om de toegediende antibiotica te voorspellen. De gebruikte data bevat de waardenvan enkele klinische parameters, startdatum van de toediening van het antibioticum, dosis, ...

In een eerste fase kijken we hoe de data ontvangen wordt en hoe deze vervolgens voorbereidmoet worden zodat ze aangebracht kan worden aan de data mining algoritmes en zodat erpatroonherkenning kan op uitgevoerd worden. Er kunnen bijvoorbeeld waarden niet of incorrectgeregistreerd zijn in de database. De database bestaat daarnaast uit meerdere tabellen die zullenomgevormd worden naar één tabel. Als laatste moet er een subset van de database geselecteerdworden zodat er speci�eke situaties bestudeerd kunnen worden door data mining. De databasebevat bijvoorbeeld alle toedieningen van antibiotica bij iedere patiënt. Een mogelijke situatiedie bestudeerd kan worden, is bijvoorbeeld het eerste antibioticum dat een patiënt krijgt op dedienst intensieve zorg.

Daarna kijken we of we een software architectuur kunnen uitbouwen die deze voorbereidingkan uitvoeren. Aangezien de database van antibioticumtoedieningen enkel maar een voorbeeld isvan mogelijke zoektochten naar patronen, moet deze architectuur zo uitbreidbaar mogelijk zijn.

In een derde fase kijken we naar de mogelijkheden van data mining zelf. We vergelijkenverschillende algoritmes en we onderzoeken de invloed van de keuze van het algoritme op deresultaten. Daarnaast kijken we ook naar de invloed van het veranderen van de standaardparameters van deze algoritmes. Indien de invloed van deze beide keuzes groot blijkt te zijn,zoeken we een manier om een geschikt data mining algoritme te selecteren voor een nieuwedatabase.

Hoofdstuk 2 biedt een inleiding tot data mining. Data mining begint met het voorbereidenvan de data. Vervolgens wordt de data gebruikt door data mining algoritmes om patronen bloot teleggen. Als laatste moeten de resultaten van de verschillende algoritmes geëvalueerd en vergelekenworden. Hoofdstuk 2 geeft een overzicht van de voorbereiding, de verschillende algoritmes, detechnieken om algoritmes te evalueren en te vergelijken en de data mining software waarmee dezealgoritmes getest en vergeleken worden. In dit hoofdstuk zullen we een algemeen beeld geven vande mogelijkheden binnen data mining. We bekijken verschillende types algoritmes en besprekenvan ieder type algoritme de meest gebruikte algoritmes.

Het daarop volgende hoofdstuk begint met een inleiding tot antibiotica en de problematiekomtrent de resistentie van bacteriën tegen antibiotica. Daarna worden enkele cases besprokendie later bestudeerd zullen worden. Cases zijn situaties die een bepaalde subset van data uit dedatabase gebruiken. Een voorbeeld is de case 'eerste antibioticum' dat bij alle patiënten het eersttoegediende antibioticum bestudeerd. Vervolgens wordt de praktische werkwijze uit de doekengedaan. Deze werkwijze omvat de voorbereiding van de data en de data mining zelf. Voor devoorbereiding van de data wordt een software architectuur ontworpen. De focus ligt hierbij opde uitbreidbaarheid van de software zodat de software ook voor andere cases en/of databasesgebruikt kan worden, toch houden we ook aandacht voor de benodigde rekentijd.

Met de kennis van hoofdstuk 2 en de software uit hoofdstuk 3 openen we de weg naarhoofdstuk 4. De besproken technieken worden toegepast op de data en de resultaten worden

Page 16: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 1. INLEIDING 3

besproken. We beginnen met een algemeen overzicht van de database en de eigenschappen vande cases die in hoofdstuk 3 werden vastgelegd, waarna we de verschillende algoritmes zullenvergelijken met behulp van de cases. We zullen ook een korte samenvatting geven van debenodigde rekentijd van de verschillende onderdelen. Als laatste doen we een terugkoppelingnaar het medische domein. Bij deze terugkoppeling kijken we of de gevonden patronen gestaafdkunnen worden door medische kennis.

Hoofdstuk 5 bekijkt welke mogelijkheden er naar de toekomst zijn omtrent data mining opmedische data en veralgemeent vervolgens naar toepassingen op allerlei vakgebieden. Daarnaastgeeft hoofdstuk 5 een overzicht van mogelijke uitbreidingen op dit onderzoek.

Een conclusie van het volledige werk wordt in hoofdstuk 6 gegeven.

Page 17: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 2

Data mining

2.1 Inleiding tot data mining

Data mining is het automatisch zoeken naar patronen in grote hoeveelheden data. In dithoofdstuk wordt een inleiding gegeven tot data mining en de technieken die hiervoor gebruiktworden. Figuur 2.1 toont de data mining werkwijze. Data mining gebruikt data uit een database.In dit onderzoek is dit het Intensieve Zorg Informatiesysteem (IZIS). Hieruit worden verschillendeCSV bestanden gehaald. Deze data kan echter niet rechtstreeks gebruikt worden om datamining algoritmes op toe te passen. De data moet hiervoor nog voorbereid worden aangeziener incorrecte waarden en/of ontbrekende waarden kunnen voorkomen. Daarnaast zijn databasesopgebouwd uit verschillende tabellen. De data uit deze tabellen moet samengevoegd wordentot één tabel. Als laatste stap bij de voorbereiding worden de eigenschappen zoals het aantalverschillende waarden die voorspeld moeten worden en het aantal ontbrekende waarden vande dataset geanalyseerd. Op basis van deze analyse kan een keuze gemaakt worden voor eenspeci�ek data mining algoritme. Na de voorbereiding kan de data gebruikt worden door datamining algoritmes die een model (zoals een beslissingsboom) zullen opbouwen. Het model moetvervolgens geëvalueerd worden op het vermogen om nieuwe situaties correct te voorspellen.

Dit hoofdstuk begint met een bespreking van de vaak voorkomende problemen bij het voor-bereiden van de data en mogelijke oplossingen voor deze problemen. Vervolgens bestuderen weenkele data mining algoritmes. Voor elk van de verschillende types algoritmes (bv. bomen,classi�catieregels en neurale netwerken) kiezen we de meest gebruikte algoritmes. We bekijkenzowel eenvoudige als geavanceerdere algoritmes. Het is van belang dat we weten in hoeverre dekeuze van het algoritme de prestaties beïnvloedt en waarop deze keuze gebaseerd moet worden.Deze prestaties worden gede�nieerd als het vermogen om correcte voorspellingen te doen opnieuwe data. Om dit te bestuderen vergelijken we eenvoudige algoritmes met algoritmes diein de industrie gebruikt worden. Hierbij moeten we vermelden dat sommige van deze sterkerealgoritmes gepatenteerd zijn en wij ons beperken tot de niet gepatenteerde tegenhanger. De ver-schillende data mining algoritmes hebben elk hun parameters. Om de prestaties van de algoritmeste verbeteren, kan het zijn dat de parameters aangepast moeten worden. Om met de antibioticadatabase uit dit onderzoek om te kunnen gaan, moeten de algoritmes ontbrekende waarden enincorrecte waarden kunnen behandelen. Daarnaast moeten de algoritmes met numerieke waardenkunnen omspringen. Deze criteria vormen een extra beperking op de selectie van de algoritmesdie in dit hoofdstuk besproken worden.

Verder in dit hoofdstuk zetten we de verschillende manieren waarop we de prestaties van datamining algoritmes kunnen vergelijken uit elkaar. Als laatste bekijken we bestaande data miningapplicaties en maken een keuze voor dit onderzoek. Deze data mining applicaties voeren datamining en de evaluatie van de algoritmes uit.

4

Page 18: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 5

Database

Data voorbereiding

Data miningOntbrekende

waarden

Incorrecte

waarden

Relationele

database

ontplooien

SQL, CSV, ...

Intensieve Zorg

Informatiesysteem

Data voorbereidingWEKA

CSV

C4.5 Bayes ...

ARFF

Voorbereidende architectuur

Evaluatie

Data mining werkwijze

Implementatie in dit onderzoek

Data mining algoritmes

Eigenschappen

van dataset

analyseren

Figuur 2.1: Data mining proces en de implementatie hiervan in dit onderzoek

Hoofdstuk 3 gaat vervolgens in op de implementatie van de data mining werkwijze in ditonderzoek.

2.2 Voorbereiding bij data mining

De eerste stap in data mining is de data voorbereiding. De data wordt verkregen uit een databasevia CSV, SQL, ... De verkregen data kan echter niet rechtstreeks verwerkt worden door de datamining algoritmes. Hiervoor zijn nog enkele voorbereidende stappen nodig.

2.2.1 Ontbrekende waarden

In databases zijn vaak verschillende waarden niet ingevuld. Dit kan onder andere komen doordatbepaalde data niet beschikbaar was. Indien de thermometer een bepaalde tijd niet functioneelwas, zal er geen temperatuur voor die periode in de database staan. Data mining algoritmesmoeten met deze ontbrekende waarden overweg kunnen. Er zijn vier vaak gebruikte oplossingenom met instanties (een rij uit een database) die ontbrekende waarden hebben om te gaan [4][5].

Ten eerste kunnen de instanties met ontbrekende waarden verwijderd worden uit de database.Aangezien het voor data mining echter belangrijk is om een database met veel instanties tehebben, is dit een oplossing die zoveel mogelijk moet vermeden worden. Indien het verdwenenattribuut echter essentieel is (bv. de waarde van de voorspelde klasse, de sleutel om de relatiesuit verschillende databases op te lossen, ...), moet de instantie verwijderd worden.

Daarnaast kan een verdwenen waarde als een aparte waarde van een attribuut worden gezien.Indien het attribuut bijvoorbeeld kleur is, kunnen de waarden �geel�, �blauw�, ... en �ontbrekend�zijn. Deze oplossing is interessant als het feit dat een waarde verdwenen is, een betekenis heeft.

Een andere oplossing is het ontbrekende attribuut in te vullen met de gemiddelde attribuut-waarde in geval van numerieke attributen of de meest voorkomende attribuutwaarde in geval vannominale attributen.

Als laatste oplossing zijn er algoritmes die overweg kunnen met verdwenen waarden door deinstanties die een verdwenen waarde hebben bij attribuut A, te verwijderen als er getest wordt

Page 19: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 6

op attribuut A. De instanties worden dan echter niet verwijderd voor de volledige patroonher-kenning.

Verschillende algoritmes hebben hun eigen manier om met ontbrekende waarden om tespringen. Zo zal het OneR algoritme een verdwenen waarde als een extra attribuutwaardebeschouwen en zal C4.5 de instantie enkel verwijderen indien er getest wordt op het attribuutmet de ontbrekende waarde. Het kan de prestaties van de algoritmes echter verbeteren indienontbrekende waarden voorafgaand worden behandeld [5].

2.2.2 Correctheid van de waarden

Naast ontbrekende waarden zijn sommige waarden incorrect. Dit probleem is op te splitsen intwee delen.

Ten eerste moet er gede�niëerd worden wat een incorrecte waarde is. Foute nominalewaarden zijn vaak waarden waarvan er maar weinig voorbeelden voorkomen in de database.Deze incorrecte waarden kunnen vaak eenvoudig manueel omgezet worden naar een correctewaarde (denk bijvoorbeeld aan typfouten). Veel moeilijker zijn de numerieke waarden. Zonderdomeinkennis kunnen we enkel aannemen dat de numerieke waarden een Gaussiaanse distributieaannemen. Vervolgens kunnen waarden met een zeer lage probabiliteit beschouwd worden alsincorrect.

Een tweede deel van het probleem is het corrigeren van de gedetecteerde incorrecte waarden.Een eerste mogelijkheid is om de incorrecte waarde te vervangen. De incorrecte waarden kunnenvervangen worden door de meest voorkomende waarde of de gemiddelde waarde. Daarnaastkunnen de incorrecte waarden ook vervangen worden door de dichtstbijzijnde correcte waarde.Een tweede mogelijkheid is om instanties met incorrecte waarden te verwijderen. Om een zo grootmogelijke database over te houden om patronen uit te leren, zou het verwijderen van instantiesopnieuw moeten beperkt worden tot de gevallen waarin essentiele, onherstelbare fouten optredenin een instantie.

Ten derde kunnen incorrecte waarden overgelaten worden aan de data mining algoritmes zelf.Een voorwaarde voor vele data mining algoritmes is robuustheid tegen ruis. Deze algoritmeszullen, met de juiste parameters en indien de database voldoende correcte instanties bevat, instaat zijn om de incorrecte waarden te negeren.

2.2.3 Relationele databases

In de praktijk zijn databases steeds genormaliseerd. Dit betekent dat de data verspreid is oververschillende tabellen. Voor data mining toepassingen moeten deze relaties uitgewerkt worden.De verschillende tabellen moet dus samengevoegd worden tot één tabel. Dit zorgt voor eendenormalisatie, maar dit is geen probleem aangezien de data niet meer aangepast wordt doorexterne applicaties na het uitwerken van de relaties. Er moet echter wel gezorgd worden dater geen fouten geïntroduceerd worden bij het aanpassen van instanties met ontbrekende en/ofincorrecte waarden.

Bij het uitwerken van de relaties komen twee situaties voor. Ten eerste kan het zijn datiedere rij in een tabel overeenkomt met één of meerdere rijen in een andere tabel. Indien tabelA gegevens bevat over een persoon zoals leeftijd, geslacht, naam, adres, ... en een tweede tabelbevat gegevens over voertuigen zoals merk, eigenaar, nummerplaat, ... dan kan deze relatieuitgewerkt worden door een nieuwe tabel te maken met de gegevens van de voertuigen zoalsmerk, nummerplaat, ... terwijl de eigenaar vervangen wordt door de gegevens van deze persoonuit de tabel met persoongegevens. Uiteindelijk bekomen we een tabel met rijen bestaande uitmerk, nummerplaat, naam, adres, leeftijd, geslacht. Hieruit kan met data mining bijvoorbeeldeen verband gezocht worden tussen het merk van een wagen en de woonplaats van een persoon.

Een andere situatie komt voor als we de tabel personen samen met de tabel arbeidsurenbekijken. De tabel arbeidsuren bevat gegevens zoals arbeider, datum, startuur, einduur, ... .

Page 20: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 7

Indien we via data mining een verband willen zoeken tussen het aantal werkuren per dag en deleeftijd en/of geslacht van een persoon, moeten we een nieuwe tabel maken met als gegevensleeftijd, geslacht, gemiddeld aantal werkuren per dag, ... . Dit vereist dus dat meerdere rijen uitde tabel samen worden gevoegd tot één waarde zoals het gemiddelde.

2.2.4 Eigenschappen van de dataset

In dit onderzoek trachten we te achterhalen wat de invloed van de eigenschappen van een datasetzijn op de prestaties van de data mining algoritmes. Hiervoor moeten deze eigenschappen uit dedataset gehaald worden. Er wordt bijvoorbeeld gezocht naar het aantal verschillende waardenvan het te voorspellen attribuut. Hoe hoger dit aantal, hoe moeilijker de voorspelling. Daarnaastgenereren we histogrammen zodat we zien of bepaalde waarden van het te voorspellen attribuutsigni�cant vaker voorkomen dan andere waarden. Indien dit zo is, zal de voorspelling een hogereslaagkans hebben. Als laatste kan er ook gezocht worden naar vaak voorkomende patronen.Opnieuw geeft dit een zicht op de voorspelbaarheid van de data.

2.3 Trainingsset en testset

Bij data mining wordt een model gebouwd aan de hand van een dataset waarvan de classi�catie(de waarde van het te voorspellen attribuut) reeds gekend is. Deze dataset noemt men detrainingsset. Om de correctheid van dit model te evalueren, kan er gekeken worden hoe goeddit model de trainingsset voorspelt. Hierbij wordt echter een denkfout gemaakt. Het modelwerd namelijk gemaakt aan de hand van deze trainingsset. Bijgevolg is het model aangepastaan deze trainingsset. Om een algemeen idee te geven van de correctheid van dit model, moethet model geëvalueerd worden tegenover een nieuwe dataset. In data mining noemt men dezetweede, onafhankelijke dataset de testset. Merk op dat de testset op geen enkele manier maggebruikt worden om het model op te bouwen.

Indien de trainingsset niet groot genoeg is, zal het model niet goed opgebouwd kunnenworden. Dit e�ect wordt nog groter indien de trainingsset foute voorbeelden (ruis) bevat. Indiende testset niet groot genoeg is, zal de correctheid niet goed voorspeld worden. Ook de testsetmoet groter worden naarmate er meer ruis optreedt.

Voor grote databases is de keuze van de trainingsset en de testset eenvoudig. Een veelgebruikte regel is de 2/3 regel, namelijk 2/3 van de database als trainingsset en 1/3 van dedatabase als testset. Bij kleinere databases is dit echter veel minder haalbaar. Hier kan detrainingsset veel te klein zijn om een goed model op te bouwen. Bijna de volledige databasemoet hierbij gebruikt worden als trainingsset. Dit geeft als gevolg dat de testset zeer kleinwordt. Het probleem wordt duidelijker met een eenvoudig voorbeeld.

Beschouw een database bestaande uit 10 instanties, waarbij de classi�catie wel of niet buitenspelen is en het attribuut wel of niet regenen is. Stel dat 9 instanties regenen en niet buitenspelen en 1 instantie regenen en buiten spelen bevatten. Om de trainingsset groot genoeg temaken in de kleine database, is de trainingsset 9/10 van de database. Dit betekent dat de testset1/10 is. De manier waarop de trainingsset gekozen wordt, is onbelangrijk. De voorspeller geeftsteeds aan dat indien het regent, er niet buiten gespeeld wordt. De keuze van de testset is echterwel belangrijk. Indien als testset de instantie regenen en buiten spelen gekozen wordt, is devoorspeller volledig verkeerd. Indien één van de andere instanties als testset gekozen wordt, isde voorspeller volledig correct.

Dit probleem wordt opgelost door middel van cross-fold validation. De dataset wordt verdeeldin een aantal delen (literatuur toont aan dat 10 een goed aantal is [6]) en ieder deel wordt éénmaalgebruikt als testset terwijl de overige delen als trainingsset dienen. In totaal wordt het modeldus 10 maal opgebouwd en getest. De uiteindelijke prestatie van het algoritme is het gemiddeldevan de prestaties van de verschillende modellen.

Page 21: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 8

2.4 Data mining algoritmes

2.4.1 Onderverdeling data mining algoritmes

Data mining algoritmes kunnen onderverdeeld worden in enkele verschillende klassen.Allereerst zijn er de classi�catie algoritmes. Bij deze algoritmes wordt één bepaald attribuut

voorspeld. Dit attribuut kan nominaal of numeriek zijn. Nominale attributen kunnen binair zijn(bvb. �ja�/�nee� voorspellingen) of bestaan uit meerdere klassen (bvb. de voorspelling van eenantibioticum uit 40 verschillende mogelijkheden). De voorspelling zelf kan deterministisch zijn(bvb. �ja� of �nee�) of statistisch (bvb. 85% kans op �ja� en 15% kans op �nee�). Het attribuutdat voorspeld wordt door de classi�catie algoritmes, noemt met de klasse van de instantie.

Een tweede klasse van algoritmes zijn associatie algoritmes. Deze algoritmes leggen relatiestussen willekeurige attributen bloot. Dit in tegenstelling tot classi�catie algoritmes waar enkelgezocht wordt naar de relatie tussen de attributen en een vooraf gekozen doelattribuut. Hoewelhet een voordeel kan lijken om alle relaties in een dataset bloot te leggen, gaat dit ten koste vande prestaties. Een classi�catieregel ziet er bijvoorbeeld als volgt uit:

AtrribuutA = 1 AND AttribuutB = 2→ AttribuutC = 2

Associatieregels zullen niet enkel de voorgaande regel kunnen voorspellen, maar tegelijk ookregels van de vorm

AttribuutB = 2→ AttribuutA = 3

Een extra voordeel aan associatiealgoritmes, is dat zij ook meerdere attributen tegelijk kunnenvoorspellen, bijvoorbeeld een regel

AtrribuutA = 1→ AttribuutC = 2 AND AttribuutB = 2

Aangezien we in dit onderzoek trachten om een antibioticum te voorspellen, worden associatiealgoritmes niet gebruikt. Deze algoritmes zijn wel van belang indien in databases naar algemeneverbanden tussen attributen gezocht wordt zoals in [7].

Daarnaast zijn er de clustering algoritmes. Clustering verdeelt een dataset in verschillendedelen ('clusters'). Clustering zoekt naar instanties die dicht bij elkaar liggen en die dus gelijkaar-dig zijn. Een voorbeeld van het gebruik van clusters is marketing waar clustering gebruikt wordtom klanten onder te verdelen in gelijkaardige groepen. Er kan vervolgens een reclamecampagneontworpen worden gericht op speci�eke groepen. Dit onderzoek richt zich op het voorspellen vanantibiotica en dus wordt clustering niet gebruikt.

Als laatste zijn er attribuutselectie algoritmes. Deze algoritmes vormen een hulpmiddel voorandere algoritmes door attributen te zoeken die een hoog onderscheidend vermogen hebben.Aangezien er in dit onderzoek vier parameters gebruikt worden, is er geen voorafgaande attribuutselectie nodig. In datasets met vele attributen kan attribuut selectie echter zorgen voor een betereprestatie van de data mining algoritmes [8]. De ideale attributen zijn onafhankelijk van elkaaren vertonen een goede correlatie met de voorspelling.

We bekijken een aantal van de verschillende classi�catie algoritmes. Daarbij beginnen we bijde meest eenvoudige algoritmes. Deze eenvoudige algoritmes werken namelijk vaak zeer goed opvele databases in vergelijking met complexere algoritmes [9].

Page 22: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 9

2.4.2 Overzicht van classi�catie algoritmes

In deze sectie gebruiken we als voorbeeld de dataset uit tabel 2.1. De uitleg over de classi�catiealgortimes is gebaseerd op [2]. In de voorbeelddataset zijn er 4 attributen en de klasse die wewillen voorspellen is �Spelen�. In totaal zijn er 14 instanties.

Uitzicht Temperatuur Wind Vochtigheid Spelen

zonnig 85 Nee 85 Nee

zonnig 80 Ja 90 Nee

bewolkt 83 Nee 86 Ja

regen 70 Nee 96 Ja

regen 68 Nee 80 Ja

regen 65 Ja 70 Nee

bewolkt 64 Ja 65 Ja

zonnig 72 Nee 95 Nee

zonnig 69 Nee 70 Ja

regen 75 Nee 80 Ja

zonnig 75 Ja 70 Ja

bewolkt 72 Ja 90 Ja

bewolkt 81 Nee 75 Ja

regen 71 Ja 91 Nee

Tabel 2.1: Voorbeeld dataset voor classi�catieproblemen.

2.4.2.1 Beslissingsbomen

Beslissingsbomen hebben als voordelen dat ze een visueel model opbouwen uit de trainingsset.Dit betekent dat er niet enkel een voorspelling kan gedaan worden, maar dat ook de reden vande voorspelling achterhaald kan worden. Technieken die meerdere beslissingsbomen combinerenom een voorspelling te maken, vormen hier een uitzondering op (bv. Random forests). Doordatmeerdere bomen gecombineerd worden, kan de uiteindelijke voorspelling niet voorgesteld wordenvia één beslissingsboom.

ID3 Het Iterative Dichotomiser 3 (ID3) algoritme [10] vormt de basis van de beslissingsbomen.In iedere stap van het algoritme wordt het beste attribuut gekozen dat zal dienen als splitsing inde boom voor de subset van instanties die aan deze splitsing toekomen. Daarna gaat het algoritmerecursief verder door ieder blad op te splitsen opnieuw na keuze van het beste attribuut. Vanzodra alle instanties in een blad van de boom dezelfde classi�catie hebben, stopt het algoritmemet het splitsen van dat blad. Ook indien twee instanties dezelfde attributen hebben, maar eenverschillende klasse, zal het algoritme noodgedwongen moeten stoppen met splitsen.

Om het beste attribuut voor splitsing in een boom te selecteren, zoekt ID3 naar het attribuutdat de hoogste 'winst' heeft. De winst bij het splitsen van een subset S op attribuut A kanberekend worden met behulp van formule 2.1.

G(S,A) = E(S)−m∑i=1

fS(Ai)E(SAi) (2.1)

In formule 2.1 is:

� G(S,A) de winst na het splitsen van subset S op attribuut A

� E(S) de entropie van subset S zoals gede�nieerd in formule 2.2

� m het aantal verschillende waarden dat het attribuut A kan aannemen

Page 23: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 10

� Ai de ide waarde die het attribuut A kan aannemen

� fS(Ai) de verhouding van het aantal elementen met waarde Ai voor het attribuut A in desubset S tegenover het totaal aantal element in de subset S

� SAi de subset van S met alle instanties van S met waarde Ai voor het attribuut A

E(S) = −n∑

j=1

fS(j)log2fS(j) (2.2)

In formule 2.2 is:

� E(S) de entropie van S

� n het aantal verschillende klasses in S. Hierbij is de klasse van een instantie de waarde vanhet doelattribuut dat voorspeld wordt.

� fS(j) de verhouding van het aantal instanties van klasse j in S tegenover het totaal aantalinstanties in S

ID3 kan niet overweg met numerieke en/of ontbrekende waarden. ID3 is echter de basis voor hetC4.5 algoritme dat wel met dit type attributen overweg kan.

C4.5 C4.5 [11] is een uitbreiding op ID3. Het concept van dit algoritme is gelijkaardig aan ID3maar er zijn enkele verbeteringen aangebracht.

� C4.5 ondersteunt numerieke variabelen. Hiervoor wordt een threshold gezocht die deinstanties optimaal splitst (de winst in formule 2.1). Deze threshold wordt bijgevolggebruikt om de tak te splitsen.

� Het algoritme past 'pruning' toe. Bij pruning wordt de opgebouwde boom achteraf nog-maals geëvalueerd. Men probeert takken te vervangen door de meest voorkomende klasse inde deelboom onder deze tak. De bekomen boom is bijgevolg korter dan de oorspronkelijkeboom. Indien de prestaties van de nieuwe boom even goed of beter zijn dan de prestatiesvan de originele boom wordt de verandering behouden. Het voordeel van pruning is dater beter leesbare bomen bekomen worden met gelijkaardige prestaties en dat 'over�tting'wordt vermeden. 'Over�tting' treedt op als een boom de trainingsinstanties zeer goed kanvoorspellen, maar slecht presteert bij de voorspelling van nieuwe instanties.

� Ontbrekende waarden worden aanvaard. Indien een waarde van een attribuut bij eeninstantie ontbreekt, wordt deze instantie niet gebruikt bij de berekening van de winst bijsplitsing op dit attribuut.

C4.5 heeft twee belangrijke parameters die in dit onderzoek bestudeerd worden.

� De snelheid van pruning. Hoe lager deze parameter, hoe sneller de beslissing wordt genomenom te prunen. Dit betekent dat er kortere bomen worden gebouwd die echter niet steedseen hogere prestatie hebben.

� Het minimum aantal trainingsinstanties dat een blad moeten bereiken of de grootte van debladeren. Hoe hoger dit getal, hoe sneller het algoritme zal stoppen met het splitsen vanbladeren. Dit zal opnieuw zorgen voor kleinere bomen.

Er is reeds een opvolger van C4.5, namelijk C5.0. Het C5.0 algoritme is echter gecommercia-liseerd en daardoor niet vrij beschikbaar. De data mining software WEKA gebruikt een eigenimplementatie van C4.5 genaamd J4.8. In [12] werd aangetoond dat J4.8 minder goed presteertdan C4.5. C5.0 presteert volgens dit onderzoek gelijkaardig aan J4.8 .

Page 24: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 11

Random Forests Random forests [13] gebruiken een combinatie van verschillende randomtrees om een classi�catie te maken. Iedere boom in het random forest kan een stem uitbrengenvoor de classi�catie van een instantie. De klasse met de meeste stemmen wordt gekozen alsvoorspelling voor de klasse van de instantie. Het bouwen van random forests gebeurt in driestappen. We beschouwen een trainingsset met N instanties.

1. Vorm een nieuwe set van N instanties door willekeurig instanties uit de originele trainingssette kiezen met herhaling. De instanties die door dit proces niet gekozen werden, noemt metde 'out-of-bag' instanties.

2. Met behulp van de nieuwe set wordt een beslissingsboom gebouwd. Bij het bouwen van deboom wordt voor ieder knooppunt slechts een subset van de attributen getest. Het besteattribuut (zie ID3) uit deze subset wordt gebruikt om de boom te splitsen. De subset vanattributen wordt willekeurig gekozen. Voor ieder knooppunt wordt een nieuwe subset vanattributen gekozen.

3. Herhaal stappen 1 en 2 voor iedere boom uit het random forest. Het aantal bomen is eenparameter van het algoritme. Hoe meer bomen, hoe hoger de prestatie.

Doordat meerdere bomen gebouwd moeten worden, neemt dit algoritme veel rekentijd in beslag.

2.4.2.2 Classi�catieregels

Een voorbeeld van classi�catieregels wordt gegeven in formule 2.3. Beslissingsbomen kunnenomgezet worden in regels. Er zijn echter ook algoritmes die regels rechtstreeks uit de data kunnenleren. Deze algoritmes proberen voor iedere waarde van het doelattribuut (de te voorspellenklasse) een regel te bouwen die alle instanties in de trainingsset omvat. Dit is ook meteen eennadeel aan regels: er moet voor iedere klasse apart een regel gebouwd worden. Algoritmes dieeen beslissingsbomen genereren, maken een boom waarbij alle klasses tegelijk worden voorspeld.

temperatuur < 70.5 en bewolkt → spelen (2.3)

ZeroR De eenvoudigste regel is één klasse als uitkomst van de voorspelling. Indien we eennumerieke voorspelling maken, is de uitkomst het gemiddelde. Bij nominale voorspellingen kiestZeroR de vaakst voorkomende klasse. De voorspelling in tabel 2.1 zou bijgevolg �Ja� zijn.

OneR OneR [9] vormt regels waarbij er op één attribuut wordt gesplitst. Hiervoor loopt hetalgoritme ieder attribuut af en maakt met behulp van dit attribuut een regel (bv. indien de kleurblauw is, is het een bloem). Bij ieder attribuut berekent OneR het aantal correct voorspeldeinstanties. Nadat dit voor alle attributen gedaan is, kiest OneR voor het attribuut dat de bestevoorspellingen geeft.

OneR kan overweg met numerieke attributen door deze attributen te discretiseren. Om ditte illustreren kijken we naar het voorbeeld van tabel 2.1. OneR zal het attribuut temperatuurwillen discretiseren. Eerst en vooral worden de waarden van het attribuut oplopend gesorteerd.

64 65 68 69 70 71 72 72 75 75 80 81 83 85ja nee ja ja ja nee nee ja ja ja nee ja ja nee

Een eerste manier om deze numerieke sequentie te discretiseren, is door een scheiding temaken iedere keer de klasse veranderd. We krijgen vervolgens volgende partitie

ja nee ja ja ja nee nee ja ja ja nee ja ja nee

Page 25: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 12

De scheiding tussen twee klasses wordt gemaakt in het midden, dit geeft scheidingen tussen64.5, 66.5, 70.5, 72, 77.5, 80.5 en 84. Momenteel is er nog een probleem rond de waarde 72aangezien er zowel een instantie met klasse �ja� als met klasse �nee� bestaat. De eenvoudigsteoplossing is het scheidingspunt op te schuiven naar 73.5 waardoor er een gemengde partitieontstaat (twee keer nee, één keer ja).

Indien er echter vele klasses zijn, zal OneR op deze manier zeer veel kleine partities maken.Om dit op te lossen heeft OneR een parameter genaamd 'bucket size'. Deze parameter bepaaldhoeveel instanties van de klasse er in een partitie moeten zitten. Indien we bijvoorbeeld eenbucket size van twee nemen, vinden we

ja nee ja ja ja nee nee ja ja ja nee ja ja nee

Aangezien partitie 1 en 2 dezelfde voorspelling maken, kunnen we deze samenvoegen. Het-zelfde geld voor partitie 4 en 5. Uiteindelijk vinden we

ja nee ja ja ja nee nee ja ja ja nee ja ja nee

Dit geeft de regel

temperatuur ≤ 70.5→ ja

70.5 ≤ temperatuur ≤ 73.5→ nee

73.5 ≤ temperatuur ≤ 84→ ja

temperatuur ≥ 84→ nee

OneR behandelt ontbrekende waarden van attributen als een extra waarde.

RIPPER Het RIPPER algoritme [14] is een algoritme van een industriële sterkte, te vergelijkenmet C4.5 voor beslissingsbomen. RIPPER staat voor �repeated incremental pruning to produceerror reduction�. Het algoritme bestaat uit vijf stappen.

Regels laten groeien (Growing) Om een regel voor een klasse op te bouwen, vertrekkenwe van een set bestaande uit alle instanties uit de trainingsset en zoeken we het attribuut methet grootste onderscheidend vermogen. Op basis van dit attribuut voegen we een voorwaardetoe aan de regel. We verwijderen alle instanties die door deze regel worden geclassi�ceerd uitde set van instanties. Met deze nieuwe set herhalen we het proces totdat de set van instantiesleeg is. In een volgende stap maken we de set van instanties terug tot de volledige trainingset enzoeken we een regel voor de volgende klasse. Op deze manier krijgen we voor iedere klasse eenset van perfecte regels.

Regels laten inkrimpen (Pruning) De regels verkregen door de vorige stap zullen 100%accuraat zijn op de trainingsset. Dit zegt echter niets over de resultaten op de testset. Daaromzullen we de initiële set van instanties vervangen door een deel van de instanties. Deze subsetnoemen we de �Growing set�. Het andere deel noemen we de �Pruning set�. Iedere regel die weverkrijgen door een regel te laten groeien op de growing set, zullen we terug kleiner proberenmaken. We verwijderen voorwaardes van de regel tot de resulterende regel in staat is de pruningset goed te voorspellen.

Page 26: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 13

Beschrijvingslengte van een regelset De beschrijvingslengte wordt in RIPPER gebruiktals een stopcriteria. Indien we een set regels R hebben, kunnen we die regels in L(R) bitsvoorstellen. Het aantal bits nodig om de trainingsset E voor te stellen, noteren we als L(E).De beschrijvingslengte (description length) wordt op dat moment gegeven door DL = L(R) +L(E|R). Er wordt gestreefd naar een zo klein mogelijke beschrijvingslengte. In woorden enspeci�ek toegepast op regels, betekent dit dat we een regelset zoeken die kort is en tegelijk zoveel mogelijk instanties uit de trainingsset correct voorspelt.

Optimalisatie Als verdere optimalisatie worden voor iedere regel van een klasse tweevarianten gegenereerd. Als één van deze twee varianten een lagere beschrijvingslengte heeft,wordt de originele regel vervangen door deze variant.

Opkuis De beschrijvingslengte wordt voor de gehele regelset berekend. Daarna wordt debeschrijvingslengte berekend voor de regelset waarbij telkens één regel weg gelaten werd. Indienhet wegnemen van een regel de beschrijvingslengte verkort, wordt de regel de�nitief verwijderd.

RIPPER kan omgaan met numerieke attributen door deze te discretiseren. Daarnaast kanRIPPER ook omgaan met ontbrekende waarden, de prestaties van RIPPER worden wel negatiefbeïnvloed door deze ontbrekende waarden [5].

2.4.2.3 Bayesiaanse technieken

Bayesiaanse technieken onderscheiden zich van andere technieken in het punt dat de uitkomstvan de voorspeller geen klasse is, maar een probabiliteit dat de instantie tot die klasse behoort.De klasse met de grootste probabiliteit wordt gekozen als uitkomst van de voorspeller. Dezetechnieken hebben als voordeel dat voorspellingen met een lage probabiliteit handmatig kunnenworden gecontroleerd door experts.

Bayesiaanse technieken zijn gebaseerd op de regel van Bayes. De a posteriori probabiliteitdat een instantie met attributen A1, .., AN behoort tot klasse K wordt gegeven door formule 2.4.

p(K|A1, .., AN ) =p(K)p(A1, .., AN |K)

p(A1, .., AN )(2.4)

Indien we zoeken naar de probabiliteiten van de verschillende klassen bij een instantie, moetendeze a posteriori probabiliteiten nog genormaliseerd worden zodat de som van deze gelijk is aanéén. Indien we enkel naar de klasse met de hoogste probabiliteit zoeken, moet de teller nietuitgerekend worden aangezien deze niet afhangt van K.

Naïeve bayes Naïeve bayes is de eenvoudigste bayesiaanse techniek. Hierbij wordt uitgegaandat alle attributen statistisch onafhankelijk zijn van elkaar. Deze veronderstelling klopt in depraktijk meestal niet, vandaar dat deze techniek naïef wordt genoemd. Naïeve bayes geeftondanks deze veronderstelling vaak goede resultaten. Door de veronderstelling van statistischeonafhankelijkheid wordt de term p(A1, .., AN |K) in formule 2.4 vereenvoudigd tot:

p(A1, .., AN |K) =n∏

i=1

p(Ai|K) (2.5)

Bij numerieke attributen wordt de probabiliteit p(Ai|K) berekend uit de trainingsdata metde veronderstelling dat de attributen een Gaussiaanse verdeling hebben. Het gemiddelde en destandaardafwijking van de trainingsdata is dus voldoende om de probabiliteit te berekenen.

Ontbrekende waarden zijn geen probleem bij naïeve bayes. Indien attributen in de trai-ningsset ontbrekende waarden bevatten, worden deze niet meegerekend in de berekening van deprobabiliteit p(Ai|K) . Indien een instantie die voorspeld wordt een ontbrekend attribuut bevat,bijvoorbeeld Aj , dan loopt het product uit formule 2.5 over alle attributen behalve Aj .

Page 27: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 14

Bayesiaanse netwerken Bayesiaanse netwerken veronderstellen niet dat de attributen onaf-hankelijk zijn. Op deze manier ontstaan netwerken zoals in �guur 2.2. Dit netwerk voorspelt dekans dat het geregend heeft.

Wind

Spelen

Uitzicht

JaNee

0.2 0.8

Regenachtig

0.238 0.429

Bewolkt

Ja

0.538 0.077Nee

Spelen

Ja

Nee

ZonnigSpelen

0.333

0.385

Ja

Ja

Nee

Nee

Zonnig

Regenachtig

Regenachtig

Bewolkt

Bewolkt

Zonnig

Uitzicht Ja

0.500 0.500

0.500 0.500

0.500 0.500

0.125 0.875

0.375 0.625

0.833 0.167

Figuur 2.2: Voorbeeld van een bayesiaans netwerk

Binnen de bayesiaanse netwerken is er vooral verschil tussen de manier waarop randen gekozenworden. De conditionaliteiten worden namelijk uitgerekend (mits enige aanpassingen om nietvoorkomende attribuutwaarden te verwijderen).

We hebben binnen de netwerken een onderscheid tussen onder andere Tree AugmentedBayesian (TAN) netwerken en naieve bayesiaanse netwerken. Naieve bayesiaanse netwerkengaan uit van de veronderstelling dat alle attributen onafhankelijk van elkaar. Bij TAN wordtdeze beperking deels verwijderd. Het is echter wel nog zo dat ieder attribuut maximaal éénafhankelijkheid mag hebben (één parent node). Dit structureert het netwerk in een boom,vandaar de naam TAN.

2.4.2.4 Instance based

Instance based data mining algoritmes verschillen van de overige algoritmes in het feit dat ergeen model van de data wordt opgebouwd. In plaats hiervan wordt gebruik gemaakt van alletrainingsinstanties bij het voorspellen van een nieuwe instantie. Voor de classi�catie van dezenieuwe instantie wordt de afstand gemeten tot de verschillende trainingsinstanties. De voorspeldeklasse van die nieuwe instantie is diegene van de trainingsinstantie die het dichtst bij ligt. Dealgoritmes van instance based data mining verschillen vooral in de manier waarop de afstandtussen instanties wordt gemeten.

Nearest neighbour Nearest neighbour [15] is een eenvoudig instance based algoritme. Eenimplementatie van dit algoritme is Instance Based 1 (IB1). IB1 zoekt naar de dichtsbijzijndebuur voor iedere te voorspellen instantie. De gebruikte afstandsformule is de Euclidische afstand.

De afstand tussen een instantie met attributen a(1)1 , a

(1)2 , ...a

(1)k en een instantie met attributen

a(2)1 , a

(2)2 , ...a

(2)k wordt gegeven door

Page 28: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 15

Afstand =

√(a

(1)1 − a

(2)1 )² + (a

(1)2 − a

(2)2 )² + ... + (a

(1)k − a

(2)k )²

De numerieke attributen worden genormaliseerd zodat ieder attribuut bij het meten van deafstand met een gelijk gewicht wordt voorgesteld. De genormaliseerde waarden liggen dus steedstussen 0 en 1. Nominale attributen zijn ofwel gelijk ofwel verschillend (afstand respectievelijk 0of 1) aan het attribuut van de te voorspellen instantie.

Indien de waarde van een attribuut ontbreekt, is de afstand tot iedere waarde van dit attribuutin de trainingsset zo groot mogelijk. Aangezien numerieke attributen genormaliseerd werden,is de afstand van een willekeurig attribuut tot een ontbrekende waarde steeds 1, zowel voornumerieke als nominale attributen.

k-Nearest neighbour Het nearest neighbour algoritme is gevoelig aan ruis. Indien eentrainingsinstantie een incorrecte classi�catie heeft, zullen alle instanties in de buurt van dezetrainingsinstantie verkeerd geclassi�ceerd worden. Het k-nearest neighbour algoritme [15] lostdit probleem op door niet één maar de k dichtste buren te beschouwen. Iedere instantie uit deset van k dichtste buren, kan stemmen over de classi�catie van de te voorspellen instantie. Alsvoorspelde klasse wordt de klasse met de meeste stemmen genomen.

2.4.2.5 Lineaire modellen

Multilayer Perceptron De multilayer perceptron vormt een arti�cieel neuraal netwerk zoalsin �guur 2.4. Een arti�cieel neuraal netwerk is een netwerk bestaande uit neuronen. Het ideeachter deze netwerken komt van de functie van de hersenen. De neuronen zijn eenvoudigeprocessors die verbonden zijn met meerdere andere neuronen. Iedere neuron kan een eenvoudigsignaal generen en doorgeven aan andere neuronen nadat het een signaal gekregen heeft van eenof meerdere vorige neuronen.

De multilayer perceptron die in dit onderzoek gebruikt wordt is een voorwaarts arti�cieelnetwerk. Dit betekent dat er in het netwerk geen lussen voorkomen. De perceptron bestaatuit meerdere lagen, één inputlaag waar de attributen worden ingeladen, één outputlaag waar declassi�catie bekomen wordt en één of meerdere hidden layers tussen de input en de output.

Ieder knooppunt heeft als input een aantal takken met een bepaald gewicht w en als outputeen aantal takken met een bepaald gewicht. De takken zijn standaard niet geactiveerd. Deknooppunten nemen als input de gewogen som van de geactiveerde takken die toekomen in hetknooppunt. Op deze gewogen som wordt een sigmoid functie toegepast. Een voorbeeld vaneen sigmoid kan gezien worden in �guur 2.3. Deze functies blijken een goede benadering vanleercurves in natuurlijke processen. Ieder knooppunt heeft een threshold. Indien deze thresholdoverschreden wordt door de output van de sigmoid functie, worden de output takken geactiveerd.Deze geactiveerde takken zijn daarna input voor de volgende laag van knopen.

Page 29: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 16

Figuur 2.3: Voorbeeld van een sigmoid functie

Bij het opbouwen van een neuraal netwerk wordt gebruikt gemaakt van backpropagation.Iedere nieuwe instantie wordt door het netwerk gevoerd. De gemaakte fout wordt bepaald endeze fout word terug door het netwerk gestuurd. De gewichten van de knooppunten wordenvervolgens aangepast zodoende de gemaakte fout zo klein mogelijk te krijgen.

Het voordeel aan een multilayer perceptron is dat de classi�catie op een niet-lineare manierkan afhangen van de input (nominale waarden worden omgezet naar numerieke waarden tussen-1 en 1).

klasse A klasse B klasse C

Attribuut

1

Attribuut

2

Attribuut

3

Attribuut

4

Figuur 2.4: Voorbeeld van een multilayer perceptron

Page 30: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 17

2.4.2.6 Meta-learning technieken

Meta-learning algoritmes zijn geen data mining algoritmes op zich. Deze technieken makengebruik van bestaande algoritmes en door deze meerdere malen toe te passen, komen zij vaaktot een beter resultaat dan de gebruikte algoritmes.

AdaBoostM1 AdaBoostM1 [16] combineert meerdere modellen bekomen uit een bestaandalgoritme door middel van stemmen in geval van nominale voorspelling en door middel vanhet gewogen gemiddelde bij numerieke voorspelling. De verschillende modellen worden iteratiefbekomen. AdaBoostM1 begint door alle instanties in de trainingsset een gelijk gewicht te geven.Vervolgens wordt een eerste model opgebouwd met het bestaande algoritme. De gewichten vande correct voorspelde instanties worden verlaagd, deze van de incorrect voorspelde instantiesverhoogt. Vervolgens bouwt AdaBoostM1 een nieuw model. Bij dit nieuwe model wordt er dusmeer belang gegeven aan de eerder incorrect geclassi�ceerde algoritmes. De gewichten zullenopnieuw aangepast worden.

AdaBoostM1 zorgt door deze werkwijze dat verschillende 'experts' bekomen worden. Iedermodel kan een subset van de instanties goed voorspellen.

2.4.2.7 Vergelijking van de besproken algoritmes

We vergelijken de besproken algoritmes in tabel 2.2. De kolom complexiteit is hierbij een sub-jectieve schatting van de geavanceerdheid van de verschillende algoritmes. Deze geavanceerdheidwordt geschat aan de hand van de hoeveelheid wetenschappelijk werk er voorafgegaan is aandeze algoritmes (zo is ID3 een verre voorloper van C4.5 en dus als minder geavanceerd geschat).ID3 zullen we niet kunnen testen aangezien deze niet met ontbrekende waarden kan omgaan.

Algoritme Ontbrekende waarden Numerieke waarden Complexiteit Visualisatie

ID3 Nee Nee +++ Ja

C4.5 Ja Ja ++++ Ja

RandomForest Ja Ja ++++ Nee

ZeroR Ja1 Ja + Ja

OneR Ja1 Ja ++ Ja

RIPPER Ja Ja ++++ Ja

Naïve bayesiaanse netwerken Ja Ja +++ Ja2

Bayesiaanse netwerken Ja Ja ++++ Ja2

Nearest neighbour Ja Ja ++ Nee

k-Nearest neighbour Ja Ja +++ Nee

MultilayerPerceptron Ja Ja ++++ Ja2

AdaBoostM1 Ja Ja +++ Ja2

1 Deze algoritmes kunnen ontbrekende waarden gebruiken, maar maken hier een extra klassevoor aan.2 De modellen van sommige algoritmes kunnen visueel voorgesteld worden, maar hier kan opzicht geen nuttige informatie uit gehaald worden.

Tabel 2.2: Vergelijking van de besproken algoritmes

2.5 Meetbare prestatie van de modellen

Nadat de data mining algoritmes een model (zoals een beslissingsboom of regelset) hebbenopgebouwd van de trainingsset, wordt dit model gebruikt om de testset te voorspellen. Hoegoed deze voorspelling gebeurt, is een maat voor de prestaties van het algoritme. Deze prestatiekan in verschillende statistieken uitgedrukt worden.

Page 31: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 18

2.5.1 Error rate en success rate

Een eenvoudige manier om de prestatie van een model weer te geven is de error rate en de successrate van een model. De error rate is de verhouding van de verkeerd geclassi�ceerde instantiesuit de testset tot de totale grootte van de testset. Analoog is de success rate van een model deverhouding van de correct geclassi�ceerde instanties gedeeld door het totaal aantal instanties.

Deze statistieken zijn zeer geschikt voor de voorspelling van nominale attributen en de successrate zal dan ook in dit onderzoek gebruikt worden.

2.5.2 Kappa statistiek

De kappa statistiek houdt rekening met de prestaties van een random voorspeller. Stel dattabel 2.3 de resultaten zijn van een voorspeller. Deze voorspeller haalt een success rate van 140instanties op een totaal van 200 instanties. Dit is 70%. We beschouwen nu een random voorspellerdie even vaak klasse a, b en c voorspelt als er voorspeld werden door het algoritme, namelijkrespectievelijk 120, 60 en 20. De testset bestaat uit evenveel instanties van klasse a, b en c alsin de originele testset, namelijk respectievelijk 100, 60 en 40. De resultaten van deze randomvoorspeller vinden we in tabel 2.4. Deze random voorspeller voorspelt 82 instanties correct.De originele voorspeller voorspelt dus 58 (140− 82) instanties op een totaal van 112 (200− 82)instanties beter dan een random voorspeller. De kappa statistiek van deze voorspeller is bijgevolg58 op 112 of 49.2%.

Voorspelde klassea b c Totaal

a 88 10 2 100Werkelijke klasse b 14 40 6 60

c 18 10 12 40

Totaal 120 60 20

Tabel 2.3: Uitkomst van de voorspeller

Voorspelde klassea b c Total

a 60 30 10 100Werkelijke klasse b 36 18 6 60

c 24 12 4 40

Total 120 60 20

Tabel 2.4: Uitkomst van een random voorspeller

2.5.3 Kwadratisch gemiddelde fout

Deze statistiek is vooral geschikt voor numerieke voorspelling. In formule 2.6 voor de kwadratischgemiddelde fout is n het totaal aantal elementen in de testset, pi de voorspelde waarde van deide instantie uit de testset en ai de werkelijke waarde van de ide instantie.√

(p1 − a1)² + (p2 − a2)² + ... + (pn − an)²

n(2.6)

2.5.4 Gemiddelde absolute fout

Deze statistiek is vooral geschikt voor numerieke voorspelling. Het voordeel van de gemiddeldeabsolute fout tegenover de kwadratisch gemiddelde fout is dat het e�ect van zeer grote fouten

Page 32: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 19

die niet vaak voorkomen minder wordt uitvergroot.

|p1 − a1|+ |p2 − a2|+ ... + |pn − an|n

(2.7)

2.5.5 Kwadratisch relatieve fout

Opnieuw een statistiek die vooral geschikt is voor numerieke voorspelling. Deze statistiek staatvoor de wortel van de totale kwadratische fout gedeeld door de totale kwadratische fout van eeneenvoudig algoritme zoals ZeroR.√

(p1 − a1)² + (p2 − a2)² + ... + (pn − an)²

(a1 − a)² + (a2 − a)² + ... + (an − a)²(2.8)

met a = 1n

∑ai

2.5.6 Evaluatie per klasse

De resultaten van een voorspeller kunnen ook per klasse (voor iedere mogelijke waarde van hette voorspellen attribuut) bekeken en vergeleken worden.

Echte positief verhouding De echte positief verhouding (true positive rate) is de verhoudingvan het aantal echte positieven gedeeld door het totaal aantal positieven. Het aantal echtepositieven is het aantal instanties van klasse A dat als klasse A werd geclassi�ceerd. Het aantalvals positieven is het aantal instanties dat niet van klasse A is, maar wel als klasse A werdgeclassi�ceerd door de voorspeller.

TP rate =TP

TP + FP

Valse positief verhouding

FP rate =FP

TP + FP

Precisie Deze statistieken zijn vooral belangrijk in situaties waarbij data mining gebruiktwordt om textuele documenten op te halen zoals dat gebeurt bij een zoekmachine (Google, Bing,Yahoo, ...). De precisie is de verhouding van het aantal opgehaalde documenten dat relevant isen het totaal aantal documenten dat opgehaald werd. In de context van classi�catieproblemenis de precisie het aantal instanties van klasse A gedeeld door het totaal aantal instanties.

Recall Ook deze statistiek is vooral belangrijk bij de ophaling van documenten. De recall ishet aantal opgehaalde documenten dat relevant is gedeeld door het totaal aantal documentendat relevant is. In de context van classi�catieproblemen is de recall gelijk aan de echte positiefverhouding.

F-cijfer Het F-cijfer wordt berekend uit formule 2.9 en is het gewogen gemiddelde van deprecisie en de recall. Het maakt bijgevolg een afweging tussen beide statistieken.

2 ∗ recall ∗ precisionrecall + precision

(2.9)

Page 33: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 20

2.5.7 Confusion matrix

De confusion matrix geeft een beeld van de correctheid van de voorspeller per klasse. Eenvoorbeeld van een confusion matrix vinden we in tabel 2.5. We lezen hier uit af dat 10 instantiesvan klasse A correct werden voorspeld, terwijl 3 instanties incorrect werden voorspeld als zijndevan klasse B. De confusion matrix blijkt zeer nuttig indien we kosten willen toekennen aan hetverkeerd voorspellen van bijvoorbeeld klasse B. Zo kunnen data mining algoritmes modellenbouwen die zeer goed klasse B kunnen voorspellen, maar minder goed klasse A.

Voorspelde klasse

A BWerkelijke klasse A 10 3

B 5 11

Tabel 2.5: Confusion matrix

2.5.8 Samenvatting

De statistieken die bruikbaar zijn om de prestaties te meten van de algoritmes kunnen onder-verdeeld worden in een aantal groepen met een speci�eke functie. De error rate,success rate enkappa statistiek zijn geschikt voor het meten van de prestaties van voorspellers die een nominaaldoelattribuut moeten voorspellen.

De kwadratisch gemiddelde fout, gemiddelde absolute fout en kwadratisch relatieve fout zijngeschikt voor numerieke voorspellingen.

De evaluaties per klasse en de confusion matrix zijn dan weer geschikt indien we meer belanghechten aan één bepaald type van foute voorspellingen.

De evaluaties per klasse kunnen bijvoorbeeld gebruikt worden indien we er belang aan hechtendat er weinig valse negatieven in de resultaten zitten. Dit komt voor indien we automatisch willenbepalen of iemand een ziekte zoals kanker kan hebben. Een valse negatief (iemand heeft kanker,maar er wordt voorspeld van niet) is veel erger dan een valse positief (er wordt voorspeld datiemand kanker heeft, maar de persoon is gezond). Een valse positief zal namelijk later doorartsen worden verbeterd.

De confusion matrix is belangrijk indien het van belang is een bepaalde klasse met grotecorrectheid te kunnen voorspellen.

Recall, precision en het F-cijfer zijn belangrijk bij het ophalen van textuele bestanden.Een voorbeeld hiervan is een zoekmachine zoals Google. Er moeten door een zoekmachinezoveel mogelijk relevante documenten (recall) worden opgehaald maar tegelijk zo weinig mogelijkirrelevante documenten (precisie).

Aangezien we in dit onderzoek een nominale voorspelling doen van de toegediende antibioticaen dat de voorspelling van één antibioticum niet belangrijker is dan van andere, is de success ratehet cijfer dat we zullen gebruiken om de prestaties van de algoritmes te meten en te vergelijken.

2.6 Data mining suites

2.6.1 Commerciële data mining suites

Er zijn verschillende commerciële data mining suites op de markt. Deze suites zijn vaak uitgerustmet een eenvoudig te bedienen GUI en zijn daarnaast vaak zeer schaalbaar zodat ook databasesmet zeer veel instanties geanalyseerd kunnen worden. De schaalbaarheid wordt vaak bereiktdoordat deze suites op krachtige servers gedraaid kunnen worden. Het nadeel is echter de vaakhoge kostprijs, de server edities kunnen gemakkelijk ¿100 000 kosten (exclusief de kost van deondersteuning) terwijl desktop edities onder ¿10 000 gekocht kunnen worden.

Page 34: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 2. DATA MINING 21

� SAS Enterprise miner

� SPSS/Clementine

� Statsoft/Dataminer

� Insightful Miner

� IBM/DB2 Intelligent miner

� KXEN

2.6.2 Gratis data mining suites

Naast de commerciële data mining suites zijn er ook vele gratis pakketten op de markt. Hieronderwordt een greep uit het aanbod getoond.

� RapidMiner (vroeger Yale)

� WEKA

� AlphaMiner

In deze thesis werd gekozen voor WEKA [17]. Deze software is volledig geprogrammeerd in Javaen is dus op ieder platform inzetbaar. WEKA is ontwikkeld door de universiteit van Waikato.De suite omvat implementaties van vele data mining algoritmes, zowel eenvoudige als complexereen is daarom ideaal voor onderzoek. Het is ook mogelijk om zelf algoritmes te implementeren entoe te voegen aan WEKA. Op het moment van schrijven is WEKA 3.6.2 de stabiele versie. Ditis dan ook de versie die in deze thesis gebruikt werd. Soms werd de versie in ontwikkeling, 3.7.1,gebruikt bijvoorbeeld voor de verbeterde visualisatie van beslissingsbomen.

Een vergelijking van twaalf open source data mining tools kan gevonden worden in [18]. Detools worden vergeleken op gebieden zoals activiteit van de ontwikkeling, gebruiksvriendelijkheid,uitbreidbaarheid, ... RapidMiner, Weka, AlphaMiner en KNIME komen als de beste keuzes naarvoor. In de algemene vergelijking krijgt WEKA een iets lagere score dan de overige drie tools.De belangrijkste reden is dat WEKA minder database connectiviteitsmodules bezit. Deze zijnechter niet nodig voor dit onderzoek.

Page 35: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 3

Patroonherkenning bij

antibiotica-therapieën

3.1 Patroonherkenning bij antibiotica-therapieën

3.1.1 Inleiding

Een vaak voorkomende klasse van ziektes zijn de infecties. Infecties worden gede�nieerd alshet binnendringen van een organisme in een levend wezen waarbij het organisme schade toe-brengt. Deze ziekteverwekkende organismen of pathogenen kunnen verder onderverdeeld wordenin bacteriën, virussen, schimmels, ... Voor de genezing van deze pathogenen zijn respectievelijkantibacteriële, antivirale, antischimmel, ... medicijnen op de markt.

Binnen dit onderzoek concentreren wij ons op de antibiotica. Iedere antibioticum heeft eenbepaald spectrum van bacteriën waarop het inwerkt. Sommige antibiotica hebben een breedspectrum, deze werken in op een groot aantal soorten bacteriën, andere antibiotica hebben eensmal spectrum. Breed spectrum antibiotica worden vooral gebruikt indien de kiem van de infectieniet gekend is. Van zodra de kiem gekend is, zullen artsen op een smal spectrum antibioticumoverschakelen.

Een belangrijk onderwerp binnen de antibioticumproblematiek is resistentie [3]. Bacteriënworden langzamerhand resistent tegen vaak gebruikte antibiotica [19]. Vooral op plaatsen waarvaak antibiotica worden toegediend, zien artsen een sterke toename van resistente bacteriën.De belangrijkste plaats waar resistente bacteriën voorkomen, is het ziekenhuis. Een voorbeeldvan een resistente bacterie is de MRSA bacterie. MRSA staat voor Methicilline ResistenteStaphylococcus Aureus. Deze bacterie van de stam staphylococcus aureus is reeds lange tijdresistent tegen methicilline antibiotica. Tegenwoordig is de resistentie nog veel verder gegroeidwaardoor men reeds spreekt van Multi Resistente Staphylococcus aureus.

Een mogelijke reactie op deze resistentie is de ontwikkeling van nieuwe en betere antibiotica.Deze ontwikkeling loopt echter zeer moeizaam. Het is daarom van belang om resistentie te ver-mijden. Dit kan gebeuren door een antibioticumkuur volledig te doorlopen totdat alle bacteriëngedood zijn en door antibiotica met een smal spectrum te gebruiken indien mogelijk. Van belangis dus om de antibioticumbehandeling in kaart te brengen en deze te optimaliseren zodoenderesistentie te vermijden.

3.1.1.1 Verloop van antibiotica-therapieën bij infecties

Bij de aankomst van een patiënt kunnen er zich verschillende gevallen voordoen. De patiënt kantoekomen met een infectie, waarbij antibiotica gegeven zullen worden afhankelijk van het typeinfectie en afhankelijk van de geschiedenis van de patiënt. Indien deze geschiedenis de artsen

22

Page 36: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 23

toont dat er een mogelijkheid is op resistentie zullen zwaardere antibiotica gebruikt worden. Ookindien de patiënt van een ander ziekenhuis komt, zullen zwaardere antibiotica toegediend wordenom resistente ziekenhuiskiemen af te weren.

Eenmaal de artsen via een antibiogram de kiem kennen en weten op welke antibiotica dezekiem goed reageert, zal er een switch gebeuren in de antibiotica behandeling. Ook indien detoestand van de patiënt verergert, zal er een switch gebeuren.

Er zijn verschillende parameters waarmee artsen de toestand van de patiënten kunnen in-schatten. De set van parameters die in deze thesis gebruikt worden zijn CRP, thrombocyten,�brinogeen en WBC. Het antibiogram werd in deze thesis niet beschikbaar gesteld.

CRP CRP staat voor C-reactief proteïne. CRP wordt geproduceerd door de lever en wordtafgegeven in de bloedbaan. Indien een patiënt een ontsteking heeft, zal het CRP niveau binnenenkele uren aanzienlijk toenemen. Het CRP niveau vormt echter geen indicatie voor de oorzaakvan ontsteking.

Thrombocyten Thrombocyten zijn de bloedplaatjes. Een verhoogde hoeveelheid bloedplaat-jes kan duiden op een ontsteking.

Fibrinogeen Fibrinogeen is een eiwit dat een rol speelt bij de bloedstolling. Fibrinogeen kanook verhoogd zijn bij een ontsteking of infectie.

WBC WBC staat voor White Bloodcell Count. WBC is de hoeveelheid witte bloedlichaampjesper volume bloed. Een verhoogde hoeveelheid witte bloedlichaampjes komt vaak voor bij eenontsteking, infectie of door allergie. Er bestaan echter ook nog andere aandoeningen die invloedhebben op het WBC.

3.1.1.2 Overzicht antibiotica

Tabel 3.1 geeft een overzicht van de antibiotica die gebruikt werden gedurende 2008-2009 op dedienst intensieve zorg. In deze tabel (en in het verdere onderzoek) werden enkel antibiotica op-genomen die als antibioticum gebruikt worden. Dit betekent dat antibiotica die bijvoorbeeld alsprofylaxe na een operatie (bv. Cefazoline) of als stimulator voor maaglediging (bv. Erythrocine)gebruikt worden, niet opgenomen zijn.

Amukin Clamoxyl Meronem Terra-Cortril

Augmentin Colimycine Negaban Tobramycine

Avelox Colistineb Penicilline G Tygacil

Azactam Dalacin C Penstapho Vancocin

Azithromycine Eusaprim Pentrexyl Vibratab

Bactrim Forte Flagyl Polymyxine Zinacef

Biclar Floxapen Rifadine Zinnat

Ceftriaxone Geomycine Targocid Zyvoxid

Ciproxine Glazidim Tavanic

Claforan Maxipime Tazocin

Tabel 3.1: Overzicht van de antibiotica die voorkomen in dit onderzoek

3.1.1.3 Patroonherkenning

Om de antibiotica behandelingen in kaart te brengen, voeren we data mining uit op de databasemet antibiotica toedieningen en de parameters CRP, thrombocyten, �brinogeen en WBC. We

Page 37: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 24

voorspellen het antibioticum dat gegeven zal worden aan een patiënt met behulp van dezevier parameters. Daarnaast gebruiken we ook informatie zoals starttijd en eindtijd van detoedieningen. Hierdoor krijgen we een beeld over de behandeling (de opeenvolgende toedieningen)van de patiënt en kunnen we de invloed van een voorgaande toediening of de eerste toedieninguit de behandeling bestuderen.

3.2 Gerelateerd werk

Er zijn al verschillende onderzoeken geweest, vaak op de dienst intensieve zorg, naar patronenin bepaalde processen of ziektebeelden. Een voorbeeld hiervan is [20]. Het onderzoek zoekt naarde risico factoren voor ventilator associated pneumonia (VAP). De resultaten van deze studiewerden bekomen met handmatige, statistische technieken uitgevoerd met het programma SPSS.Dit betekent dat binnen een set van attributen, voor ieder attribuut afzonderlijk werd berekendin hoeverre deze parameter een invloed heeft op het voorkomen van VAP.

Werkwijzes zoals deze vereisen een voorafgaande selectie van de attributen door middel vankennis van het vakdomein. Daarna moeten alle attributen afzonderlijk getest worden. Datamining heeft als voordeel dat de relevante attributen automatisch kunnen geselecteerd worden.Dit levert een groot tijdsvoordeel indien er een grote hoeveelheid attributen bestaat. Daarnaastwordt een beslissingsboom opgesteld die alle geselecteerde attributen tegelijk kan analyseren. Zokan ook het verband tussen de attributen bloot gelegd worden, zelfs indien dit niet lineair is.

Door de grote voordelen van data mining wordt er ook reeds onderzoek gedaan naar datamining op de dienst intensieve zorg. In [7] wordt data mining toegepast op microbiologische data.Het onderzoek concentreert zich op het opstellen van een automatisch systeem dat patronen kanherkennen. In het onderzoek wordt gebruik gemaakt van associatie algoritmes. Deze algorit-mes vinden willekeurige verbanden tussen attributen. Daarna werden de gevonden verbandenge�lterd zodat enkel interessante verbanden weerhouden werden zoals de resistentie van MRSAtegen verschillende antibiotica. De nadruk van het onderzoek ligt hierbij op de bouw van eenautomatisch systeem. De relevantie van de gevonden verbanden wordt dan ook niet bestudeerd,maar wordt als taak van domeinexperts beschouwd.

[21] bespreekt de mogelijkheden van verschillende technieken met de nadruk op bayesiaansenetwerken op geneeskundige data. De bespreking is echter van theoretische aard, er worden dusgeen testen gedaan naar de prestaties van deze algoritmes op een database. De vergelijking vanverschillende technieken op een database wordt wel gedaan in [22]. In dit onderzoek worden ver-schillende algoritmes uit WEKA vergeleken na toepassing op een grote dataset. De bayesiaansetechnieken worden hier aangeraden aangezien de bayesiaanse techniek de hoogste success ratehaalt in een korte rekentijd.

3.3 Cases

We de�nieren vier verschillende cases. Iedere case zal een bepaalde selectie maken van data uit dedatabase zoals het eerder toegediende antibioticum, het eerste antibioticum in een behandeling,...

3.3.1 Eerste antibioticum

Van iedere sequentie (of behandeling) wordt enkel het eerste antibioticum behouden. Bij dit anti-bioticum worden dan de overeenkomstige parameters (CRP, WBC, thrombocyten en �brinogeen)geplaatst. We gaan er hierbij van uit dat de patiënt geen geschiedenis van andere antibioticumbehandelingen heeft. Er zijn echter gevallen waarbij deze assumptie niet klopt. Zo kan het zijn

Page 38: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 25

dat een patiënt van een andere dienst naar de dienst intensieve zorg werd overgedragen, dat eenpatiënt van een ander ziekenhuis komt of dat de patiënt reeds eerder is opgenomen voor 2008.

3.3.2 Eén antibioticum

Hierbij wordt niet enkel het eerste antibioticum uit een behandeling behouden, maar wordt iedertoegediend antibioticum behouden. Opnieuw worden de parameters hier bij geplaatst. In ditgeval wordt de geschiedenis van een patiënt volledig genegeerd aangezien we toedieningen metof zonder geschiedenis gelijk behandelen.

3.3.3 Volgend antibioticum

Ieder antibioticum wordt behouden en hierbij wordt, naast de vier parameters CRP, WBC,thrombocyten en �brinogeen, ook het voorgaande antibioticum uit de behandeling geplaatst..Deze case bestudeerd bijgevolg de invloed van een antibioticum op het daarop volgende antibio-ticum.

3.3.4 Antibioticum na Zinacef

Dit is een subset van de case volgend antibioticum. Hier wordt het eerste antibioticum handmatiggekozen en wordt het daarop volgende antibioticum bestudeerd. Als eerste antibioticum wordteen breed spectrum antibioticum genomen zoals Zinacef, Ciproxine of Augmentin.

De vier cases zijn zo geselecteerd dat ze elk speci�eke eigenschappen hebben. Case volgendantibioticum bevat bijvoorbeeld de geschiedenis van de patiënt door het voorgaande antibioticumte selecteren. Case eerste antibioticum selecteert toedieningen die (meestal) geen geschiedenisvan antibiotica hebben.

3.4 Voorbereiding van de dataset

Het uiteindelijke doel is de voorspelling en/of verklaring van patronen van antibiotica metbehulp van verschillende parameters. Hiervoor moet de dataset zoals deze ontvangen werd,worden omgevormd naar een formaat dat gelezen kan worden door de data mining tool WEKA.We ontwikkelen hiervoor een architectuur met de voorwaarde dat de architectuur eenvoudigaanpasbaar moet zijn. Dit zorgt dat verschillende cases kunnen bestudeerd worden zonderingrijpende veranderingen in de code en dat de architectuur kan gebruikt worden op anderedatabases.

3.4.1 Ontvangen dataset

Database met de voorschriften van de antibiotica De dataset werd ontvangen als eenCSV bestand. De structuur van de dataset wordt weergegeven in tabel 3.2.

De eerste kolom ('PIDanom') is een geanonimiseerd patiëntennummer. De anonimisatie vandit patiëntennummer zorgt dat de privacy van de patiënt niet geschonden wordt.

De kolom 'PharmaName' geeft weer welk antibioticum toegediend werd aan deze patiënt.Zoals er kan gezien worden, is de naam van het antibioticum zoals dit in de database voorkomteen samenvoeging van de merknaam, de toediening (via een infuus, orale toediening, ...) en dedosis van het gebruikte antibioticum.

De vier daarop volgende kolommen geven ons een idee over de periode van de toediening. Wezien dat er in de database een onderscheid gemaakt wordt tussen het moment waarop de artseen antibioticum voorschrijft voor een patiënt en het moment waarop dit antibioticum wordttoegediend. Analoog wordt er ook een onderscheid gemaakt tussen het tijdstip waarop de artseen behandeling stopzet en het tijdstip waarop deze stopzetting e�ectief werd uitgevoerd.

Page 39: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 26

PIDanom PharmaName OrderTime StartTime EndTime CancelTime

1 Meronem IV [1g/�ac] 8/02/2008 9:40:57 8/02/2008 9:41:00 13/02/2008 9:38:51 13/02/2008 9:38:51

1 Zyvoxid PO [600mg/comp] 1/01/2008 17:41:01 2/01/2008 4:00:00 5/01/2008 13:42:32 5/01/2008 13:42:32

413 Ciproxine IV [200mg/100ml �ac] 9/01/2008 9:19:59 9/01/2008 9:19:00 24/01/2008 9:27:02 24/01/2008 9:27:02

413 Erythrocine INF [1g/�ac] 2/01/2008 11:29:44 2/01/2008 11:29:00 7/01/2008 20:37:35 7/01/2008 20:37:35

Tabel 3.2: Een extract van de dataset zoals deze ontvangen werd

Het doel van de voorbereidende stappen is om deze database om te zetten naar een nieuwformaat zoals weergegeven in tabel 3.3. In deze tabel zijn de rijen een sequentie van antibioticaeventueel aangevuld met enkele parameters. Deze parameters zullen in de stap 'Data miningmet WEKA' belangrijk worden. Mogelijke parameters kunnen bijvoorbeeld de voorschrijvendearts of klinische waarden zijn.

De sequenties van antibiotica in tabel 3.3 stellen een behandeling van een patiënt voor.Patiënten kunnen ook meerdere antibioticabehandelingen hebben doorlopen.

Antibioticum 1 Antibioticum 2 ... Parameter 1 Parameter 2 ...

Zyvoxid Meronem ... P1 P2 ...

Erythrocine Ciproxine ... P1 P2 ...

Tabel 3.3: Doelformaat van de dataset

Database met de parameters Er zijn twee soorten parameters verbonden met de toedieningvan antibiotica. Ten eerste kunnen de parameters rechtstreeks verbonden zijn aan de toedieningzoals bijvoorbeeld het tijdstip van toediening of de toedienende arts. Deze parameters wordenopgeslagen in dezelfde tabel als de toedieningen. Daarnaast zijn er parameters die verbondenzijn via het patiëntnummer aan de toediening. Deze parameters vinden we in een verschillendetabel. Voorbeelden hiervan zijn CRP, WBC, thrombocyten en �brinogeen. Tabel 3.4 toont devorm waarin deze parameters werden ontvangen.

PIDanom VariableID Value EnterTime SampleTime

Tabel 3.4: De dataset met parameters CRP, WBC, Thrombocyten en Fibrinogeen

3.4.2 Problemen in de dataset

Het omvormen van tabel 3.2 naar tabel 3.3 is echter niet eenvoudig. Verschillende problementreden hierbij op. Deze problemen dienen vaak opgelost worden met een vooraf gemaakte keuzevan bepaalde parameters. Hierbij kan domeinkennis helpen om een goede keuze te maken.

3.4.2.1 Naam van het antibioticum

De naam van een antibioticum in tabel 3.2 wordt getoond als een combinatie van de merknaam,methode van toediening en dosis. Indien er verdergewerkt wordt met deze naam, zullen er veelverschillende sequenties in het eindformaat van de dataset bestaan die onderliggend eenzelfde be-tekenis hebben. Om dit te vermijden vertalen we de namen gevonden in de originele dataset naarde merknaam door de methode van toediening en de dosis uit de originele naam te verwijderen.

Hiermee zijn echter nog niet noodzakelijk alle problemen van deze soort opgelost. Ver-schillende merknamen van antibiotica kunnen staan voor eenzelfde actief bestandsdeel in dezemedicijnen. Dit actief bestandsdeel wordt ook vaak de generische naam genoemd. De merknaamzal dus worden vertaald naar de generische naam. Deze vertaling kan worden gedaan aan de

Page 40: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 27

hand van de Sanford guide.1

In tabel 3.5 is er een voorbeeld van de vertaling opgenomen. Als we de originele namengebruiken, vinden we in de tabel zeven verschillende antibiotica terug. Door de vertaling naarde generische naam, wordt dit gereduceerd naar vier verschillende antibiotica.

In tabel 3.5 is ook nog een andere vertaling opgenomen. Augmentin en Clamoxyl hebbenallebei als actief bestandsdeel Amoxicillin. Het verschil ligt hem in het feit dat er bij Augmentinook Clavulanate (Clavulaanzuur) werd toegevoegd. De vertaling kan bijgevolg nog verder uit-gebreid worden naar een ingekorte generische naam. Dit herleidt het aantal van vier naar drieantibiotica in het voorbeeld.

Originele naam Merknaam Generische naam Ingekorte generische naam

Tavanic IV [500mg/100ml �ac] Tavanic Levo�oxacin Levo�oxacin

Tavanic PO [250mg tablet] Tavanic Levo�oxacin Levo�oxacin

Augmentin PO [500mg zakjes] Augmentin Amoxicillin + Clavulanate Amoxicillin

Augmentin IV {500mg/10mL fys.} Augmentin Amoxicillin + Clavulanate Amoxicillin

Clamoxyl IV [1g/�ac] Clamoxyl Amoxicillin Amoxicillin

Dalacin C Dalacin C Clindamycin Clindamycin

Rixapen Rixapen Clindamycin Clindamycin

Tabel 3.5: Vertaling van antibioticumnamen

3.4.2.2 Periode van de behandeling

De vier tijdstippen die gevonden worden in tabel 3.2 moeten omgezet worden naar drie tijdstip-pen. Deze omzetting wordt gedaan aan de hand van volgende regels:

1. Bepaling begintijdstipBekijk StartTime, OrderTime, EndTime en CancelTime in deze volgorde. Van zodra éénvan deze is ingevuld, gebruiken we deze. Anders verwijderen we de rij uit de database.

2. Bepaling eindtijdstipBekijk EndTime, CancelTime, StartTime en OrderTime in deze volgorde. Van zodra éénvan deze is ingevuld, gebruiken we deze.

3. Bepaling ordertijdstipBekijk OrderTime, StartTime, EndTime en CancelTime in deze volgorde. Van zodra éénvan deze is ingevuld, gebruiken we deze.

3.4.2.3 Gelijktijdige toedieningen van een antibioticum

In de database komen rijen voor waarbij twee antibiotica op exact hetzelfde begintijdstip wordentoegediend aan een patiënt. Indien we hier geen rekening mee houden, zal de volgorde van dezetwee antibiotica in de sequentie willekeurig zijn. Om met dit probleem rekening te houden, zijner verschillende mogelijkheden.

Alfabetisch ordenen Meerdere antibiotica op hetzelfde ogenblik worden alfabetisch gerang-schikt. Dit verwijdert de willekeur uit de volgorde van de antibiotica. Indien we echter pa-troonherkenning toepassen, zullen er op deze manier enkele patronen overgeslaan worden. Tabel3.6 toont deze oplossing. We zien dat de gevonden patronen een verband tonen tussen tweeantibiotica die op hetzelfde ogenblik gegeven worden en een verband tussen één van deze tweeantibiotica en het daaropvolgende.

1Ondanks het feit dat er inderdaad verschillende merknamen bestaan voor één generische naam, zal in de restvan dit onderzoek de merknaam gebruikt worden. Ieder ziekenhuis kiest namelijk voor iedere generische naaméén merknaam uit dat het gebruikt bij de behandeling van de patiënten.

Page 41: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 28

Sets van antibiotica beschouwen Antibiotica op hetzelfde tijdstip toegediend, worden ge-combineerd tot één antibioticum dat een combinatie is van de eerste twee. Dit betekent dat zowelhet feit dat de antibiotica gelijktijdig werden toegediend, als het feit dat beide antibiotica alsopvolger een ander antibioticum hebben, tot uitdrukking worden gebracht. Momenteel wordt hetprobleem echter verlegd naar het tellen van het voorkomen van een sequentie. Een eenvoudigeen correcte manier is om bij het tellen enkel rekening te houden met het gevonden patroon.

Dit wordt duidelijker met behulp van het voorbeeld in tabel 3.6. Het gevonden patroon is hier[A−B → C]. Indien er gezocht wordt naar het aantal keer dat het patroon [B → C] voorkomt,wordt geen rekening gehouden met dit gevonden patroon. Indien dit wel gedaan wordt, zullener namelijk sequenties dubbel geteld worden. Het patroon [A−B → C] zou dan zowel bijdragentot het patroon [B → C], [A→ C] als het patroon [A−B → C].

Sequenties opsplitsen zonder gelijktijdigheid Indien er gelijktijdigheid wordt gevonden,worden de sequenties opgesplitst in twee kortere sequenties. Er is echter opnieuw een probleembij het tellen van de patronen. In tabel 3.6 zal het patroon [C] dubbel worden geteld. Daarnaastgaat alle informatie omtrent het gelijktijdig voorkomen van A en B verloren.

Sequenties opsplitsen met gelijktijdigheid De informatie rond de gelijktijdigheid van Aen B kan bewaard worden door een nieuwe sequentie te bouwen voor iedere permutatie vande gelijktijdige toedieningen van de antibiotica. Dit zorgt dat er echter nog veel meer foutenoptreden bij het tellen van patronen. Denk bijvoorbeeld aan de situatie waarbij drie antibiotica(A, B, C) gelijktijdig worden toegediend2. Na deze gelijktijdige toediening wordt antibioticumD toegediend. Indien de sequenties opgesplitst worden zonder rekening te houden met degelijktijdigheid zal er drie maal het patroon [D] geteld worden. Indien er wel rekening gehoudenwordt met de gelijktijdigheid, wordt er zes maal het patroon [D] geteld.

Methode Sequenties Gevonden patronen met lengte twee Gevonden patronen met lengte drie

Origineel (B ingelezen voor A) < B, t0 >,< A, t0 >,< C, t1 > [B → A], [A→ C] [B → A→ C]

Origineel (A ingelezen voor B) < A, t0 >,< B, t0 >,< C, t1 > [A→ B], [B → C] [A→ B → C]

Alfabetisch ordenen < A, t0 >,< B, t0 >,< C, t1 > [A→ B], [B → C] [A→ B → C]

Sets van antibiotica beschouwen < A−B, t0 >,< C, t1 > [A−B → C]

Sequenties opsplitsen zonder < A, t0 >,< C, t1 > [A→ C]gelijktijdigheid < B, t0 >,< C, t1 > [B → C]

Sequenties opsplitsen met < B, t0 >,< A, t0 >,< C, t1 > [B → A],[A→ C] [B → A→ C]gelijktijdigheid < A, t0 >,< B, t0 >,< C, t1 > [A→ B],[B → C] [A→ B → C]

Tabel 3.6: Toedieningen van antibiotica op hetzelfde tijdstip

3.4.2.4 Meerdere toedieningen van eenzelfde antibioticum

Figuur 3.1 toont een ander probleem. Vaak krijgt een patiënt meerdere toedieningen van hetzelfdeantibioticum kort na elkaar of zelfs met een overlap. Deze toedieningen kunnen samengenomenworden tot één toediening. De maximum tijdspanne tussen toedieningen die samengenomenworden, is een parameter die manueel kan worden ingesteld.

2Deze situatie komt relatief weinig voor. Hoewel deze situatie weinig voorkomt, heeft deze situatie echter weleen grote invloed.

Page 42: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 29

Antibioticum A

Antibioticum A

Antibioticum A

Antibioticum A

Overlappende toedieningen

Toedieningen kort na elkaar

Figuur 3.1: Meerdere toedieningen van eenzelfde antibioticum

3.4.2.5 Patiënten met meerdere behandelingen

Indien we de sequenties inlezen, heeft iedere patiënt één sequentie geïdenti�ceerd aan een patiën-tennummer. Het komt echter voor dat een patiënt meerdere behandelingen doorlopen heeft. Depatiënt doorloopt een eerste sequentie antibiotica waarna een pauze voorkomt. Daarna komt eentweede sequentie van antibiotica. De lengte van de pauze is opnieuw een parameter die voorafingesteld wordt. Deze module werd geïmplementeerd maar werd niet gebruikt in dit onderzoek.De toediening van een antibioticum heeft namelijk nog zeer lange tijd invloed op toekomstigetoedieningen. Indien we echter andere datasets gebruiken, kan deze module gebruikt worden.

Antibioticum A

Antibioticum D

Antibioticum BAntibioticum C

Antibioticum B

Sequentie 1 Sequentie 2

Figuur 3.2: Meerdere behandelingen bij een patiënt

3.4.3 Vereisten voor de voorbereidende architectuur

In de eerste plaats moet de voorbereidende architectuur in staat zijn om de functies uit �guur 2.1uit te voeren. Deze functies zijn het omspringen met ontbrekende waardes, incorrecte waardes,meerdere tabellen uit een database samenvoegen en eigenschappen van de database analyseren.Deze vier functies zijn nodig voor iedere data mining opdracht. De input komt uit een databaseterwijl de output door WEKA gelezen moet kunnen worden.

Daarnaast beschreef deze sectie enkele functies die speci�ek zijn aan het data minen in eenantibiotica database zoals patiënten met meerdere toedieningen van eenzelfde antibioticum.

De voorbereidende architectuur moet bijgevolg al deze functies kunnen uitvoeren. Aangezienenkele van deze functies speci�ek voor de antibiotica database zijn, wat betekent dat voor anderedatabases er andere functies nodig kunnen zijn, ontwikkelen we een architectuur die modulairis. Hierdoor kunnen verschillende functies geïmplementeerd worden in hun eigen module. Dezemodule kan al dan niet gebruikt worden afhankelijk van de te onderzoeken case.

Page 43: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 30

3.5 Voorbereidende architectuur

3.5.1 Opbouw

Het uitgangspunt van de opbouw van de code die de voorbereidende stappen uitvoert is modula-riteit. Een andere mogelijkheid was performantie. De code moet echter niet real-time uitgevoerdworden. De uitvoering kan o�ine gebeuren. Daarnaast moet deze uitvoering niet regelmatiggebeuren. De code kan in enkele minuten antibiotica-data van 2 jaar verwerken. Deze redenenzorgen dat dit onderzoek zich kan richten op een modulaire opbouw zonder te hoeven inzittenmet de afweging tussen modulariteit en rekentijd.

De code is gebouwd rond een work�ow (de onderste rij modules in �guur 3.3). Ieder blokvan deze work�ow kan geïmplementeerd worden door één of meerdere modules. Het volledigeprogramma wordt gestuurd door een main module. De main module zorgt voor de controlevan de work�ow. Uit een con�guratiebestand leest de mainmodule welke modules voor iederefase in de work�ow gebruikt moeten worden. Daarnaast houdt de mainmodule een logbestand bij.

De datastructuren werden in aparte modules ondergebracht (de bovenste rij modules in �guur3.3). De work�ow modules werken op deze datastructuren in. De datastructuren hebben zoweinig mogelijk velden gede�nieerd zodat deze eenvoudig voor andere databases gebruikt kunnenworden. Indien andere velden dan deze die gede�nieerd zijn, belangrijk zijn voor het onderzoek,komen zij in een lijst of array genaamd 'params' te staan.

Event Event is een module waarin informatie rond een antibioticumtoediening wordt opge-slagen. Iedere toediening omvat een patiëntennummer, antibioticumnaam, startdatumorderdatum en einddatum. Daarnaast kunnen parameters eigen aan de toediening in delijst 'params' geplaatst worden. Een voorbeeld is de parameter voorschrijvende arts.

Sequence Sequence is een module waarin informatie rond een behandeling van een patiëntwordt opgeslagen. Iedere behandeling omvat een sequentie van events, in dit geval dus eensequentie van antibioticum toedieningen.

Pattern Een pattern stelt een deel van een sequentie voor. Deze patterns worden aangemaaktdoor de �lter module op basis van de sequenties. De patterns bevatten enkel de patronendie bestudeerd zullen worden in de verdere data mining (bvb. enkel de patronen met lengtetwee).

Support Aangezien de parameters van een patroon gegenereerd moeten worden, moet vooriedere patroon de sequenties waarin dit patroon voorkomt onthouden worden. Naast desequentie waar dit patroon voorkomt, wordt ook een lijst met parameters bijgehoudendie bij dit patroon horen. Voorbeelden van deze parameters zijn CRP, thrombocyten,�brinogeen en WBC.

In �guur 3.3 wordt de interactie van de modules met de datastructuren getoond via een streep-jeslijn. De pijl op deze lijn toont de richting waarin de informatie vloeit. De reader modulemaakt bijvoorbeeld events aan. De translator module past events aan en de sequencer moduleleest events uit om sequenties te maken. De modules worden uitgebreid besproken vanaf sectie3.5.3.

Page 44: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 31

Voorbereidende architectuur

«interface»

Reader

«interface»

Translator

«interface»

Merger

«interface»

Splitter

«interface»

Reporter

«interface»

Filter

«interface»

Sequencer

«interface»

Parameter

-id

-name

-start_time

-order_time

-end_time

-params

Event

-sequence_list

Sequence

-pattern

-support

Pattern

-sequence

-params

Support

Intensieve

zorg

informatie

systeem

(IZIS)

Data mining in WEKA

Data mining

algoritmes

C4.5 Ripper Bayes

IB1Percep-

tron...

ARFF bestand

CSV bestand met CRP, thrombocyten, fibrinogeen en WBC

CSV bestand met

antibioticum toedieningen

Datastructuren

Modules

Eigenschappen database

Vertaaltabel

Figuur 3.3: Modulaire opbouw van de voorbereidende code

De input van het programma zijn de volgende bestanden:

Antibioticum toedieningen De dataset zoals die ontvangen werd van het UZ Gent. Meerinformatie rond de structuur van deze dataset kan gevonden worden in 3.4.1.

Parameters De parameters werden ontvangen in een CSV structuur. Meer informatie rond destructuur van deze dataset kan gevonden worden in 3.4.1.

Vertaaltabel Zoals beschreven in 3.4.2.1 moeten de namen zoals gevonden in de origineledataset vertaald worden naar de merknaam, generische naam of de ingekorte generischenaam. Hiervoor wordt een bestand gebruikt met verschillende kolommen. Iedere kolomgeeft een bepaalde vertaling. Toedieningen met namen die vertaald worden naar eenblanco naam worden verwijderd. Op deze manier worden toedieningen van antivirale,antiparasitaire, ... middelen verwijderd uit de dataset. Dit bestand wordt handmatigaangemaakt.

Con�guratiebestand De plaats van de dataset, de vertaaltabel en verschillende parametersworden in een con�guratiebestand geplaatst. De naam van de verschillende modules diegebruikt moeten worden in de work�ow, worden ook in het con�guratiebestand geplaatst.Hieronder wordt een extract uit dit con�guratiebestand getoond. De main functie leesthieruit onder andere dat het de csv reader moet gebruiken en een reporter die een WEKA�le produceert. Daarnaast worden ook de paden naar de verschillende input bestandenbepaald. In het extract is een voorbeeld voor de vertaaltabel opgenomen.

Page 45: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 32

[Parse]translator_column = 3class_merger = MergerAlphabeticmerge_time = 17280000.0class_reader = ReaderCsv[Paths]translator_�le = D:\TranslateFull.csv...[Report]class_reporter = ReporterWeka[Stats]class_�lter = FilterFirstAbclass_parameter = ParameterA

3.5.2 Programmeertaal

Een goede programmeertaal voor dit onderzoek moet eenvoudig om te programmeren en dus highlevel zijn. Voor dit onderzoek werd gekozen voor Python. Python is een geïnterpreteerde taal.Dit betekent dat de taal trager is dan gecompileerde talen, maar dit zorgt ervoor dat er een goedeoverdraagbaarheid is van de code. Daarnaast ondersteund Python dynamic typing. Python kangetest worden in een simpele interpreter. De code wordt geëvalueerd terwijl men typt. Daarnaastbiedt Python ook goede ondersteuning voor het dynamisch aanroepen van modules.

Python heeft als extra voordeel dat er veel modules bestaan ter uitbreiding. Een overzichtvan enkele belangrijke modules die in dit onderzoek werden gebruikt is hier onder te vinden.

scipy scipy is een wetenschappelijke module. Binnen dit onderzoek wordt deze module gebruiktom interpolaties te berekenen tussen de parameters.

numpy numpy is een wiskundige module. Deze module wordt gebruikt door scipy en doormatplotlib.

matplotlib matplotlib is een plotting module. Deze module kan gebruikt worden om histo-grammen te tekenen van de data.

3.5.3 Reader

De reader module leest iedere lijn uit de dataset in en zet dit om naar een Event object. Degebruikte reader module leest de data in uit CSV formaat. Naast de essentiële velden van eenEvent object ( ID, naam, starttijdstip, ordertijdstip en annulatietijdstip) kunnen ook parametersingelezen worden in de 'params' lijst. 'Voorschrijvende arts' is een voorbeeld van een parameterdie ingelezen wordt via de reader module. Parameters die zich niet in dit CSV bestand bevinden,worden ingelezen door de parameter module (zie later).

3.5.4 Translator

De translator module begint met het inlezen van de vertaaltabel. Daarna wordt voor iederEvent-object de originele naam (zoals gevonden in de database) vertaald naar de merknaamof de generische naam. Indien de vertaaltabel voor een bepaalde originele naam als vertalingeen lege string bevat, dan verwijderd de translator dit Event object. Dit mechanisme wordtgebruikt om antivirale, antiseptische, ... middelen uit de database te �lteren. De locatie vande vertaaltabel en de kolom in de vertaaltabel die moet gebruikt worden, wordt ingesteld in hetcon�guratiebestand.

Page 46: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 33

3.5.5 Sequencer

De sequencermodule vormt voor iedere patiënt de bijhorende sequentie gesorteerd op ordertijd-stip.

3.5.6 Merger

De merger overloopt iedere sequentie en voegt toedieningen van hetzelfde antibioticum die minderdan 48u na elkaar liggen samen tot één toediening. Deze 48u tussentijd is een parameter die inde con�guratie�le kan worden aangepast. De werking van de merger werd ook getoond in �guur3.1.

3.5.7 Splitter

De splitter overloopt opnieuw alle behandelingen en zal bij opeenvolgende toedieningen die meerdan een bepaalde tijd uit elkaar liggen, de behandeling splitsen in twee behandelingen. Dewerking van de splitter werd ook getoond in �guur 3.2. Aangezien de invloed van voorgaandeantibiotica echter steeds wordt beschouwd ongeacht de tijd die verstreken is, worden behande-lingen in dit onderzoek niet gesplitst.

3.5.8 Filter

De �lter loopt doorheen alle sequenties en zoekt naar speci�eke patronen. Van de patronen dieaan de speci�caties voldoen, wordt een pattern-object aangemaakt.

Er zijn verschillende mogelijkheden voor de speci�caties van de patronen. De meeste �ltersdie ontworpen werden, zijn bedoeld om de eerder vastgelegde cases te bestuderen. Er zijn echterook nog andere �lters mogelijk afhankelijk van de gewenste output.

3.5.8.1 Eerste antibioticum

Deze �lter loopt alle sequenties af en plaatst het eerste antibioticum in het juiste pattern-object.Indien het pattern-object nog niet bestaat, wordt dit aangemaakt.

3.5.8.2 Willekeurig antibioticum

Deze �lter loopt alle sequenties af en plaatst ieder antibioticum in het juiste pattern-object.Indien het pattern-object nog niet bestaat, wordt dit aangemaakt.

3.5.8.3 Twee antibiotica

Deze �lter loopt alle sequenties af en plaatst twee opeenvolgende antibiotica in het juiste pattern-object. Indien het pattern-object nog niet bestaat, wordt dit aangemaakt.

3.5.8.4 Twee antibiotica waarvan het eerste werd vastgelegd

Deze �lter loopt alle sequenties af en plaatst twee opeenvolgende antibiotica - waarvan het eersteantibioticum een bepaalde naam heeft - in het juiste pattern-object. Indien het pattern-objectnog niet bestaat, wordt dit aangemaakt. De naam voor het eerste antibioticum wordt vastgelegdin de con�guratie�le.

Page 47: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 34

3.5.8.5 Tellen van patronen

Het tellen van patronen is een �lter dat de langste, vaakst voorkomende patronen uit de sequentieszoekt en in een pattern object plaatst. Het algoritme dat gebruikt werd voor het tellen van vaakvoorkomende patronen is gebaseerd op bestaande algoritmes [23][24]. De voorgestelde methodescant de database twee maal namelijk in de eerste scan en in de tweede scan. Vervolgens wordtalles in het geheugen berekend met behulp van de tabel uit de tweede scan.

Eerste scan In een eerste scan van de database wordt voor ieder antibioticum een lijst metde sequenties waar deze in voorkomen opgeslaan. Een voorbeeld kan gevonden worden in tabel3.7. Na de eerste scan worden de antibiotica waarvan de ondersteuning kleiner is dan een voorafbepaalde hoeveelheid (mininum support) verwijderd.

Ondersteuning

Augmentin Sequentie 1, Sequentie 2

Meronem Sequentie 2

Tabel 3.7: Eerste scan van de database

Tweede scan De tweede scan zal voor iedere combinatie van antibiotica uit de eerste scanzoeken naar de sequenties waarin deze combinatie voorkomt. Hiervoor moeten enkel de sequentiesbekeken worden die in de ondersteuning zitten van zowel het eerste als het tweede antibioticum.Na deze tweede scan zullen combinaties die minder vaak voorkomen dan de minimum supportverwijderd worden.

Augmentin Meronem

Augmentin Sequentie 1 Sequentie 2

Meronem - Sequentie 2

Tabel 3.8: Tweede scan van de database

Finale fase Om de mogelijke ondersteuning van een patroon met lengte n te kennen, nemenwe de doorsnede van twee patronen met lengte n-1. Een voorbeeld is uitgewerkt in tabel 3.9.Indien het patroon van lengte n voldoet aan de mininum support, wordt dit patroon opgeslagenen kan het gebruikt worden om patronen van lengte n+1 te zoeken.

Lengte patroon Patroon Mogelijke ondersteuning Ondersteuning

2 A-B Sequentie 1, Sequentie 2, Sequentie 5

B-C Sequentie 1, Sequentie 2, Sequentie 5, Sequentie 3

C-D Sequentie 2, Sequentie 3, Sequentie 6

3 A-B-C Sequentie 1, Sequentie 2, Sequentie 5 Sequentie 1, Sequentie 2

B-C-D Sequentie 2, Sequentie 3 Sequentie 2, Sequentie 3

4 A-B-C-D Sequentie 2 ?

Tabel 3.9: Finale fase van het zoeken naar vaak voorkomende patronen

Kuisen Als laatste stap worden de gevonden patronen ge�lterd. Het is immers zo dat in delijst met patronen die voldoen aan de minimum support, patronen met verschillende lengtesvoorkomen. Indien een patroon met lengte n voorkomt, zullen de twee patronen met lengten-1 waaruit dit patroon bestaat ook voorkomen in deze lijst. De twee kortere patronen wordenverwijderd uit de lijst aangezien we zoeken naar de langste patronen met een minimum support.

Page 48: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 35

3.5.9 Parameter

De parameter module loopt alle patronen af en voegt bij deze patronen parameters. Er kunnenook meerdere parameter modules gebruikt worden. Deze modules vullen steeds de lijst 'params'van het Support-object aan. De parameter module gebruikt voor CRP, WBC, thrombocyten en�brinogeen, noemde in dit onderzoek arbitrair parameterA

parameterA De parameterA module bekijkt alle metingen van een patiënt en gebruikt nearest-neighbour interpolatie om een waarde voor de parameter te bepalen voor een bepaalde patiënt.

3.5.10 Reporter

De reporter module zorgt dat de output naar ieder gewenst formaat kan worden omgezet. Hetvoordeel hiervan is dat ook formaten uit andere software dan WEKA ondersteund kan worden.

ARFF Het meest gebruikte output-formaat binnen dit onderzoek is ARFF. ARFF (Attribute-Relation File Format) is het formaat dat binnen WEKA gebruikt wordt. Een voorbeeld van eenARFF bestand wordt hieronder getoond.

@RELATION antibiotics

@ATTRIBUTE antibioticum {"Zyvoxid","Tazocin","Zinacef"}@ATTRIBUTE voorschrijvende_arts {"Arts-gso","Arts-Adj Kliniekhoofd","Arts-sta�id"}@ATTRIBUTE crp NUMERIC@ATTRIBUTE thrombocyten NUMERIC@ATTRIBUTE �brinogeen NUMERIC@ATTRIBUTE wbc NUMERIC

@DATA"Zyvoxid","Arts-gso",4.5,390,?,18.04"Tazocin","Arts-sta�id",3.4,370.0,211.0,10.68"Zinacef","Arts-Adj Kliniekhoofd",19.9,408.0,212.0,17.84"Zyvoxid","Arts-gso",1.2,363.0,161.0,20.68

CSV Het CSV formaat kan gemakkelijk worden geïmporteerd in Microsoft O�ce Excel. Bij-gevolg kunnen er gemakkelijk gra�eken, histogrammen, gegenereerd worden. Ook om bepaaldestatistische eigenschappen (bvb. variantie, minimum, maximum, ...) van de dataset te berekenenbiedt Excel een voordeel.

Afbeeldingen Met behulp van de matplotlib module is het mogelijk om rechtstreeks histo-grammen te genereren zonder de tussenkomst van Excel.

Eigenschappen De eigenschappen module genereert verschillende eigenschappen van de da-tabase zoals de gemiddelde duurtijd van een toediening, de lengte van de behandelingen, ... . Zokunnen fouten zoals bijvoorbeeld een negatieve duurtijd van een toediening (het eindtijdstip ligtvoor het begintijdstip) ontdekt worden.

3.6 Aanpassingen bij verandering dataset

Het doel van de opgestelde architectuur was dat deze eenvoudig kan gebruikt worden voor anderesituaties. In deze sectie overlopen we verschillende situaties en de aanpassingen die nodig zijn.

Page 49: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 3. PATROONHERKENNING BIJ ANTIBIOTICA-THERAPIEËN 36

3.6.1 Toevoegen van een nieuwe parameter

Er zijn twee types parameters. Ten eerste kunnen er extra parameters in de tabel met an-tibioticum toedieningen staan zoals bijvoorbeeld de dosis. De reader module moet hierbijaangepast worden om de extra kolom in te lezen en toe te voegen aan de parameter lijst (ofarray) van het Event object. Doordat de parameters worden bijgehouden in een gesorteerdelijst, kunnen meerdere parameters toegevoegd worden zonder dat de overige modules aangepastmoeten worden. De reporter module die het ARFF bestand bouwt voor gebruik in WEKAdetecteert automatisch het type parameter en voegt dit toe aan het ARFF bestand.

Een ander type parameter is van de vorm CRP, thrombocyten, �brinogeen of WBC. Dezemoeten uit een aparte tabel uitgelezen worden. Indien de tabel dezelfde vorm heeft als éénvan voorgaande parameters, kan deze direct ingelezen worden. Indien de tabel een andere vormheeft moet een nieuwe parameter-module geschreven worden. In het con�guratiebestand wordt'class_parameter' aangepast naar de naam van de nieuwe module (zie �guur ??). De main-module zal vervolgens automatisch deze module gebruiken om de voorbereiding uit te voeren.

3.6.2 Toevoegen van een voorbereidingsmodule

In dit onderzoek was er nood aan een merger module, splitter module en een translator module.Deze werden vervolgens geïmplementeerd. Een andere dataset kan echter andere voorbereidingenvereisen. Indien dit het geval is, kan een nieuwe module geprogrammeerd worden en toegevoegdworden aan de main-�le. Aangezien de datastructuren ongewijzigd blijven, zullen er geenaanpassingen nodig zijn aan de overige modules.

3.6.3 Keuze van een andere case

In dit onderzoek werd gewerkt met vier cases. Voor iedere case werd een �lter module geschre-ven. Indien een andere case geselecteerd wordt zoals een case met drie antibiotica, moet eennieuwe �ltermodule geschreven worden en de naam ervan in de con�guratie�le geplaatst worden.Aangezien het pattern object geen eisen stelt aan de lengte van het pattern kunnen alle overigemodules herbruikt worden.

3.6.4 Keuze van een andere data mining tool

Dit onderzoek werkt met de WEKA data mining tool. Naast WEKA zijn er echter nog vele anderedata mining suites op de markt. Indien een andere data mining suite gekozen wordt, moet er eennieuwe reportermodule geprogrammeerd worden die het juiste bestandsformaat genereert. Denaam van deze module kan in het con�guratiebestand geplaatst worden onder 'class_reporter'zonder aanpassingen aan de overige modules of aan de main module.

3.7 Data mining met WEKA

De voorbereidende software levert een ARFF bestand op. Dit bestand kan rechtstreeks uitgelezenworden in WEKA. WEKA start met de mogelijkheid om verdere voorbereiding op de datate doen. Aangezien de voorbereiding al gedaan werd in de software, is dit echter niet nodig.In een tweede stap kunnen de algoritmes geselecteerd worden, de evaluatiemethode (cross-foldvalidation) en de parameters van de algoritmes.

Als output geeft WEKA verschillende statistieken omtrent de correctheid van de voorspel-lingen gedaan door de algoritmes.

Page 50: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 4

Resultaten

4.1 Inleiding

Dit hoofdstuk behandelt de resultaten van de patroonherkenning op de database met antibioticatoedieningen na het uitvoeren van de voorbereidende stappen (incorrecte waarden, ontbrekendewaarden en de relaties in de database ontplooien). Om een duidelijk beeld te geven van dedatabase toont sectie 4.2 een overzicht van de eigenschappen van de database zelf. Deze ei-genschappen werden met de eigenschappen reporter module gegenereerd uit de voorbereidendearchitectuur. Sectie 4.3 gaat in op de resultaten van de data mining op deze database. Deprestaties van verschillende algoritmes wordt met elkaar vergeleken. Daarnaast wordt het e�ectvan de parameters van de algoritmes op de prestaties bestudeerd. Om de haalbaarheid vandata mining in de praktijk aan te tonen, handelt sectie 4.4 over de prestaties in de betekenisvan rekentijd. Als laatste wordt in sectie 4.5 de terugkoppeling gedaan naar de medischebruikbaarheid. Er wordt aangetoond dat de gevonden patronen wel degelijk realistisch zijnen vanuit een medische context kunnen verklaard worden.

4.2 Eigenschappen van de dataset

4.2.1 Algemeen

Tabel 4.1 toont enkele eigenschappen van de database. We maken hierin een onderscheidtussen de database zoals deze ontvangen werd (tussen haakjes) en de database na vertalingnaar de exacte merknaam van het antibioticum. Aangezien deze vertaling ook niet-antibiotica(antivirale, antiparasitaire, ... middelen) uit de database �ltert omdat we ons concentreren opantibiotica, daalt het aantal patiënten in de uiteindelijke database met 19% tot 3920, ook hettotaal aantal toedieningen daalt met 17%. Het belangrijkste voordeel van de vertaling is dat hetaantal verschillende antibiotica daalt met 74%. Hierdoor is er per antibioticum een hoger aantalvoorbeelden en is het zodoende gemakkelijker om voor deze antibiotica een patroon te vinden.

Aantal patiënten 3920 / (4839)

Aantal toedieningen van antibiotica 14219 / (17231)

Aantal antibiotica 38 / (148)

Periode van toedieningen 2008-2009

Aantal artsen 169

Aantal functies van artsen 13

Informatie van de antibiotica (bits) 4.14

Tabel 4.1: Overzicht van de database met voorschriften van antibiotica

De overige vier tabellen met de waarden van CRP, thrombocyten, �brinogeen en WBC

37

Page 51: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 38

bevatten enkel numerieke waarden. Hieruit berekenen we enkele statistische eigenschappen (tabel4.2). De variantie bij zowel thrombocyten als bij �brinogeen blijkt zeer hoog te zijn. Hierdoorontstaat het vermoeden dat er verkeerde registraties in de database zijn opgetreden. Bij navraagbleek vooral de hoge waarde van �brinogeen (77 000) onmogelijk te zijn. Ondanks het feit dateen vereiste voor data mining algoritmes robuustheid tegen ruis is, kan het �lteren van ruisaanleiding geven tot betere prestaties.

CRP Thrombocyten Fibrinogeen WBC

Aantal datapunten 139 428 162 384 270 990 271 170

Minimum 0.08 20 2 0.07

Maximum 73.60 1800 77 000 323.27

Gemiddelde 9.88 477.90 219.86 12.75

Variantie 80.45 48 924.48 47 760.12 96.20

Tabel 4.2: Overzicht van de databases met de parameters CRP, thrombocyten, �brinogeen enWBC

4.2.2 Fouten en ontbrekende waarden

In de ontvangen database komen verschillende incorrecte en ontbrekende waarden voor. Tabel4.3 toont hoe frequent ontbrekende waarden in de database voorkomen. Hierbij is de relatievefrequentie van het ontbreken van de arts gezien tegenover het totaal aantal toedieningen. Derelatieve frequentie van de ontbrekende waarden bij de overige parameters zijn berekend tegenoverhet totaal aantal patiënten. Het kan voorkomen dat voor een bepaalde toediening er geenmetingen zijn van deze overige parameters in de onmiddelijke nabijheid, bijvoorbeeld dat ergeen waarde voor CRP is gemeten binnen de 24u voor of na een toediening. Deze gevallen zijnniet opgenomen in tabel 4.3 .

Ontbrekende waarde Absolute frequentie Relatieve frequentie

Arts 1 0.00 %

CRP 333 8 %

Thrombocyten 472 12 %

Fibrinogeen 261 7 %

WBC 267 7 %

Tabel 4.3: Ontbrekende waarden in de database

Tabel 4.4 toont het aantal incorrecte waarden in de database die kunnen gedetecteerd worden.Incorrecte waardes voor parameters zoals CRP, thrombocyten, �brinogeen of WBC kunnen nietgedetecteerd worden tenzij deze incorrecte waardes ver buiten de normale range vallen zoalsbijvoorbeeld de waarde van 77 000 voor �brinogeen (tabel 4.2). Wat opvalt is het aantal instantieswaarbij de ordertijd na de starttijd van de toediening valt. De invloed van deze fout op dedata mining is echter klein aangezien de ordertijd enkel gebruikt wordt om de waarde van deparameters te bepalen via nearest neighbour.

Foute waarden Absolute frequentie Relatieve frequentie

Eindtijd van de behandeling valt voor starttijd 757 8 %

Ordertijd valt na de starttijd van de toediening 7826 83 %

Tabel 4.4: Fouten in de database

Aangezien er fouten en ontbrekende waarden in de database zitten, is dit een oorzaak van

Page 52: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 39

ruis. Daarnaast zijn de parameters CRP, thrombocyten, �brinogeen en WBC onvoldoende omeen antibioticum te voorspellen. Om een goede voorspelling te maken, zou bijvoorbeeld hetantibiogram of de geschiedenis van de patiënt beschouwd moeten worden. Het antibiogramwordt niet in IZIS opgeslagen maar in het General Laboratory Information Management System(GLIMS), het laboratorium informatie systeem (LIS) van het UZ Gent. De geschiedenis van eenpatiënt daarentegen wordt niet gestructureerd bijgehouden in IZIS waardoor deze geschiedenisop dit moment niet automatisch verwerkt kan worden.

Het feit dat de vier gebruikte parameters het antibioticum niet volledig bepalen, is ook eenvorm van ruis. Indien bijvoorbeeld voor twee toedieningen de waarden van de vier parametersidentiek zijn maar het gegeven antibioticum niet, dan zal dit in vele gevallen zijn doordat degeschiedenis, het antibiogram of andere externe parameters verschillen.

4.2.3 Eigenschappen per case

Iedere case heeft andere eigenschappen. Een belangrijke eigenschap is het aantal verschillendeantibiotica. Hoe meer verschillende antibiotica in een case voorspeld moeten worden, hoemoeilijker de voorspelling is. Indien er bijvoorbeeld twee antibiotica voorkomen, heeft een randomvoorspeller een kans van 50% om het juiste antibioticum te voorspellen. Indien er echter vierverschillende antibiotica voorkomen, heeft een random voorspeller nog maar 25% kans om hetjuiste antibioticum te voorspellen.Daarnaast bevat ook niet iedere case evenveel instanties. Cases met meer instanties zullen betervoorspelbaar zijn dan cases met weinig instanties. Daarnaast is het aantal instanties in een caseook bepalend voor de rekentijd van zowel de voorbereidende architectuur als de data miningalgoritmes.

Case Aantal verschillende antibiotica Aantal instanties

Eerste antibioticum 37 3920

Eén antibioticum 38 9422

Volgend antibioticum 19 3610

Antibioticum na Zinacef 24 237

Tabel 4.5: Eigenschappen per case

4.2.4 Aantal antibiotica per behandeling

Figuur 4.1 toont het aantal antibiotica die per patiënt werden gegeven. Het gaat hier over hetaantal toedieningen nadat de merger toedieningen van één antibioticum die dicht bij elkaar inde tijd liggen, samengenomen heeft.

Het grootste deel van de patiënten (51 %) kreeg maar één antibioticum toegediend. 20 %van de patiënten kregen twee antibiotica en nog maar 10 % kreeg drie antibiotica. Deze cijfersleggen een beperking op het onderzoek naar sequenties van antibiotica. Om sequenties vanbijvoorbeeld drie antibiotica te voorspellen is er nog maar een populatie van 402 patiënten. Dezepopulatie is te klein om de behandeling te kunnen modeleren via data mining met de huidigeset van parameters en de hoeveelheid ruis. We zullen dus maximale sequenties van lengte tweebeschouwen om data mining op uit te voeren. Dit betekent dat we bij het onderzoek enkel hetvoorgaande antibioticum zullen beschouwen als geschiedenis van de patiënt (dit is case volgendantibioticum) en bijvoorbeeld niet de twee voorgaand antibiotica.

Page 53: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 40

Figuur 4.1: Aantal antibiotica in een behandeling

4.2.5 Verdeling van de parameters rond het ordertijdstip

De parameters (CRP, thrombocyten, �brinogeen en WBC) worden niet gemeten op het tijdstipvan het order tot de toediening van een antibioticum. Deze parameters worden vaak éénmaal perdag gemeten en geregistreerd. De voorbereidende software heeft als taak uit de geregistreerdeparameters een waarde toe te kennen aan het ordertijdstip van toediening. De voorbereidendearchitectuur gebruikt hiervoor nearest neighbour interpolatie. Figuur 4.2 toont enkele specialegevallen van deze interpolatie bij het bepalen van de waarden van de thrombocyten. De waardenvan de parameters in de tijd is weergegeven door punten. De verticale lijn toont het tijdstip vanhet voorschrijven van het antibioticum.

Page 54: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 41

(a) Enkel waardes van thrombocyten na het order voor toediening vande antibiotica

(b) Verschillende waardes van thrombocyten op eenzelfde moment

(c) Stijging of daling van de thrombocyten is onduidelijk gede�nieerd

Figuur 4.2: Toekenning van waardes aan het ordertijdstip van een toediening

Page 55: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 42

Figuur 4.2a toont het geval waarbij geen waardes geregistreerd zijn op het ordertijdstip.Indien dit het geval is wordt de eerstvolgende waarde gekozen. Vaak zijn ook dubbelzinnighedenin de database aanwezig zoals gezien in �guur 4.2b . In dit geval wordt willekeurig één van beidewaardes gekozen.

De keuze om een absolute waarde van een parameter te gebruiken in de voorspelling vanantibiotica heeft een dubbele reden. Ten eerste bleek dat medische beslissingen vaak wordengenomen indien een waarde hoog of laag is, niet indien een waarde daalt of stijgt. Ten tweedeis deze stijging en daling meestal niet duidelijk uit de parameters. Dit wordt duidelijk in �guur4.2c. Indien we kijken naar de vorige waarde, zien we een duidelijke stijging, indien we echterkijken naar de waarden voordien, zien we dat de parameter eerder gedaald is. De interpretatievan deze situatie hangt af van de geschiedenis in de behandeling (wat heeft de daling en daaropvolgende stijging veroorzaakt?). Er kan echter wel besloten worden dat deze parameter eerderhoog is.

4.2.6 Vaak voorkomende patronen

Om vaak voorkomende patronen te vinden, gebruiken we de �lter beschreven in 3.5.8.5. Deparameter voor deze zoektocht is de minimum support parameter. Deze bepaalt hoe vaak eenpatroon zich moet voordoen alvorens 'vaak voorkomend' te zijn. Tabel 4.6 toont per waarde vande minimale support de top drie van vaakst voorkomende patronen van maximale lengte. Merkop dat het tellen van de patronen gebeurt na het mergen.

Minimale support Patroon Voorkomen

500

Augmentin 1341

Tazocin 1072

Zinacef 937

100

Augmentin, Tazocin 181

Meronem, Vancocin 140

Tazocin, Meronem 136

25

Vancocin, Meronem, Vancocin 43

Targocid, Meronem, Targocid 32

Meronem, Targocid, Meronem 27

10

Meronem, Vancocin, Meronem, Vancocin 17

Meronem, Targocid, Meronem, Targocid 15

Tazocin, Vancocin, Meronem, Vancocin 10

Tabel 4.6: Vaak voorkomende patronen in de dataset volgens minimale support

Indien we een hogere minimale support instellen, vinden we enkel korte patronen. Een lageminimale support geeft langere patronen maar deze patronen zijn statistisch minder relevant.Er dient bijgevolg een afweging gemaakt te worden tussen de lengte van de gezocht patronenen de statistische relevantie. Uit tabel 4.6 zien we dat een minimale support van 100 een goedeafweging is.

4.2.7 Eén antibioticum

Figuur 4.3 toont een overzicht van de gebruikte antibiotica in de database. Figuur 4.3a toont degebruikte antibiotica bij behandelingen die bestaan uit één antibioticum. Figuur 4.3b daarente-

Page 56: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 43

gen toont de gebruikte antibiotica uit behandelingen van iedere lengte.

Zoals ook eerder gezien in tabel 4.6 komen Augmentin, Tazocin en Zinacef het vaakst voor.Merk op dat de getallen in de gra�ek hoger zijn dan de getallen gevonden via vaak voorkomendepatronen. Het verschil komt doordat vaak voorkomende patronen rekening houden met het aantalpatiënten waar een patroon voorkomt. De cijfers uit de gra�ek zijn de frequentie van voorkomenvan een patroon. Indien een patiënt bijgevolg tweemaal eenzelfde antibioticum kreeg, wordt ditin vaak voorkomende patronen gerekend als één voorkomen, terwijl dit in de gra�ek als tweevoorkomens geteld wordt.

Uit de �guur zien we ook dat bepaalde antibiotica niet vaak alleen voorkomen, bijvoorbeeldMeronem en Vancocin.

Page 57: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 44

(a) Overzicht van de antibiotica in behandelingen bestaande uit één antibioticum

(b) Overzicht van de antibiotica in behandelingen bestaande uit meerdere antibiotica

Figuur 4.3: Overzicht van de gegeven antibiotica

Figuur 4.4 toont het eerste antibioticum van een behandeling. Deze gra�ek komt sterkovereen met de gra�ek uit �guur 4.3a. Dit komt onder meer doordat een zeer groot deel vande populatie bestaat uit patiënten met een behandeling van lengte één. Daarnaast is de startvan een behandeling vaak onafhankelijk van het verdere verloop. Een patiënt krijgt bijvoorbeeldantibioticum A en krijgt vervolgens antibioticum B indien zijn toestand niet verbetert. Indienzijn toestand verbetert krijgt deze patiënt geen antibiotica meer.

Page 58: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 45

Figuur 4.4: Het eerste antibioticum in een behandeling

4.2.8 Twee antibiotica

Figuur 4.5 toont het vervolg van de behandeling na de drie meest voorkomende antibiotica bijbehandelingen die bestaan uit twee antibiotica. Uit �guur 4.3 zien we dat dit Augmentin, Tazocinen Zinacef zijn. Opnieuw moet opgemerkt worden dat er een verschil bestaat tussen de cijfersuit �guur 4.5 en de cijfers uit tabel 4.6. In de �guur werden enkel behandelingen van lengtetwee bestudeerd, de tabel beschouwt echter behandelingen van iedere lengte. Ondanks dezeverschillende benadering zien we dat vele patronen zowel in de �guur als in de tabel voorkomen.We zien dat het vervolg op deze drie meest voorkomende antibiotica met een hoge probabiliteitzou moeten voorspeld kunnen worden. Augmentin heeft bijvoorbeeld zeer veel kans om opgevolgdte worden door Tazocin.

Page 59: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 46

(a) Augmentin

(b) Tazocin

(c) Zinacef

Figuur 4.5: Vervolg na de drie meest voorkomende antibiotica.

4.3 Voorspellen van patronen

4.3.1 Vergelijking van de verschillende cases

Om de verschillen in de cases bloot te leggen, passen we één van de algoritmes op deze casestoe. De keuze van het algoritme is onbelangrijk aangezien we enkel het verschil tussen de caseswillen bestuderen en niet de maximale prestaties. We kiezen voor C4.5, een algoritme vanindustriële sterkte dat visualiseerbare beslissingsbomen kan bouwen. De success rate van de

Page 60: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 47

verschillende cases bij voorspelling door het algoritme C4.5 worden getoond in tabel 4.7. Bijdeze voorspellingen maken we gebruik van alle parameters (CRP, thrombocyten, �brinogeen enWBC). De parameters van C4.5 zijn de standaard parameters van WEKA.

Case Prestaties

Eerste antibioticum 25.74 %

Eén antibioticum 12.69 %

Volgende antibioticum 81.88 %

Antibioticum na Zinacef 17.30 %

Tabel 4.7: Prestatieverschillen tussen de cases

Tabel 4.7 toont dat de geschiedenis van een patiënt zeer belangrijk is. Indien het eersteantibioticum gekend is, kan het daaropvolgende met een hoge zekerheid (81.88 %) voorspeldworden. Het start antibioticum kan met een zekerheid van 25.74 % voorspeld worden. Dezezekerheid is hoger dan de voorspelling van één antibioticum aangezien het eerste antibioticumuit een behandeling vaak een antibioticum is met een breed spectrum (bv. Augmentin, Zinacef,...). Dit kan ook gezien worden door �guur 4.3b en �guur 4.4 te vergelijken. Deze laatste is betervoorspelbaar doordat er drie antibiotica een zeer hoge kans van voorkomen hebben.

De resultaten van het voorspellen van de case antibioticum na Zinacef kunnen verklaardworden als volgt. De voorspelbaarheid is hoger dan deze van één antibioticum aangezien degeschiedenis van de patiënt deels gekend is, het voorgaande antibioticum was namelijk Zinacef.De resultaten zijn echter veel slechter dan de case volgend antibioticum aangezien Zinacef eenbreed spectrum antibioticum is. De resultaten van de case twee antibiotica zijn namelijk eengemiddelde tussen het vervolg na een breed spectrum antibioticum zoals Zinacef, wat slechtvoorspelbaar is, en het vervolg na een smal spectrum antibioticum, wat zeer goed voorspelbaaris. Dit wordt ook duidelijk uit �guur 4.8.

4.3.2 Vergelijking van de algoritmes

De prestaties van de verschillende algoritmes vergelijken we aan de hand van twee cases. Teneerste nemen we een case waarbij de voorspelbaarheid van de data hoog is, namelijk case volgendantibioticum. Daarna kijken we of de prestaties van de algoritmes op deze case overeenkomenmet de prestaties van de voorspelling op een case met lage voorspelbaarheid, namelijk éénantibioticum. We kiezen opnieuw om de voorspelling steeds met standaard parameters uit tevoeren. Pas later kijken we naar het e�ect van de verschillende parameters. De standaardparameters zijn parameters waarvan uit studies gebleken is dat deze een goed resultaat geven opde gemiddelde databases.

4.3.2.1 Data met hoge voorspelbaarheid

Tabel 4.8 toont de resultaten van de voorspelling van de case volgend antibioticum. Het algoritmedat het beste presteert is OneR. De verklaring hiervoor is dat OneR gaat voorspellen met enkel hetvorige antibioticum als attribuut. Indien de andere attributen (CRP, thrombocyten, �brinogeenen WBC) ook gebruikt worden, komt over�tting voor. Van zodra er echter meerdere attributenzijn die de uitkomst bepalen, zal de prestatie van OneR verminderen. Het bayesiaanse netwerkpresteert gelijkaardig maar heeft geen problemen met meerdere attributen die de uitkomstbepalen.

C4.5 is een belangrijk algoritme aangezien C4.5 een visualiseerbare beslissingsboom weergeeften er dus conclusies getrokken kunnen worden uit deze boom (zie sectie 4.5). We merken dat de

Page 61: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 48

prestaties van C4.5 in de buurt van OneR en bayesiaanse netwerken liggen.

Adaboost M1 presteert heel wat slechter dan de andere algoritmes. De verklaring is datAdaboost M1 een aantal bomen bouwt waarbij iedere boom een subset van de attributen gebruiktbij de voorspelling. Er is echter maar één van de vijf attributen dat een goede voorspelling kanmaken. Adaboost M1 presteert hier dus zeer slecht want het kan de ene goede parameter nietonderscheiden van de overige parameters.

Algoritme Prestaties

C4.5 81.88 %

Random Forests 80.28 %

ZeroR 13.21 %

OneR 82.49 %

RIPPER 80.14 %

Naïeve bayes 80.78 %

Bayesiaans netwerk 82.33 %

Nearest-Neighbour 76.09 %

10-Nearest-Neighbour 82.22 %

Multilayer perceptron 81.22 %

Adaboost M1 met Decision Stump 26.40 %

Tabel 4.8: Voorspelling van case volgend antibioticum door verschillende algoritmes

4.3.2.2 Data met lage voorspelbaarheid

Tabel 4.9 toont de prestaties voor de voorspelling van één antibioticum. Deze data met lagevoorspelbaarheid heeft niet één attribuut die gebruikt kan worden voor de voorspelling. Daarompresteert OneR hier minder goed dan de overige algoritmes. De bayesiaanse netwerken presterenechter wel opnieuw zeer goed.

C4.5 presteert hier niet zo goed. De prestaties worden hier vooral tegengehouden doorover�tting. Over�tting is in deze situatie zeer nadelig aangezien er een grote hoeveelheid ruis opde data zit. Met behulp van de parameters kunnen prestaties echter sterk verbeterd worden (zie4.3.3).

Algoritme Prestaties

C4.5 12.69 %

Random Forests 12.47 %

ZeroR 15.10 %

OneR 13.67 %

RIPPER 15.11 %

Naïeve bayes 15.85 %

Bayesiaans netwerk 17.31 %

Nearest-Neighbour 9.08 %

10-Nearest-Neighbour 14.35 %

Multilayer perceptron 16.76 %

Adaboost M1 met Decision Stump 16.77 %

Tabel 4.9: Voorspelling van case één antibioticum door verschillende algoritmes

Page 62: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 49

4.3.2.3 Conclusie over de algoritmes

De prestaties van de algoritmes hangen sterk af van het type database. Indien één attribuutuit de subset de voorspelling sterk beïnvloed dan zullen sommige algoritmes hier goed overwegmee kunnen (bv. OneR). De situatie waarin een grotere set van attributen in gelijke matebijdraagt tot de voorspelling, zullen andere algoritmes gekozen moeten worden (bv. AdaboostM1). Bayesiaanse netwerken presteren echter sterk in beide gevallen.

4.3.3 E�ect van de parameters op de algoritmes

We bekijken het e�ect van de parameters van een algoritme op de prestaties ervan. Hiervoorkiezen we de case één antibioticum en het algoritme C4.5. De keuze voor C4.5 werd gemaaktdoor de visuele mogelijkheden. Uit de beslissingsboom die gegenereerd wordt, kunnen conclusiesgemaakt worden over het waarom van een voorspelling (zie ook sectie 4.5).

De con�dence is de mate waarin het algoritme gaat prunen en dus de boom zal reducerennaar een kleiner formaat na het bouwen van de boom.

Ook de grootte van de bladeren heeft op de grootte van de boom een invloed. Deze parameterbepaalt hoeveel instanties van de trainingsset er minimum moeten toekomen in een blad. Dewaarde van de parameters die cursief gedrukt staan, geven de standaardwaarde van WEKA aan.Deze standaardwaarden zijn gekozen om goed te presteren onder een groot aantal verschillendedatabases.

Con�dence Eén antibioticum

Prestaties Aantal bladeren

0.50 12.32 % 2286

0.40 12.35 % 2247

0.30 12.55 % 2129

0.25 12.69 % 2053

0.20 12.88 % 1955

0.15 13.40 % 1743

0.10 14.09 % 1408

0.05 16.01 % 392

0.025 18.10 % 83

0.01 18.65 % 49

0.001 18.87 % 15

Tabel 4.10: Invloed van de con�dence bij pruning

Page 63: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 50

Grootte Eén antibioticum

Prestaties Aantal bladeren

50 18.24 % 29

40 18.07 % 57

30 17.55 % 102

20 16.92 % 161

10 16.71 % 380

5 14.68 % 851

4 13.67 % 1149

3 13.31 % 1254

2 12.69 % 2053

1 10.68 % 3703

Tabel 4.11: Invloed van de grootte van de bladeren

Beide standaardparameters blijken ver van ideaal voor de gebruikte database. Dit komtomdat de database veel ruis bevat. Hierdoor ontstaat over�tting. Over�tting houdt in dat eenboom te goed aangepast is aan de trainingsdata, maar slecht presteert op nieuwe data. Doorde parameters aan te passen, kan over�tting voorkomen worden en zijn de prestaties hoger.Daarnaast is het eenvoudiger om conclusies te trekken uit de kleinere beslissingsbomen.

De test werd ook uitgevoerd na het aanpassen van beide parameters (con�dence: 0.001 engrootte: 50). De prestatie hiervan was 18.93 %. Beide parameters hebben dus een gelijkaardige�ect en slechts een kleine verbetering kan bekomen worden indien beide parameters tegelijkworden toegepast.

Als we beide parameters vergelijken dan zorgt con�dence voor een iets betere prestatie. Doorde grootte van de bladeren aan te passen wordt het bouwen van de beslissingsboom echter zeersterk versneld.

4.3.4 Vergelijking van de verschillende attributen

De verschillende attributen dragen niet evenveel bij tot de voorspelling van het antibioticum.Om de invloed van de verschillende attributen te testen, proberen we te voorspellen met iederattribuut apart. De resultaat zijn te vinden in tabel 4.12 . De testen werden gedaan met hetC4.5 algoritme met standaard grootte van de bladeren. De tabel toont de resultaten met tweeverschillende waarden voor de con�dence. Deze test kon niet uitgevoerd worden met bayesiaansenetwerken aangezien deze geen voorspellingen kunnen maken met één attribuut.

Attribuut Prestaties (con�dence = 0.25) Prestaties (con�dence = 0.001)

CRP 15.77 % 17.30 %

Thrombocyten 16.50 % 17.25 %

Fibrinogeen 14.74 % 16.16 %

WBC 12.18 % 15.88 %

Alle attributen 12.69 % 18.87 %

Tabel 4.12: Vergelijking van de verschillende parameters

Thrombocyten en CRP hebben de grootste invloed op de voorspelling van de algoritmes.Indien we de con�dence van C4.5 op de standaardwaarde laten staan, is de prestatie van devoorspelling van de volledige set van attributen lager dat de voorspelling met de attributenafzonderlijk. Indien we echter de con�dence reeds verlaagd hebben, is de voorspelling met

Page 64: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 51

alle attributen beter dan deze met de attributen afzonderlijk. Dit wordt verklaart doordathet aanpassen van de con�dence over�tting vermijdt. Indien de over�tting niet wordt vermetendoor de con�dence, dan wordt deze deels vermeden door het verwijderen van attributen.

4.4 Rekentijd

4.4.1 Voorbereidende stappen

Tabel 4.13 toont ons de benodigde rekentijd voor de voorbereidende stappen. We bekijken tweecases, namelijk case eerste antibioticum en case één antibioticum. Deze cases verschillen vooralin omvang van de populatie, respectievelijk 3920 en 9422 instanties. Figuur 4.6 toont de rekentijdvisueel. Enkel de tijden van de parameter, reader en sequencer zijn zichtbaar aangezien de overigetijden te kort zijn.

Stap Rekentijd (Eerste antibioticum) (s) Rekentijd (Eén antibioticum) (s)

Reader 1.95 s 1.90 s

Translator 0.00 s 0.00 s

Sequencer 12.18 s 11.58 s

Merger 0.10 s 0.11 s

Splitter 0.00 s 0.00 s

Filter 0.02 s 0.05 s

Parameter 48.92 s 52.00 s

Reporter 0.06 s 0.14 s

Tabel 4.13: Benodigde rekentijd voor de voorbereidende stappen

Figuur 4.6: Benodigde rekentijd voor de voorbereidende stappen

De rekentijd van de reader module zou in beide gevallen gelijk moeten zijn aangezien deinput dezelfde is. We zien een verschil van 0.05 seconden. Dit betekent dat er geen conclusiesgetrokken kunnen worden uit verschillen van deze grootorde. Ook de sequencer zou eenzelfderesultaat moeten geven. We zien echter een verschil van 0.6 seconden.

Bijgevolg kan enkel het verschil in tijd tussen de rekentijd van de parameter-module alssigni�cant gezien worden (3.08 s). Dit verschil kan eenvoudig verklaard worden door de toename

Page 65: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 52

in aantal instanties waarbij de nearest neighbour interpolatie moet berekend worden.Er moet nog opgemerkt worden dat de rekentijd zeer sterk af hangt van de manier waarop

de input gesorteerd is. De sequencer kan bijvoorbeeld veel langer duren indien de input nietgesorteerd is op ID en begintijdstip van de behandeling zoals in deze cases gebeurd is.

4.4.2 Data mining algoritmes

We vergelijken de rekentijd van de verschillende algoritmes met elkaar. Hiervoor gebruiken wede case volgend antibioticum en de case één antibiotica samen met de standaard parameters vanWEKA. De meetresultaten zijn terug te vinden in tabel 4.14. De twee cases verschillen sterk inomvang en complexiteit.

Algoritme Rekentijd (s)

Volgend antibioticum Eén antibioticum

C4.5 0.08 s 8.57 s

Random Forests 0.87 s 44.91 s

ZeroR 0.01 s 0.01 s

OneR 0.02 s 0.03 s

RIPPER 2.36 s 5.54 s

Naïeve bayes 0.03 s 0.04 s

Bayesiaans netwerk 0.07 s 0.07 s

Nearest-Neighbour 0 s 0 s

10-Nearest-Neighbour 0 s 0 s

Multilayer perceptron 245.16 s 370.83 s

Adaboost M1 met Decision Stump 0.05 s 0.11 s

Tabel 4.14: Voorspelling van case volgend antibioticum door verschillende algoritmes

Eerst en vooral moet opgemerkt worden dat de tijden van nearest neighbour algoritmes nulzijn aangezien voor deze algoritmes geen model wordt opgebouwd. Waar andere algoritmes vooralrekentijd vergen voor het bouwen van het model, nemen de nearest neighbour algoritmes vooralrekentijd in tijdens het zoeken van de dichtst bijzijnde instantie.

Multilayer perceptron blijkt een zeer lange rekentijd te vergen in beide cases. Indien weechter kijken naar tabel 4.8 en tabel 4.9, zien we dat de resultaten niet opmerkelijk beter zijn.De verklaring ligt in het feit dat de multilayer perceptron een zeer complex model is, gebouwdom de functie van het menselijk leren na te bootsen. De voorspellingen die in deze data miningcases gemaakt worden, zijn echter eenvoudige voorspellingen. In het extreme geval van de casevolgend antibioticum is de complexiteit zeer laag, de voorspelling hangt namelijk zeer sterk af vanhet voorgaande antibioticum. Zelfs in de case van één antibioticum is de multilayer perceptronte complex. De voorspelling kan namelijk vaak als een lineaire combinatie van de parametersuitgedrukt worden. De multilayer perceptron beschouwt echter ook niet-lineaire combinaties.

Indien we kijken naar de algoritmes die de beste combinatie van rekentijd en prestatiesneerzetten, zien we dat vooral het bayesiaanse netwerk uitspringt. Dit algoritme presteert inde twee cases zeer goed zonder aanpassingen aan parameters en bouwt modellen in een zeerkorte tijd. C4.5, het algoritme dat vooral belangrijk is voor de visualiseerbare beslissingsboom,heeft een redelijk lange rekentijd nodig. Indien we echter de parameter grootte van de bladerenaanpassen, kan deze rekentijd sterk verminderd worden.

Page 66: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 53

4.5 Feedback naar medische wereld

Zoals al eerder gezegd heeft C4.5 het voordeel dat er visualiseerbare beslissingsbomen kunnengebouwd worden. In deze sectie bekijken we enkele van deze bomen of delen van deze bomenen tonen we aan dat de gevonden bomen vanuit de geneeskunde verklaard kunnen worden. Debomen werden opgesteld met verschillende waarden van de parameters om zo bepaalde patronenduidelijk naar voor te brengen.

Figuur 4.7 werd gegenereerd uit de case eerste antibioticum. Hieruit blijkt dat de waarde vanCRP beslist wat het eerste antibioticum wordt. Indien de CRP laag is, wordt Augmentin voor-geschreven. Augmentin blijkt een breed spectrum antibioticum te zijn dat ook door huisartsenkan voorgeschreven worden. Een lage CRP wijst erop dat er geen infectie is. Dit antibioticumwordt dus uit voorzorg toegediend aan de patiënten die op intensieve zorg toekomen.

CRP

<= 3.2

> 3.2

Augmentin

WBC

Figuur 4.7: Belang van CRP bij de beslissing voor antibiotica.

Een grotere beslissingsboom is getoond in �guur 4.8. Deze boom werd gegenereerd uitde case volgend antibioticum. Wat opvalt is dat de voorspelling vaak enkel afhangt van hetvorige antibioticum. Deze voorspelling is daarbij meestal zeer accuraat. De voorspelling dater na Zyvoxid Tazocin wordt gegeven was bijvoorbeeld correct in alle 361 gevallen dat er eenantibioticum na Zyvoxid gegeven werd. Deze patronen zorgen ervoor dat de prestaties van dealgoritmes op deze case zeer hoog waren.

Naast dit type patronen zien we ook enkele antibiotica waarna er wel nog een beslissingsboomkomt (Ciproxine, Zinacef en Vancocin). Deze antibiotica zijn eerder breed spectrum antibiotica.

Page 67: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 54

Eerste

antibioticum

= Zyvoxid

= Tazocin

= Targocid

= Amukin

= Ciproxine

= Meronem

= Eusaprim

= Zinacef

= Tavanic

= Augmentin

= Colistineb

= Flagyl

= Vancocin

= Bactrim Forte

= Penicilline G

= Claforan

= Pentrexyl

= Dalacin C

Tazocin

Targocid

Meronem

Ciproxine

Vancocin

Tavanic

Augmentin

Zinacef

Glazidim

Bactrim Forte

Rifadine

Pentrexyl

Floxapen

Clamoxyl

Zinnat

WBC <= 8.07

> 8.07

Avelox

...

Thrombocyten <= 102

> 102

Ceftraxione

Claforan

> 278

<= 278

Dalacin C

...

Fibrinogeen

Figuur 4.8: Verschil tussen antibiotica met een breder spectrum en een smaller spectrum.

Als laatste toont �guur 4.9 het vervolg na een eerste toediening van Zinacef. Het blijktdat CRP opnieuw een beslissende factor is. Indien CRP laag is, slaat de behandeling aan enwordt de behandeling met Zinacef voortgezet. Indien de CRP hoog is, wordt er veranderd vanantibioticum.

Page 68: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 55

CRP

<= 8.1

> 8.2

Zinacef

Tazocin

Figuur 4.9: Belang van CRP bij de voortzetting van een antibioticum.

4.6 Samenvatting van de resultaten

Er zijn vier cases gede�nieerd die vervolgens bestudeerd werden namelijk case één antibioti-cum, eerste antibioticum, volgend antibioticum en antibioticum na Zinacef. De cases werdengeselecteerd vanwege hun verschillende eigenschappen.

De cases verschillen in de hoeveelheid data die zij bevatten, deze eigenschap werd gebruiktom de schaalbaarheid van de algoritmes op gebied van rekentijd te bestuderen.

Niet alle cases bevatten evenveel verschillende antibiotica. Bij de voorspelling van hetantibioticum werd vastgesteld dat er in totaal 148 verschillende antibiotica in de data warengede�nieerd. Door antibiotica te groeperen volgens merknaam en niet-antibiotica weg te �lteren,werd dit aantal verminderd tot 38. Dit betekent dat er per antibioticum een hoger aantalvoorbeelden zijn om de voorspelling op te baseren. Deze 38 verschillende antibiotica kwamenechter niet voor in iedere case. Hoe minder verschillende antibiotica moesten voorspeld worden,hoe hoger de voorspelbaarheid.

Bij sommige cases is er een kleine deel van de antibiotica die zeer vaak voorkomen. Om dit tebestuderen werden histogrammen gegenereerd. Hierin werd gezien dat bepaalde antibiotica zeervaak voorkomen (bv. Augmentin). Hetzelfde geld voor bepaalde combinaties van antibiotica(bv. Augmentin, Tazocin). Vaak voorkomende antibiotica zorgen dat de voorspelbaarheid vande case hoger wordt.

De verschillende cases bestuderen ook elk een verschillende situatie uit de dienst intensievezorg en kunnen gebruikt worden om medische besluiten uit te vormen zoals gedaan werd in sectie4.5.

Case één antibioticum De case heeft het grootste aantal verschillende antibiotica (38)maar bestaat ook uit de meeste instanties (9422). Het histogram toont veel antibiotica dievaak voorkomen (�guur 4.3b) zoals Augmentin, Meronem, Tazocin, Vancocin, Zinacef, ... Deparameters CRP, thrombocyten, �brinogeen en WBC voorspelden allen even goed na toepassingvan C4.5. Indien we het antibioticum wilden voorspellen met behulp van alle parameters, haddenwe een success rate van 12.69 %.

Case eerste antibioticum De case heeft 37 verschillende antibiotica en bestaat uit 3920instanties. Het histogram van de eerste antibiotica (�guur 4.4) toont echter dat Augmentinen Zinacef zeer vaak voorkomen. De parameters CRP, thrombocyten, �brinogeen en WBCvoorspelden allen even goed na toepassing van C4.5. De success rate bekomen met C4.5 indienalle parameters gebruikt werden, was 25.74 %. Dit is hoger dan de success rate van case éénantibioticum door het feit dat Augmentin en Zinacef zo vaak voorkomen.

Page 69: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 4. RESULTATEN 56

Case volgend antibioticum De case heeft 19 verschillende antibiotica. Dit is het laagsteaantal van alle cases. Deze case bestaat uit 3610 instanties. Eén parameter, namelijk voorgaandeantibioticum, bleek in staat goede voorspellingen te geven wanneer C4.5 werd toegepast. Dezeparameter was dan ook verantwoordelijk voor de success rate van 81.88 %. Deze case toonde hetbelang aan van de antibioticum geschiedenis van een patiënt.

Case antibiotica na Zinacef De case heeft 24 verschillende antibiotica en bestaat amper uit237 instanties. Als we kijken naar het histogram in �guur 4.5c, zien we dat Tazocin, Tavanic enAugmentin uitspringen. Er zijn echter wel relatief weinig instanties in deze case in vergelijkingmet de overige cases.

Afhankelijk van de eigenschappen van de cases, voorspelden bepaalde algoritmes beter dananderen. De bayesiaanse techniek voorspelde iedere case zeer goed en kan dan ook steedsaangeraden worden. Indien alle parameters een gelijke invloed hadden op de voorspelling (caseéén antibioticum, eerste antibioticum en antibioticum na Zinacef ) presteerde AdaBoost M1 zeergoed. Indien één parameter de voorspelling zeer sterk beïnvloedt, is OneR een zeer goede keuze.

Afhankelijk van de case moesten de parameters van C4.5 nog aangepast worden om goederesultaten te behalen. C4.5 is een waardevol algoritme ondanks de nood aan aanpassingen vande parameters vanwege de visualiseerbaarheid van de beslissingsboom. Zoals aangetoond in 4.5kan deze beslissingsboom gebruikt worden om medische conclusies uit te halen. Tabel 4.15 vatde samenvatting van deze vergelijking van de cases samen.

Case C4.5 Aantalantibioti-

ca

Groottevan decase

Keuze algoritme

Eersteantibioticum

25.74 % 37 3920 Bayesiaanse technieken,AdaBoost M1, C4.5

met aanpassing van deparameters

Eénantibioticum

12.69 % 38 9422 Bayesiaanse technieken,AdaBoost M1, C4.5

met aanpassing van deparameters

Volgendantibioticum

81.88 % 19 3610 Bayesiaanse technieken,C4.5, OneR

Antibioticumna Zinacef

17.30 % 24 237 Bayesiaanse technieken,AdaBoost M1, C4.5

met aanpassing van deparameters

Tabel 4.15: Samenvatting van de vergelijking van de verschillende cases

De totale rekentijd van de voorbereidende architectuur bij case één antibioticum ( 65.78seconden ) en case volgend antibioticum ( 63.23 seconden) beleven vergelijkbaar ondanks het feitdat de case sterk verschillen in grootte. De rekentijd van bayesiaanse netwerken was in beidecases gelijk ( 0.07 s). C4.5 schaalde echter minder goed waardoor een rekentijd van respectievelijk8.57 en 0.08 gehaald werd.

Page 70: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 5

Mogelijkheden voor verder onderzoek

5.1 Optimalisaties van de werkwijze

5.1.1 Voorbereidende architectuur

Door de relatief kleine database die gebruikt werd, was het niet nodig om de code van devoorbereidende architectuur te optimaliseren op gebied van snelheid. Indien er echter een veelgrotere database ( > 1 miljoen instanties) verwerkt moet worden, kan het nodig zijn om desnelheid te optimaliseren. Het kan zelfs nodig zijn om af te stappen van het tragere Python eneen gecompileerde taal zoals C++ te kiezen.

Ook op gebied van geheugengebruik is de applicatie niet zuinig. De volledige database wordtnamelijk in het geheugen gelezen en daar verwerkt. Bij grotere databases kan het nuttig zijnom de verwerking niet meer volledig in het geheugen te laten plaats vinden, maar steeds eenaantal instanties uit te lezen uit een database, te verwerken, de instanties te verwijderen uit hetgeheugen en nieuwe instanties in te lezen. Een programma dat op deze manier werkt zal echterveel trager zijn.

5.1.2 Data mining

In databases waar frequent instanties toegevoegd worden, kan het interessant zijn om data mininglive uit te voeren. Dit betekent dat het data mining model steeds wordt aangepast als er nieuweinstanties in de database worden geplaatst. Met de algoritmes die in dit onderzoek werdenbestudeerd zou dit betekenen dat het model steeds volledig opnieuw opgebouwd moet worden.Er bestaan echter algoritmes waarbij de modellen geüpdatet worden in plaats van opnieuwgebouwd te moeten worden [25]. Zo bestaat er een incrementele versie van de bayesiaansetechnieken. Naast andere algoritmes zal ook de voorbereidende architectuur hiervoor moetenworden aangepast.

In de database kwamen vaak ontbrekende waarden voor. In dit onderzoek was het de taakvan data mining algoritmes om met deze ontbrekende waarden om te gaan. Uit literatuur isechter gebleken dat het vaak beter is om deze ontbrekende waarden reeds op voorhand in tevullen [5].

Aangezien er in dit onderzoek vier parameters gebruikt werden, is er geen voorafgaandeattribuut selectie gebeurd. In datasets met vele attributen kan attribuut selectie zorgen vooreen betere prestatie, zowel een kortere rekentijd als een betere voorspelling, van de data miningalgoritmes [8].

57

Page 71: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 5. MOGELIJKHEDEN VOOR VERDER ONDERZOEK 58

5.2 Verdere onderzoek met de gebruikte database

5.2.1 Toevoeging van andere parameters

Functie van de artsen We kunnen de invloed van voorschrijvende arts op de beslissingbestuderen. In de huidige database waren zowel de ID en de functie (arts-gso, arts-sta�id,... ) van de verschillende artsen opgenomen. In dit onderzoek kon ID niet gebruikt wordenaangezien er 150 ID's waren verspreid over 14000 instanties. Dit zorgt dat de bewijskracht perID veel te klein is. De functie van de arts bleek ook niet bruikbaar. Iedere beslissing omtrent deantibiotica behandeling van een patiënt moet immers genomen worden door een arts-sta�id.

Dosis Er kan gezocht worden naar de oorzaken van een verhoging of verlaging van de dosis.Momenteel werden de namen van de antibiotica uit de database omgezet naar de merknaam.Dosisbepaling en toedieningsmethode werd hierbij niet bekeken.

5.2.2 Mogelijkheden met de huidige parameters

Er kunnen patronen bestaan in het CRP, thrombocyten, �brinogeen en WBC gehalte van eenpatiënt waarbij dit patroon de overlevingskans kan voorspellen. Het zou bijvoorbeeld kunnenzijn dat bij een stijging van CRP en een daling van WBC er een hoge kans is op overlijden.Deze patronen kunnen gebruikt worden om een waarschuwingssignaal te sturen naar de artsen.Omgekeerd kan het ook zijn dat een patroon wijst op een herstellende patiënt waarbij deantibioticumkuur kan worden afgebouwd.

5.3 Data mining in andere medische datasets

5.3.1 Ventilator associated pneumonia

Patiënten die opgenomen worden in een ziekenhuis kunnen tijdens hun verblijf een infectieoplopen door bacteriën die reeds in het ziekenhuis aanwezig zijn. De tweede meest voorkomende,maar meest dodelijke ziekenhuisinfectie is Hospital associated pneumonia (HAP). HAP is eeninfectie van de longen die optreedt minimaal 48 uren na opname in het ziekenhuis. Ondankshet feit dat HAP maar de tweede meest voorkomende ziekenhuisinfectie is, is het wel de infectiedie voor het meeste doden zorgt. Daarnaast zorgt HAP dat het ziekenhuisverblijf langer wordten er antibiotica moeten voorgeschreven worden. De behandeling van HAP is steeds moeilijkerdoor het voorkomen van resistente bacteriën. Het is dan ook belangrijk om HAP te voorkomenin plaats van te genezen.

Ventilator associated pneumonia (VAP)[26] is een vorm van HAP die voorkomt bij patiëntendie kunstmatig beademd worden. Om VAP te voorkomen is het belangrijk dat risico patiëntensnel geïdenti�ceerd worden. Hiervoor kan data mining ingezet worden. De belangrijke parame-ters kunnen ontdekt worden via attribuut selectie en het risico op VAP kan ingeschat wordenbijvoorbeeld via bayesiaanse technieken.

5.3.2 Score systemen op intensieve zorg

Op de dienst intensieve zorg worden verschillende score systemen gebruikt om de toestand van eenpatiënt in te schatten. Deze score systemen berekenen uit een aantal parameters een score. Eenvoorbeeld hiervan is Apache II (Acute Physiology and Chronic Health Evaluation II) [27]. Dezescore wordt berekend op het moment dat een patiënt opgenomen wordt op de dienst intensievezorg. Hoe hoger de Apache II score, hoe ernstiger de situatie van de patiënt is en hoe hoger de kansop overlijden. Een ander voorbeeld is de SOFA score (Sequential Organ Failure Assessment)[28].Deze score kan dagelijks berekend worden en geeft een zicht op de toestand van de organen.

Page 72: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 5. MOGELIJKHEDEN VOOR VERDER ONDERZOEK 59

Met behulp van data mining kunnen deze score systemen verder verbeterd worden. Er kunnengrotere datasets bestudeerd worden en er kan een grotere set van attributen gebruikt worden.

5.4 Veralgemening van de voorbereidende software

WEKA biedt een gra�sche interface aan om enkele voorbereidende stappen en data mining tedoen op een dataset. WEKA is echter niet gebouwd om te werken met sequenties in de tijd. Metde huidige architectuur is het mogelijk om een gra�sche interface te bouwen gelijkaardig aan dezedie WEKA nu aanbiedt (�guur 5.1). Zo zouden ook sequenties in de tijd ondersteund kunnenworden in WEKA. Uiteraard is het ook mogelijk om een gra�sche interface te bouwen los vanWEKA. Zeker als de architectuur in een industriële omgeving gebruikt wordt, is een gra�scheomgeving onmisbaar.

Figuur 5.1: WEKA KnowledgeFlow Environment

Figuur 5.1 toont hoe het data mining proces in WEKA kan opgebouwd worden via eengra�sche interface. In de screenshot wordt een Ar�Loader gebruikt om de data in te lezen(linksboven in de Knowledge Flow Layout). Via verschillende stappen zoals de Class Assigner diehet te voorspellen attribuut bepaalt, wordt de data voorbereid en er wordt vervolgens AdaBoostM1 toegepast. (centraal in de screenshot). Op het einde van het proces wordt onder andere eenModelPerformanceChart gegenereerd (rechtsboven).

Page 73: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Hoofdstuk 6

Conclusie

Door de toenemende hoeveelheid data die wordt verzameld zijn nieuwe technieken nodig om dezedata te analyseren. Vanuit deze problematiek is data mining ontstaan. Data mining biedt demogelijkheid om op een automatische manier aan data analyse te doen. Data mining vereistechter wel dat de data in een bepaald formaat wordt toegereikt aan de algoritmes. Onder anderehiervoor is het belangrijk dat de data voorbereid wordt. Daarnaast kunnen de prestaties van dealgoritmes vaak sterk verbeterd worden door de data op een goede manier voor te bereiden.

Ook op de dienst intensieve zorg van het UZ Gent wordt steeds meer data opgeslagen. Indit onderzoek bekeken we de mogelijkheden om data mining toe te passen op deze data. Hetonderzoek werd opgesplitst in drie delen.

Ten eerste was het de bedoeling om de data voor te bereiden zodat data mining algoritmeskonden toegepast worden. We bekeken welke stappen belangrijk waren bij deze voorbereiding.

Ten tweede moest de data voorbereid worden via software die in dit onderzoek geschrevenwerd. Aangezien de toepassingen van data mining echter zeer divers zijn, was het een doel van ditonderzoek om deze software zo uitbreidbaar mogelijk te maken. Zo kunnen ook andere analysesop gelijkaardige data gemaakt worden zonder deze software te moeten herschrijven. De data diedoor de software voorbereid kan worden bestaat uit verschillende gebeurtenissen in de tijd. Bijdeze verschillende gebeurtenissen kunnen parameters worden gevoegd.

Als laatste werd data mining uitgevoerd op de data. We keken naar de manier waarop devoorspelling van het antibioticum geoptimaliseerd kon worden. Daarnaast onderzochten we defactoren die belangrijk zijn bij de keuze van een algoritme en bekeken we het belang van deparameters van het algoritme.

We de�nieerden vier cases die elk een subset van de data bevatten. Case één antibioticumbekeek de invloed van CRP, thrombocyten, �brinogeen en WBC op het toegediende antibioti-cum, case eerste antibioticum deed hetzelfde maar enkel voor het eerste antibioticum dat eenpatiënt kreeg. Case antibioticum na Zinacef bestudeerde niet het eerste antibioticum maar hetantibioticum dat volgde op de toediening van Zinacef. Case volgend antibioticum keek naar deinvloed van de geschiedenis door naast de vier parameters van case één antibioticum ook hetvoorgaande antibioticum te voegen.

6.1 Voorbereiden van de database

De totale database bestond uit 4839 patiënten en 17231 toedieningen van antibiotica. Het bleekechter dat niet enkel antibiotica in de database vervat waren maar ook bijvoorbeeld antiviraleen antiparasitaire middelen. Deze werden uit de database ge�lterd. Na het �lteren bestond dedatabase uit 3920 patiënten en 14219 toedieningen. Het totaal aantal verschillende antibioticabedroeg 148. Dit betekent dat er per antibioticum gemiddeld amper 100 voorbeelden in dedatabase voorkwamen. Hierdoor is de voorspelling zeer moeilijk. Het bleek echter dat de namen

60

Page 74: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 6. CONCLUSIE 61

van de antibiotica bestonden uit de merknaam, dosis en wijze van toediening. Door hieruit demerknaam te �lteren bleven nog 38 verschillende antibiotica over (gemiddeld 375 voorbeeldenper antibioticum). De verschillende cases hadden tussen de 19 en 38 verschillende antibiotica.

We zagen dat er incorrecte waarden in de database voorkwamen zoals bijvoorbeeld eenonmogelijk hoge waarde van �brinogeen. Daarnaast waren er ook andere fouten aanwezig inde database zoals bijvoorbeeld de eindtijd van een antibioticum die voor de begintijd viel ofde ordertijd die na de begintijd viel. Deze fouten konden gedetecteerd worden. Het is echteronmogelijk om fouten zoals een verkeerd geregistreerde waarde van �brinogeen die binnen denormale range valt te detecteren. De incorrecte waarden zijn ruis voor de data mining algoritmesen beïnvloeden de prestaties (success rate van de voorspelling) op een negatieve manier.Daarnaast waren er ook ontbrekende waarden in de database. Er ontbrak gemiddeld 10% van dewaarden voor CRP, thrombocyten, �brinogeen en WBC. Ook dit beïnvloedt de resultaten vande voorspelling negatief.

De waarden van CRP, thrombocyten, �brinogeen en WBC waren opgenomen in een anderetabel dan die van de antibioticumtoedieningen. Daarnaast werden de waarden van deze para-meters niet geregistreerd op het moment van antibioticumtoediening, maar op regelmatige wijze(meestal éénmaal per dag). Via een nearest neighbour interpolatie kon een waarde voor deparameters toegekend worden aan iedere toediening van antibiotica. Deze interpolatie levertsteeds een waarde op ook als er bijvoorbeeld enkel waarden opgemeten zijn na de toediening.

Om de data voor de verschillende cases te genereren, moesten de toedieningen uit de databaseomgezet worden naar behandelingen van patiënten of dus naar een sequentie van toedieningen.Hierbij werden toedieningen van eenzelfde antibioticum kort na elkaar samengevoegd tot ééntoediening.

Het bleek dat bepaalde antibiotica veel frequenter voorkwamen dan andere. Dit heeft eenpositief e�ect op de prestaties bij de voorspelling van het antibioticum. We zochten ook naarvaak voorkomende sequenties van antibiotica. Zo werd gevonden dat Augmentin het vaakstgebruikte antibioticum was, Augmentin-Tazocin de vaakst gebruikte opeenvolging van volgendantibioticum en Vancocin-Meronem-Vancocin de meest voorkomende opeenvolging van drie an-tibiotica.

6.2 Voorbereidende architectuur

Er werd een voorbereidende architectuur gebouwd die de voorbereiding van data mining auto-matiseerde. De nadruk lag hierbij op het aanpasbare karakter en niet op de benodigde rekentijdaangezien de voorspelling o�ine werd gedaan en niet op de database servers terwijl deze onlinewaren. Toch kon de verwerking van de data in ongeveer 1 minuut gebeuren onafhankelijk vande case.

De architectuur was uiteindelijk in staat om de database in te lezen in objecten. Hierbij werdgeen beperking gelegd op het aantal parameters of het type parameters. In een eerste stap werd deruwe data omgevormd naar een abstracte voorstelling van een behandeling van een patiënt. Dezebehandeling was een opeenvolging van antibioticum toedieningen. Met behulp van verschillendeparameters kon de vorm van de behandelingen worden aangepast. Eén van deze parameters isbijvoorbeeld de benodigde tijd tussen twee toedieningen van eenzelfde antibioticum zodat dezeniet werden samengevoegd tot één toediening. Door het veranderen van deze parameters kanverder onderzoek gedaan worden naar de dosis van de antibiotica, duurtijd van de behandelingen,...

In een tweede fase zorgde de architectuur dat de data werd ge�lterd zodat de uiteindelijkeoutput enkel de data bevatte die door de cases gede�nieerd waren en waarop data miningalgoritmes toegepast werden. Gebruikers kunnen naar willekeur �lter-modules toevoegen of deparameters van de huidige modules aanpassen.

Daarna werden parameters zoals CRP, thrombocyten, �brinogeen en WBC aan de ge�lterde

Page 75: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

HOOFDSTUK 6. CONCLUSIE 62

data toegevoegd. Opnieuw kunnen gebruikers hun eigen methode kiezen. In dit onderzoek werdvoor nearest neighbour interpolatie gekozen, andere vormen van interpolatie zijn ook mogelijk.

Als laatste kon de data uitgeschreven worden naar een willekeurig formaat. Binnen ditonderzoek werden hiervoor enkele modules geïmplementeerd zoals een module die de data naarhet ARFF formaat uitschreef. Andere mogelijkheden zijn CSV formaat (voor gebruik in O�ceExcel), JPEG formaat (voor histogrammen), ...

Dankzij het dynamisch laden van modules kan het volledig proces beheerd worden door eencentrale con�guratie�le en kunnen gebruikers eenvoudig nieuwe modules toevoegen.

6.3 Data mining

Verschillende algoritmes werden met elkaar vergeleken in het programma WEKA. Van ieder typeclassi�catie algoritme werden de meest gebruikte algoritmes gekozen voor dit onderzoek. In velegevallen hing de beslissing af van de eigenschappen van de database, namelijk of het antibioticumzeer goed voorspelbaar was door één van de attributen (het voorgaande antibioticum) of dat alleattributen een even grote bijdrage tot de voorspelling hadden (case één antibioticum, eersteantibioticum en antibioticum na Zinacef). Bayesiaanse netwerken bleken echter onder beideomstandigheden goed te presteren (een success rate van 82.33 % in case volgend antibioticum en17.31 % in case één antibioticum). Daarnaast was ook de rekentijd van de bayesiaanse netwerkenzeer laag namelijk 0.07 seconden in zowel case volgend antibioticum als case één antibioticum.Aangezien we geen parameters moesten aanpassen, zijn bayesiaanse netwerken zeer geschiktom voorspellingen uit te voeren op een nieuwe database. Indien één van de attributen hetantibioticum zeer goed kon voorspellen, bleek OneR de beste prestaties te leveren namelijk eensuccess rate van 82.49 %. Dit algoritme gebruikt enkel het beste attribuut voor de voorspellingen negeert de overige (CRP, thrombocyten, �brinogeen en WBC).

C4.5 heeft even goede prestaties als bayesiaanse netwerken indien de parameters worden aan-gepast aan de eigenschappen van de database die voorspeld moet worden. Zo kon bij aanpassingvan zowel de con�dence als de grootte van de bladeren een success rate van 18.93 % gehaaldworden voor de case één antibioticum. Als bijkomend voordeel kan C4.5 de beslissingsboomvisualiseren. Hierdoor kunnen nuttige conclusies getrokken worden uit het beslissingsproces vande voorspeller. In het geval van de database met antibiotica toedieningen konden zo enkeleeenvoudige processen van dienst intensieve zorg van het UZ Gent achterhaald worden zoals hetbelang van CRP op het eerste antibioticum in case eerste antibioticum en het belang van CRPop de voortzetting van een antibioticum in case antibioticum na Zinacef.

Indien we de hoogste prestaties nastreven, is het in de eerste plaats van belang om de databasegoed in kaart te brengen. Door de eigenschappen van de database te kennen, kan al snel ingezienworden welk algoritme goed zal presteren en welke aanpassingen nodig zullen zijn. Indien webijvoorbeeld zien dat er veel ruis in de database is, moeten we kiezen voor een eenvoudig algoritmeom over�tting te vermijden. Dezelfde conclusie kunnen we maken indien één parameter deuitkomst sterk bepaalt. In dit geval kiezen we voor een algoritme zoals OneR dat enkel het besteattribuut gebruikt bij de voorspelling.

De uiteindelijke prestaties van de voorspellingen waren in dit onderzoek te laag om praktischgebruikt te worden (een accuraatheid van gemiddeld 20 % bij de cases één antibioticum, antibi-oticum na Zinacef en de case eerste antibioticum). Deze lage accuraatheid kan verklaard wordendoor het gebrek aan parameters zoals de geschiedenis van de patiënt en het antibiogram.

Page 76: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

B¼lage A

Gebruik van de voorbereidende

architectuur

A.1 Vereisten

De voorbereidende architectuur is volledig geïmplementeerd in Python 2.6. Daarnaast zijnvolgende Python-modules vereist:

� Numpy

� Scipy

� Pylab

A.2 Uitvoeren van de voorbereidende architectuur

Voor de uitvoering van de voorbereidende architectuur moet het bestand Main.py aangeroepenworden. Met behulp van de commandline wordt dit gedaan via het commando 'python Main.py'.

A.3 Con�guratiebestand

Tabel A.1 toont de opties uit het con�guratiebestand ('test.cfg') en hun verklaring.

63

Page 77: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

B�LAGE A. GEBRUIK VAN DE VOORBEREIDENDE ARCHITECTUUR 64

Optie Verklaring

class_reader De naam van de module die de database uitleest inevent-objecten.

class_translator De naam van de module die de vertaling doet van denaam van de antibiotica.

class_merger De naam van de module die antibiotica toedieningensamen voegt.

class_splitter De naam van de module die behandelingen splitst.

class_�lter De naam van de module die bepaalde patronen �ltert.

class_parameter De naam van de module die parameters toevoegt aan dege�lterde patronen.

class_reporter De naam van de module die de gewenste informatieuitschrijft.

translator_�le Het pad waar de vertaaltabel voor de namen van deantibiotica zich bevindt.

log_�le Het pad waar een logbestand wordt aangemaakt.

params De folder waar de bestanden met de parameters staat.

ab_orders De plaats van het bestand met de antibioticumtoedieningen.

output_directory De folder waar de reporter naartoe schrijft.

translator_column De kolom uit de vertaaltabel die gebruikt wordt voorvertaling. De eerste kolom van de vertaaltabel is steeds

de originele naam.

merge_time De tijd na welke er geen samenvoegingen van toedieningmeer gebeurt in seconden.

split_time De tijd vanaf welke behandelingen worden gesplitst inseconden.

maximum_sequences De maximale lengte van vaak voorkomende patronen(enkel gebruikt door FilterMinSupport).

minimum_support Het aantal keer dat een patroon moet voorkomenalvorens vaak voorkomend te zijn (enkel gebruikt door

FilterMinSupport).

name De naam van het voorgaande antibioticum (enkelgebruikt door FilterOnFirst).

Tabel A.1: Verklaring van de opties uit het con�guratiebestand

A.4 Verklaring van de bestanden

De verschillende bestanden zitten in mappen afhankelijk van hun functie. Per map wordt defunctie van de bestanden uitgelegd.

A.4.1 Hoofdmap

Main.py Het bestand dat alle andere modules oproept na het uitlezen van het con�guratiebe-stand.

Setting.py Dit bestand staan in voor het uitlezen of aanmaken van het con�guratiebestand.

Test.cfg Het bestand dat standaard als con�guratiebestand wordt uitgelezen.

Antibiotic.py Dit bestand bevat het event-object.

Page 78: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

B�LAGE A. GEBRUIK VAN DE VOORBEREIDENDE ARCHITECTUUR 65

Pattern.py Dit bestand bevat het pattern-object en het support-object.

Sequence.py Dit bestand bevat het sequence-object.

Translator.py Deze module bevat de Translator.

Sequencer.py Deze module bevat de Sequencer en vormt toedieningen (events) om tot eenbehandeling (sequence)

A.4.2 Reader

Reader Een blanco implementatie van de reader module.

ReaderCsv Een reader die de antibiotica uitleest uit een CSV bestand.

ReaderCsvDoctor Een reader die de antibiotica uitleest uit een CSV bestand en de voorschrij-vende arts bij de parameters plaatst.

A.4.3 Filter

Filter Een blanco implementatie van de �lter module.

FilterFirstAb Een �ltermodule die enkel het eerste antibioticum uit een behandeling in eenpattern-object plaatst.

FilterMinSupport Deze �lter zoekt naar de vaakst voorkomende patronen.

FilterOnlyOne Deze �lter plaatst ieder antibioticum in een pattern-object.

FilterOnlyTwo Deze �lter plaatst iedere combinatie van twee antibiotica in een pattern object

FilterOnFirst Deze �lter plaatst iedere antibioticum dat volgt op een bepaald antibioticum (zie con�guratiebestand ) in een pattern object.

A.4.4 Merger

Merger Een blanco implementatie van de merger module.

MergerAlphabetic Een merger die antibiotica die op hetzelfde moment gegeven worden alfa-betisch rangschikt.

MergerCombiner Een merger die antibiotica die op hetzelfde moment gegeven worden samen-voegt tot één antibioticum.

A.4.5 Splitter

Splitter Een blanco implementatie van de splitter module.

SplitterAll Een splitter die alle behandelingen splitst tot behandelingen met één toediening.

SplitterNormal Een splitter die behandelingen splitst indien toedieningen verder uit elkaarliggen dan de split_time uit het con�guratiebestand.

A.4.6 Parameter

Parameter Een blanco implementatie van de parameter module

ParameterA Een parameter module die de bestanden met de parameters uitleest en nearestneighbour interpolatie gebruikt om een waarde aan iedere toediening toe te kennen.

Page 79: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

B�LAGE A. GEBRUIK VAN DE VOORBEREIDENDE ARCHITECTUUR 66

A.4.7 Reporter

Reporter Een blanco implementatie van de reporter module

ReporterWeka Een reporter die een ARFF bestand genereert voor gebruik in WEKA.

ReporterStats Een reporter die verschillende eigenschappen van de database zoals de lengtevan de behandelingen en de duurtijd van de toedieningen genereert.

ReporterHistogram Een reporter die histogrammen in JPG formaat genereert.

Page 80: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

Bibliogra�e

[1] John F. Gantz. The diverse and exploding digital universe. 2008.

[2] Ian H. Witten & Eibe Frank. Datamining - Practical Machine Learning Tools andTechniques. Morgan Kaufmann, 2005.

[3] MD Stuart B. Levy. Antibiotic and antiseptic resistance: impact on public health. ThePediatric Infectious Disease Journal, 19:120�122, 2000.

[4] Jerzy W. Grzymala-Busse and Ming Hu. A comparison of several approaches to missingattribute values in data mining. Rough Sets and Current Trends in Computing, pages 378�385, 2001.

[5] Jennifer Dyc Alireza Farhangfara, Lukasz Kurganb. Impact of imputation of missing valueson classi�cation error for discrete data. Pattern Recognition, 41:3692�3705, 2008.

[6] Kohavi R. A study of cross-validation and bootstrap for accuracy estimation and modelselection. Proceedings of International Joint Conference on AI, pages 1137�1145, 1995.

[7] Warren T. Jones Stephen A. Moser and Stephen E. Brossette. Application of data miningto intensive care unit microbiologic data. Emerging Infectious Diseases, 5:454�475, 1999.

[8] Helyane Bronoski Borges and Júlio Cesar Nievola. Attribute selection methods comparisonfor classi�cation of di�use large b-cell lymphoma. World Academy of Science, Engineeringand Technology, 8:193�197, 2005.

[9] Robert C. Holte. Very simple classi�cation rules perform well on most commonly useddatasets. Machine Learning, 11:63�91, 1993.

[10] J. R. Quinlan. Induction of decision trees. Machine Learning, 1:81�106, 1986.

[11] J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, 1993.

[12] James Kurinskas Samuel A. Moore, Daniel M. D'Addario and Gary M. Weiss. Are decisiontrees always greener on the open (source) side of the fence? Proceedings of the 2009International Conference on Data Mining, pages 185�188, 2009.

[13] Leo Breiman. Random forests. Machine Learning, 45:5�32, 2001.

[14] William W. Cohen. Fast e�ective rule induction. ICML, pages 115�123, 1995.

[15] Thomas M. Cover and Peter E. Hart. Nearest neighbor pattern classi�cation. IEEETransactions on Information Theory, 13:21�27, 1967.

[16] Yoav Freund and Robert E. Schapire. A decision-theoretic generalization of on-line learningand an application to boosting. Journal of Computer and System Sciences, 55:119�139,1997.

[17] Weka data mining tool. http://www.cs.waikato.ac.nz/ml/weka/, 2010.

67

Page 81: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie

BIBLIOGRAFIE 68

[18] Graham Williams Xiaojun Chen and Xiaofei Xu. A survey of open source data miningsystems. Emerging Technologies in Knowledge Discovery and Data Mining, 4819:3�14, 2009.

[19] Michael N. Alekshun and Stuart B. Levy. Molecular mechanisms of antibacterial multidrugresistance. Cell, 128:1037�1050, 2007.

[20] Hatipoglu FS Iyigun E. Identi�cation of risk factors for ventilator associated nosocomialpneumonia in patients receiving ventilator treatment. Balkan Military Medical Review,11:27�33, 2008.

[21] Peter Lucas. Bayesian analysis, pattern analysis, and data mining in health care. CurrentOpinion in Critical Care, 10:399�403, 2004.

[22] Thomas Moh Shan Yau Mohd Fauzi bin Othman. Comparison of di�erent classi�cationtechniques using weka for breast cancer. IFMBE Proceedings, 15:520�523, 2007.

[23] Ramakrishnan Srikant and Rakesh Agrawal. Mining sequential patterns: Generalizationsand performance improvements. Research Report RJ 9994, 1995.

[24] Mohammed J. Zaki. Spade: An e�cient algorithm for mining frequent sequences. MachineLearning, 42:31�60, 2001.

[25] Ahmed Sultan Al-Hegami. Classical and incremental classi�cation in data mining process.International Journal of Computer Science and Network Security, 7:179�187, 2007.

[26] Marin H Kollef MD. What is ventilator-associated pneumonia and why is it important?Respiratory Care, 50:714�724, 2005.

[27] Wagner DP Zimmerman JE Knaus WA, Draper EA. Apache ii: a severity of diseaseclassi�cation system. Critical Care Medicine, 13:818�829, 1985.

[28] Takala J Willatts S De Mendonça A Bruining H Reinhart CK Suter PM Thijs LGVincent JL, Moreno R. The sofa (sepsis-related organ failure assessment) score to describeorgan dysfunction/failure. on behalf of the working group on sepsis-related problems of theeuropean society of intensive care medicine. Intensive Care Med., 22:707�710, 1996.

[29] John D. Firth Edward J. J R. M.D. Benz David A. Warrell, Timothy M. Cox. OxfordTextbook of Medicine. Oxford Press, 2003.

[30] Merle A. Sande MD Jay P. Sanford MD, David N. Gilbert MD. The Sanford guide toantimicrobial therapy (Belgian edition). Antimicrobial Therapy Inc., 2008.

Page 82: Patroonherkenning bij antibiotica -therapie ë n Mathias Dehenninlib.ugent.be/fulltxt/RUG01/001/418/597/RUG01-001418597... · 2010. 9. 8. · Patroonherkenning bij antibiotica -therapie