PhD Defense of Wim Le Page

515 views

Published on

Public defense of the PhD-thesis: "Mining Patterns in Relational Databases", by Wim Le Page, 16 december 2009.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
515
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Goedenavond beste leden van de jury, collega's, vrienden, familie.
    Vandaag verdedig ik mijn proefschrift getiteld Mining Patterns in Relational Databases
  • Een eerste vraag die dan misschien bij jullie opkomt is, wat is dat, dat Mining.
    Wel, de meeste mensen weten wel wat gewone mijnbouw inhoud. Bij mijnbouw gaan we op een systematisch manier in de bodem of gesteente op zoek naar waardevolle materialen zoals erts, goud, mineralen of brandstoffen.
    De term data mining is dan ook gekozen naar analogie met dit proces.
  • Naar analogie met de bodem of gesteente beschouwen we als startpunt van ons mijnproces data.
    Data dat net zoals gesteente in grote hoeveelheden in de huidige wereld aanwezig is.
    We leven momenteel in een kennismaatschappij, en dankzij internet en een veelvoud aan digitale toestellen beschikken we over enorme hoeveelheden van data.
  • In deze grote hoeveelheden data, zit zoals in de rotsen bij industriële mijnbouw, iets waardevols verborgen. Dit waardevols is kennis. Nieuwe patronen waarvan we voorheen niet wisten dat ze golden.

    Maar net zoals bij industriele mijnbouw, is de hoeveelheid aan data te groot om manueel op zoek te gaan naar zulke patronen. We moeten het ook hier systematisch aanpakken.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Deze systematische aanpak is het proces van kennis ontdekking. Hier zien we een schematische weergave van dit proces. We beschikken over data, hier opgeslagen in een database. Hiervan beschouwen we een stukje als invoer voor ons data mining algoritme. Dat zal resulteren in een set patronen, die we dan zullen evalueren en presenteren als nieuwe kennis. Deze kennis kan dan opnieuw in een database worden bewaard en zo terug de invoer vormen voor een nieuw proces van kennis ontdekking.
  • Ik zal dit proces even verduidelijken aan de hand van een voorbeeld.
    Een van eerste toepassingen van data mining was het analyseren van supermarktdatabases.
    Hierbij analyseren we de winkelkarretjes, oftewel, de verzamelingen van producten die klanten kopen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Als we teruggaan naar met proces van kennis ontdekking is de concrete database hier de supermarktdatabase. Van deze database beschouwen de de winkelkarretjes van de klanten als invoer voor het data mining algoritme. Een algoritme dat hierop kan toegepast worden is een frequent itemset mining algoritme. We gaan in de winkelkarretjes van de klanten op zoek naar verzamelingen van producten die frequent tesamen worden gekocht. Dat zijn dan ook de patronen die het algoritme oplevert. Door deze te evalueren kunnen we hier kennis uit destilleren, zoals bijvoorbeeld het patroon dat 75% van de klanten die kaas kopen ook wijn kopen. Zo’n informatie is interessant voor de winkelhouder die op basis hiervan promoties of de plaatsing van producten kan kiezen.
  • Dit lijkt eenvoudig. Maar neem even aan dat de supermarkt slechts 1000 producten verkoopt. De hoeveelheid mogelijke verzamelingen van producten is dan gelijk aan 2 tot de 1000ste. Dit is ongeveer gelijk aan 10 tot de 301ste oftwel een 1 met 301 nullen. Dit is een gigantische hoeveelheid. Meer zelfs
  • Dit lijkt eenvoudig. Maar neem even aan dat de supermarkt slechts 1000 producten verkoopt. De hoeveelheid mogelijke verzamelingen van producten is dan gelijk aan 2 tot de 1000ste. Dit is ongeveer gelijk aan 10 tot de 301ste oftwel een 1 met 301 nullen. Dit is een gigantische hoeveelheid. Meer zelfs
  • Dit lijkt eenvoudig. Maar neem even aan dat de supermarkt slechts 1000 producten verkoopt. De hoeveelheid mogelijke verzamelingen van producten is dan gelijk aan 2 tot de 1000ste. Dit is ongeveer gelijk aan 10 tot de 301ste oftwel een 1 met 301 nullen. Dit is een gigantische hoeveelheid. Meer zelfs
  • Dit lijkt eenvoudig. Maar neem even aan dat de supermarkt slechts 1000 producten verkoopt. De hoeveelheid mogelijke verzamelingen van producten is dan gelijk aan 2 tot de 1000ste. Dit is ongeveer gelijk aan 10 tot de 301ste oftwel een 1 met 301 nullen. Dit is een gigantische hoeveelheid. Meer zelfs
  • dit getal is groter dan het aantal atomen in het observeerbare universum.
    Immens veel dus.
    Het is dan ook onmogelijk om al deze verzamelingen even allemaal op te sommen en te controleren of ze vaak voorkomen.
  • We hebben dus een nood aan efficiente data mining algoritmes die wel in staat zijn om efficient de frequente of in het algemeen interessante patronen te vinden.
  • Dat was een korte samenvatting van wat data mining is. Maar mijn proefschrift behandeld het ontdekken van patronen in relationele databases. Wat is nu precies een relationele database? Laat ik dit ook illustreren aan de hand van een voorbeeld.
  • Aan deze universiteit geven professoren weel eens cursussen aan studenten. Deze informatie kunnen we ook opslaan in een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • We kunnen alle informatie over professoren opslaan in een tabel. We kunnen dit ook voor de cursussen en de studenten. Dit zouden we een database kunnen noemen. Echter, deze verschillende elementen hebben ook onderlinge verbanden. Zo geven professoren namelijk bepaalde vakken wel en andere niet. Ook deze informatie kunnen we opslaan in een tabel in de database. Hetzelfde geld voor de Studenten die bepaalde vakken volgen. Op deze manier hebben we zowel de elementen als hun relaties bewaard in de database, en kunnen we spreken van een relationele database.
  • Terug naar het proces van kennis ontdekking dus, waar we dus nu relationele databases beschouwen als startpunt.
  • Terug naar het proces van kennis ontdekking dus, waar we dus nu relationele databases beschouwen als startpunt.
  • Terug naar het proces van kennis ontdekking dus, waar we dus nu relationele databases beschouwen als startpunt.
  • We hebben dus met andere woorden nood aan relationele data mining algoritmes, die gegeven relationele data, relationele patronen ontdekken.
  • We hebben dus met andere woorden nood aan relationele data mining algoritmes, die gegeven relationele data, relationele patronen ontdekken.
  • We hebben dus met andere woorden nood aan relationele data mining algoritmes, die gegeven relationele data, relationele patronen ontdekken.
  • We hebben dus met andere woorden nood aan relationele data mining algoritmes, die gegeven relationele data, relationele patronen ontdekken.
  • We hebben dus met andere woorden nood aan relationele data mining algoritmes, die gegeven relationele data, relationele patronen ontdekken.
  • Om zulke algoritmes te kunnen ontwikkelen moeten we eerst definieren wat wel als relationele patronen beschouwen. In mijn proefschrift beschouwen we twee types relationele patronen:
    queries
    en itemset
  • Om zulke algoritmes te kunnen ontwikkelen moeten we eerst definieren wat wel als relationele patronen beschouwen. In mijn proefschrift beschouwen we twee types relationele patronen:
    queries
    en itemset
  • Ik zal mij eerste toespitsen op het eerste type; queries.
    Wat zijn queries? Wel queries zijn niets anders dan vragen die je aan een database kan stellen.
    In het geval van de universteitsdatabase zou dit bvb kunnen zijn.
    Wie zijn de mannelijke studenten? OF
    Welke professoren geven een cursus in lokaal G010? OF
    Welke cursussen hebben een project en worden gevolgd door vrouwelijke studenten?
  • Ik zal mij eerste toespitsen op het eerste type; queries.
    Wat zijn queries? Wel queries zijn niets anders dan vragen die je aan een database kan stellen.
    In het geval van de universteitsdatabase zou dit bvb kunnen zijn.
    Wie zijn de mannelijke studenten? OF
    Welke professoren geven een cursus in lokaal G010? OF
    Welke cursussen hebben een project en worden gevolgd door vrouwelijke studenten?
  • Ik zal mij eerste toespitsen op het eerste type; queries.
    Wat zijn queries? Wel queries zijn niets anders dan vragen die je aan een database kan stellen.
    In het geval van de universteitsdatabase zou dit bvb kunnen zijn.
    Wie zijn de mannelijke studenten? OF
    Welke professoren geven een cursus in lokaal G010? OF
    Welke cursussen hebben een project en worden gevolgd door vrouwelijke studenten?
  • Neem nu bijvoorbeeld deze laatste query.
    Gegeven de relationele universiteitsdatabase, kunnen we deze vraag stellen.
    Dit gebeurd in de SQL taal, die speciaal werd ontwikkeld om relationele databases te ondervragen.
    Het stellen van deze vraag zal dan een resultaat opleveren dat ook in een tabelletje kan worden weergegeven.
    Hier zien we dan de cursussen die een project hebben en gevolgd worden door vrouwelijke studenten.
  • Neem nu bijvoorbeeld deze laatste query.
    Gegeven de relationele universiteitsdatabase, kunnen we deze vraag stellen.
    Dit gebeurd in de SQL taal, die speciaal werd ontwikkeld om relationele databases te ondervragen.
    Het stellen van deze vraag zal dan een resultaat opleveren dat ook in een tabelletje kan worden weergegeven.
    Hier zien we dan de cursussen die een project hebben en gevolgd worden door vrouwelijke studenten.
  • Neem nu bijvoorbeeld deze laatste query.
    Gegeven de relationele universiteitsdatabase, kunnen we deze vraag stellen.
    Dit gebeurd in de SQL taal, die speciaal werd ontwikkeld om relationele databases te ondervragen.
    Het stellen van deze vraag zal dan een resultaat opleveren dat ook in een tabelletje kan worden weergegeven.
    Hier zien we dan de cursussen die een project hebben en gevolgd worden door vrouwelijke studenten.
  • Neem nu bijvoorbeeld deze laatste query.
    Gegeven de relationele universiteitsdatabase, kunnen we deze vraag stellen.
    Dit gebeurd in de SQL taal, die speciaal werd ontwikkeld om relationele databases te ondervragen.
    Het stellen van deze vraag zal dan een resultaat opleveren dat ook in een tabelletje kan worden weergegeven.
    Hier zien we dan de cursussen die een project hebben en gevolgd worden door vrouwelijke studenten.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • Waarom zijn queries nu een goede manier om patronen in een relationele database te beschrijven?
    1. zijn queries algemeen. We kunnen ze geformuleerd in SQL stellen aan het merendeel van de huidige bestaande relationele database systemen.
    2. ze zijn efficient te evalueren omdat jaren van onderzoek zich hierop hebben toegespitst. Anderzijds zijn ze ook efficient te genereren door hun inherente structuur. Zoals eerder gezien is dit belangrijk vanuit het standpunt van data mining.
    3. queries zijn een vertrouwd en natuurlijk concept voor gebruikers van relationele database.
    4. queries zijn ook flexibel. Vele restricties en condities kunnen uitgedrukt worden in queries, wat toelaat om met behulp van queries ook specifiekere data mining settings uit te testen.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • We gaan even terug naar onze voorbeeld queries. We weten nu dat we met behulp van queries patronen kunnen uitdrukken, maar nu rijst de vraag: wanneer zijn deze patronen interessant? Hiervoor kijken we naar de resultaten. Als een query voldoende resultaten oplevert, dan beschouwen we deze als interessant. Als we bijvoorbeeld minimaal twee resultaten vereisen, valt de middelste query uit de boot. Queries die wel aan zeker minimum aan resultaten opleveren noemen we frequente queries. En het is deze queries waar we naar op zoek zullen gaan.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Maar een frequente query op zichzelf drukt nog niet meteen interessante kennis uit. Dit kunnen we echter verhelpen door twee queries tegelijk te beschouwen. Een specifiekere query en een algemenere. In dit voorbeeld kunnen we een algemenere versie van deze query beschouwen door enkel te vragen welke cursussen een project hebben. Het is duidelijk dat de cursussen met een project die ook gevolgd worden door vrouwelijk studenten hier een deelverzameling van vormen. Door deze dan te vergelijken zien we dat 2/3 of 66% van de curssusen met een project gevolgd worden door vrouwelijke studenten. Zulk een koppel van een specifiekere en een algemenere frequente query noemen we een koppel contained frequent queries. En dit zijn de patronen die we uiteindelijk willen ontdekken.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Om dit type patronen te ontdekken ontwikkelde we het Conqueror Algoritme.
  • Het Conqueror algoritme bestaat grofweg uit drie onderdelen. Het genereren van queries. Het evalueren van queries en het koppelen van queries.
  • Het Conqueror algoritme bestaat grofweg uit drie onderdelen. Het genereren van queries. Het evalueren van queries en het koppelen van queries.
  • Het Conqueror algoritme bestaat grofweg uit drie onderdelen. Het genereren van queries. Het evalueren van queries en het koppelen van queries.
  • Laat ons eerst een kijken naar het genereren van queries.
    Alle mogelijke queries genereren is een erg complexe zaak. We hebben dan ook besloten om ons toe te spitsen op een specifiek type queries dat eenvoudig te genereren is maar toch voldoende krachtig is om interessante patronen mee te kunnen uitdrukken. Dit zijn de Simpele Conjunctieve Queries.
    De twee belangrijkste restricties van de simpele conjunctieve queries zijn:
    ten eerste dat enkel gelijkheden zijn toegestaan. We kunnen zodus vragen naar alle professoren met leeftijd van exact 65, maar niet naar alle professoren met een leeftijd van boven de 50.
    Ten tweede mag elke tabel of relatie slechts 1 maal voorkomen in de query. Dat wil dus zeggen dat we geen vraag kunnen genereren over studenten en hun relatie met andere studenten.
  • Laat ons eerst een kijken naar het genereren van queries.
    Alle mogelijke queries genereren is een erg complexe zaak. We hebben dan ook besloten om ons toe te spitsen op een specifiek type queries dat eenvoudig te genereren is maar toch voldoende krachtig is om interessante patronen mee te kunnen uitdrukken. Dit zijn de Simpele Conjunctieve Queries.
    De twee belangrijkste restricties van de simpele conjunctieve queries zijn:
    ten eerste dat enkel gelijkheden zijn toegestaan. We kunnen zodus vragen naar alle professoren met leeftijd van exact 65, maar niet naar alle professoren met een leeftijd van boven de 50.
    Ten tweede mag elke tabel of relatie slechts 1 maal voorkomen in de query. Dat wil dus zeggen dat we geen vraag kunnen genereren over studenten en hun relatie met andere studenten.
  • Laat ons eerst een kijken naar het genereren van queries.
    Alle mogelijke queries genereren is een erg complexe zaak. We hebben dan ook besloten om ons toe te spitsen op een specifiek type queries dat eenvoudig te genereren is maar toch voldoende krachtig is om interessante patronen mee te kunnen uitdrukken. Dit zijn de Simpele Conjunctieve Queries.
    De twee belangrijkste restricties van de simpele conjunctieve queries zijn:
    ten eerste dat enkel gelijkheden zijn toegestaan. We kunnen zodus vragen naar alle professoren met leeftijd van exact 65, maar niet naar alle professoren met een leeftijd van boven de 50.
    Ten tweede mag elke tabel of relatie slechts 1 maal voorkomen in de query. Dat wil dus zeggen dat we geen vraag kunnen genereren over studenten en hun relatie met andere studenten.
  • Laat ons eerst een kijken naar het genereren van queries.
    Alle mogelijke queries genereren is een erg complexe zaak. We hebben dan ook besloten om ons toe te spitsen op een specifiek type queries dat eenvoudig te genereren is maar toch voldoende krachtig is om interessante patronen mee te kunnen uitdrukken. Dit zijn de Simpele Conjunctieve Queries.
    De twee belangrijkste restricties van de simpele conjunctieve queries zijn:
    ten eerste dat enkel gelijkheden zijn toegestaan. We kunnen zodus vragen naar alle professoren met leeftijd van exact 65, maar niet naar alle professoren met een leeftijd van boven de 50.
    Ten tweede mag elke tabel of relatie slechts 1 maal voorkomen in de query. Dat wil dus zeggen dat we geen vraag kunnen genereren over studenten en hun relatie met andere studenten.
  • Laat ons eerst een kijken naar het genereren van queries.
    Alle mogelijke queries genereren is een erg complexe zaak. We hebben dan ook besloten om ons toe te spitsen op een specifiek type queries dat eenvoudig te genereren is maar toch voldoende krachtig is om interessante patronen mee te kunnen uitdrukken. Dit zijn de Simpele Conjunctieve Queries.
    De twee belangrijkste restricties van de simpele conjunctieve queries zijn:
    ten eerste dat enkel gelijkheden zijn toegestaan. We kunnen zodus vragen naar alle professoren met leeftijd van exact 65, maar niet naar alle professoren met een leeftijd van boven de 50.
    Ten tweede mag elke tabel of relatie slechts 1 maal voorkomen in de query. Dat wil dus zeggen dat we geen vraag kunnen genereren over studenten en hun relatie met andere studenten.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Hoe hebben we deze generatie van queries aangepakt? Wel het is zo dat simpele conjunctieve queries eigenlijk opgebouwd kunnen worden aan de hand van drie onderdelen.
    Ten eerste is er de join, die beschrijft welke entiteiten aan welke andere entiteiten gekoppeld zijn en hoe. In dit voorbeeld studenten en cursussen.
    Ten tweede is er de projectie, die beschrijft welk het element is waar de vraag over gaat. In dit voorbeeldje cursussen.
    En ten derde de selectie, die de specifieke aspecten van de vraag bevat. In dit voorbeeld het feit dat de cursussen een project moeten hebben en dat de studenten vrouwelijk moeten zijn.Deze drie onderdelen genereren we in het Conqueror Algoritme dus elks efficient en op een unieke manier, maar ik zal hier verder niet in detail treden.
  • Dat was dus de generatie.
    Omdat we queries genereren is de evaluatie betrekkelijk voor de hand liggend. We stellen deze gewoon in SQL aan de relationele database. We hebben echter in het algoritme enkele aspecten toegevoegd om dit nog efficienter te doen gebeuren, maar ook hier ga ik niet in detail op in.
    Het laatste aspect is het koppelen van queries. Omwille van ons specifiek patroontype, de simpele conjunctieve queries, kunnen we ook dit koppelen van queries efficient uitvoeren, maar ook hier zal ik nier verder over uitweiden.
    In plaats daarvan laat ik jullie enkele voorbeelden zien van patronen die we met het Conqueror Algoritme hebben kunnen ontdekken.
  • Dat was dus de generatie.
    Omdat we queries genereren is de evaluatie betrekkelijk voor de hand liggend. We stellen deze gewoon in SQL aan de relationele database. We hebben echter in het algoritme enkele aspecten toegevoegd om dit nog efficienter te doen gebeuren, maar ook hier ga ik niet in detail op in.
    Het laatste aspect is het koppelen van queries. Omwille van ons specifiek patroontype, de simpele conjunctieve queries, kunnen we ook dit koppelen van queries efficient uitvoeren, maar ook hier zal ik nier verder over uitweiden.
    In plaats daarvan laat ik jullie enkele voorbeelden zien van patronen die we met het Conqueror Algoritme hebben kunnen ontdekken.
  • Dat was dus de generatie.
    Omdat we queries genereren is de evaluatie betrekkelijk voor de hand liggend. We stellen deze gewoon in SQL aan de relationele database. We hebben echter in het algoritme enkele aspecten toegevoegd om dit nog efficienter te doen gebeuren, maar ook hier ga ik niet in detail op in.
    Het laatste aspect is het koppelen van queries. Omwille van ons specifiek patroontype, de simpele conjunctieve queries, kunnen we ook dit koppelen van queries efficient uitvoeren, maar ook hier zal ik nier verder over uitweiden.
    In plaats daarvan laat ik jullie enkele voorbeelden zien van patronen die we met het Conqueror Algoritme hebben kunnen ontdekken.
  • Dat was dus de generatie.
    Omdat we queries genereren is de evaluatie betrekkelijk voor de hand liggend. We stellen deze gewoon in SQL aan de relationele database. We hebben echter in het algoritme enkele aspecten toegevoegd om dit nog efficienter te doen gebeuren, maar ook hier ga ik niet in detail op in.
    Het laatste aspect is het koppelen van queries. Omwille van ons specifiek patroontype, de simpele conjunctieve queries, kunnen we ook dit koppelen van queries efficient uitvoeren, maar ook hier zal ik nier verder over uitweiden.
    In plaats daarvan laat ik jullie enkele voorbeelden zien van patronen die we met het Conqueror Algoritme hebben kunnen ontdekken.
  • Dat was dus de generatie.
    Omdat we queries genereren is de evaluatie betrekkelijk voor de hand liggend. We stellen deze gewoon in SQL aan de relationele database. We hebben echter in het algoritme enkele aspecten toegevoegd om dit nog efficienter te doen gebeuren, maar ook hier ga ik niet in detail op in.
    Het laatste aspect is het koppelen van queries. Omwille van ons specifiek patroontype, de simpele conjunctieve queries, kunnen we ook dit koppelen van queries efficient uitvoeren, maar ook hier zal ik nier verder over uitweiden.
    In plaats daarvan laat ik jullie enkele voorbeelden zien van patronen die we met het Conqueror Algoritme hebben kunnen ontdekken.
  • De database uit dit experiment is de database van een Quiz website.
    Bij zulke een quiz krijg je negen vragen.
    En op het einde krijg je dan een score op negen toegewezen.
  • De database uit dit experiment is de database van een Quiz website.
    Bij zulke een quiz krijg je negen vragen.
    En op het einde krijg je dan een score op negen toegewezen.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden het volgende koppel frequente queries.
    De eerste query vraag Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt.
    De tweede query vraagt Het aantal spelers dat een quiz speelt die ze zelf hebben gemaakt en hierbij bovendien de maximum score behaalden.

    Tegen de verwachtingen in zien we echter dat dit niet hetzelfde is. Het resultaat van de bovenste query is 86% van het resultaat van de onderste.

    We vinden het interessante patroon dat 14% van de spelers niet de maximum score behalen op een quiz die ze zelf hebben gemaakt.
  • We vonden ook het volgende koppel frequente queries.
    Als we het totale aantal quizzen vergelijken met het aantal quizzen gespeeld in 2006, zien we dat die 91% is. Met andere woorden we vinden het patroon dat in 2006 de meerderheid van de quizzen gespeeld werd.
  • We vonden ook het volgende koppel frequente queries.
    Als we het totale aantal quizzen vergelijken met het aantal quizzen gespeeld in 2006, zien we dat die 91% is. Met andere woorden we vinden het patroon dat in 2006 de meerderheid van de quizzen gespeeld werd.
  • We vonden ook het volgende koppel frequente queries.
    Als we het totale aantal quizzen vergelijken met het aantal quizzen gespeeld in 2006, zien we dat die 91% is. Met andere woorden we vinden het patroon dat in 2006 de meerderheid van de quizzen gespeeld werd.
  • We vonden ook het volgende koppel frequente queries.
    Als we het totale aantal quizzen vergelijken met het aantal quizzen gespeeld in 2006, zien we dat die 91% is. Met andere woorden we vinden het patroon dat in 2006 de meerderheid van de quizzen gespeeld werd.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • We vonden ook het volgende koppel frequente queries.
    We vergelijken het totaal aantal spelers met het totale aantal spelers die een quiz spelen die bestaat.
    Die bovenste query is niet meteen een query die we uit onszelf zouden stellen omdat we zouden verwachten dat die gelijk is aan de onderste. Dit is echter niet waar, het aantal is slechts 99%.
    We kunnen dus besluiten dat 1% van de spelers een quiz speelt die niet bestaat.
    Een bizar patroon dat enkel maar kan voorkomen als er fouten in de database zitten. Maar net daarom is het interessant, omdat we zo zulke fouten kunnen ontdekken, en ze verbeteren.
  • Goed, hiermee besluiten we queries als relationeel patroontype.
    Het tweede patroontype dat in mijn proefwerk wordt beschouwd zijn itemsets.
  • Goed, hiermee besluiten we queries als relationeel patroontype.
    Het tweede patroontype dat in mijn proefwerk wordt beschouwd zijn itemsets.
  • Goed, hiermee besluiten we queries als relationeel patroontype.
    Het tweede patroontype dat in mijn proefwerk wordt beschouwd zijn itemsets.
  • We zagen itemsets al helemaal in het begin van deze presentatie, toen we het hadden over winkelkarretjes. Hierop voerden we frequent itemset mining uit om zo tot verzamelingen te komen van frequent samen gekochte producten.

    Laat ons nu even kijk hoe dat in zijn werk gaat.
  • We zagen itemsets al helemaal in het begin van deze presentatie, toen we het hadden over winkelkarretjes. Hierop voerden we frequent itemset mining uit om zo tot verzamelingen te komen van frequent samen gekochte producten.

    Laat ons nu even kijk hoe dat in zijn werk gaat.
  • We zagen itemsets al helemaal in het begin van deze presentatie, toen we het hadden over winkelkarretjes. Hierop voerden we frequent itemset mining uit om zo tot verzamelingen te komen van frequent samen gekochte producten.

    Laat ons nu even kijk hoe dat in zijn werk gaat.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • De winkelkarretjes kunnen in een enkele tabel worden bewaard. We hebben hier dus niet te maken met een relationele database. Als we frequent itemset mining toepassing kunnen we bijvoorbeeld de volgende patronen vinden:
    het patroon “kaas komt voor in het karretje”, is waar voor de karretjes 2,3,4,6,7,9,11,12. 8 van de 12 karretjes dus of met andere woorden in 67% van de gevallen
    “wijn” komt voor in de karretjes 3,4,6,9,11 en 12, dus 6 van de 12 karretjes of 50%.
    kaas en wijn tesamen komt ook in 6 van 12 karretjes voor.
    Net zoals bij de queries, kunnen we ook hier een itemset en een specifiekere itemset vergelijken. Als we bijvoorbeeld kijken naar kaas en dan naar kaas en wijn, zien we dat van de 8 gevallen waarin kaas gekocht word er in 6 daarvan ook wijn gekocht wordt. Of ook in 75% van de gevallen koopt iemand die kaas koopt ook wijn. Andersom als we kijken naar de mensen die wijn kopen zien we dat die in alle gevallen ook kaas kopen.
    Zulke patronen worden ook wel associatie regels genoemd omdat ze een verband tussen productensets weergeven.
  • Nu, zoals gezegd 1 tabel is geen relationele database. In een relationele database hebben we meer tabellen. Gelukkig zijn er ook relaties die de verbindingen tussen deze tabellen beschrijven.
  • Nu, zoals gezegd 1 tabel is geen relationele database. In een relationele database hebben we meer tabellen. Gelukkig zijn er ook relaties die de verbindingen tussen deze tabellen beschrijven.
  • Nu, zoals gezegd 1 tabel is geen relationele database. In een relationele database hebben we meer tabellen. Gelukkig zijn er ook relaties die de verbindingen tussen deze tabellen beschrijven.
  • Nu, zoals gezegd 1 tabel is geen relationele database. In een relationele database hebben we meer tabellen. Gelukkig zijn er ook relaties die de verbindingen tussen deze tabellen beschrijven.
  • Nu, zoals gezegd 1 tabel is geen relationele database. In een relationele database hebben we meer tabellen. Gelukkig zijn er ook relaties die de verbindingen tussen deze tabellen beschrijven.
  • Op die manier kunnen we van deze verschillende tabellen...
  • Op die manier kunnen we van deze verschillende tabellen...
  • Op die manier kunnen we van deze verschillende tabellen...
  • Op die manier kunnen we van deze verschillende tabellen...
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • ... een enkele tabel maken. Dit gebeurd met behulp van een full outer join.
    Nu we terug 1 tabel hebben kunnen we eenvoudigweg terug itemset mining toepassen en vinden we bijvoorbeeld het patroon
    project = ja dat geldt voor 12 van de 14 of 86% van ...
    en hier zit nu net het probleem, 86% van wat?
    Door op deze tabel gewoon frequent itemset mining toe te passen heeft frequentie geen duidelijke betekenis meer.
  • Daarom kwamen we met het volgende sleutel of key idee.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • In een relationele databank is het typisch dat elke tabel een unieke sleutel of key heeft gedefinieerd die toelaat om op een unieke manier naar elementen van zulk een tabel te verwijzen.
    We kunnen dus om frequentie van itemsets te bepalen deze unieke sleutels gaan tellen.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Laten we dit even demonstreren aan de hand van het volgende voorbeeld.
    Het patroon 30 studiepunten komt verschillende keren in de full outer join voor.
    Nu gaan we echter naar de sleutels kijken.
    Als we kijken naar cursussen zien we dat dit voorkomt voor sleutel 2 en 4, wat neerkomt op 2 van de 4 cursussen of 50%. We hebben dus het patroon dat 50% van de cursussen 30 studiepunten waard is.
    Als we echter kijken naar studenten, dan zien we dat dit overeenkomt met de sleutels 2,3 en 4. Maw, 3 van de 5 of 60% van de studenten volgt een vak van 30 studiepunten.
    Ten laatste kunnen we ook professoren bekijken, hier zien we dat we sleutels 1,2 en 3 krijgen, maw alle professoren geven een van van 30 studiepunten.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Het is duidelijk dat frequentie nu terug een duidelijk betekenis heeft.
    Dit soort patronen, noemen we relationele itemsets.
  • Er is echter nog een resterend probleem.
    De join tabel die we gebruiken om onze patronen in te vinden is typisch erg groot. Zo groot dat deze te veel geheugen van de computer vereist, maar evenzeer te veel tijd om ze op te stellen
    Er is dus nood aan een efficient algoritme op dit probleem aan te pakken.
  • Er is echter nog een resterend probleem.
    De join tabel die we gebruiken om onze patronen in te vinden is typisch erg groot. Zo groot dat deze te veel geheugen van de computer vereist, maar evenzeer te veel tijd om ze op te stellen
    Er is dus nood aan een efficient algoritme op dit probleem aan te pakken.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Hiervoor hebben wij het SMuRFIG algoritme ontwikkel.SMuRFIG staat voor
    Simple Multi-Relational Frequent Itemset Generator.
  • Ik ga het SMuRFIG algoritme niet in volle detail uitleggen maar enkel twee van de belangrijkste concepten die het gebruikt en dat is
    intersectie EN
    propagatie
  • Ik ga het SMuRFIG algoritme niet in volle detail uitleggen maar enkel twee van de belangrijkste concepten die het gebruikt en dat is
    intersectie EN
    propagatie
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Laat ons beginnen met intersectie.
    Stel we focussen ons even enkel op studenten.
    Als we het patroon project=neen bekijken zien we dat dit voorkomt voor student 2 en 3
    Het patroon geslacht = vrouwelijk voor student 2 en 4.
    Om te berekenen voor welke studenten het patroon project = neen EN geslacht = vrouwelijk voorkomt kunnen we de intersectie of doorsnede van deze twee verzamelingen nemen, en zo bekomen we enkel nog student 2.
  • Dat was ruwweg gezegd intersectie, de eerste basiscomponent van he SMuRFIG algoritme.
    De tweede component is propagatie.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • Propagatie zorgt ervoor dat we frequenties kunnen berekenen zonder de join tabel te constueren.
    Stel we hebben het patroon professor barabas en we willen weten welke studenten hier aan gelinkt zijn.
    Op basis van de relatie Teaches kunnen we nu het patroon professor barabas propageren naar curssussen.
  • en dan weer verder kunnen we met behulp van de relatie Takes deze cursussen propageren naar de studenten. Zo bekomen we dus dat studenten 1,2,3 en 5 gelinkt zijn aan professor barabas.
  • en dan weer verder kunnen we met behulp van de relatie Takes deze cursussen propageren naar de studenten. Zo bekomen we dus dat studenten 1,2,3 en 5 gelinkt zijn aan professor barabas.
  • en dan weer verder kunnen we met behulp van de relatie Takes deze cursussen propageren naar de studenten. Zo bekomen we dus dat studenten 1,2,3 en 5 gelinkt zijn aan professor barabas.
  • Dat is ruwweg genomen propagatie. Nu in ons voorbeeld defineerden we intersectie nog aan de hand van de join tabel, maar doordat propagatie zullen we deze echter niet berekenen. In het SMuRFIG algoritme ontwikkelde we echter een nieuwe manier om intersectie en propagatie te combineren om zo relationele itemsets te genereren. Op deze complexe integratie ga ik echter niet verder in, maar beschouw ik kort nog een experimenteel voorbeeld.
  • In de database van het departement wiskunde en informatica vonden we zo bijvoorbeeld het frequente patroon
    studenten in bachelor informatica.
    Door te kijken naar de verschillende sleutels vinden we zo dat
    75 % vd studenten BINF stud zijn
    68% van de profs een cursus geven aan BINF stud EN
    slecht 39% vd cursussen worden gevolgd door BINF studs.
  • In de database van het departement wiskunde en informatica vonden we zo bijvoorbeeld het frequente patroon
    studenten in bachelor informatica.
    Door te kijken naar de verschillende sleutels vinden we zo dat
    75 % vd studenten BINF stud zijn
    68% van de profs een cursus geven aan BINF stud EN
    slecht 39% vd cursussen worden gevolgd door BINF studs.
  • In de database van het departement wiskunde en informatica vonden we zo bijvoorbeeld het frequente patroon
    studenten in bachelor informatica.
    Door te kijken naar de verschillende sleutels vinden we zo dat
    75 % vd studenten BINF stud zijn
    68% van de profs een cursus geven aan BINF stud EN
    slecht 39% vd cursussen worden gevolgd door BINF studs.
  • In de database van het departement wiskunde en informatica vonden we zo bijvoorbeeld het frequente patroon
    studenten in bachelor informatica.
    Door te kijken naar de verschillende sleutels vinden we zo dat
    75 % vd studenten BINF stud zijn
    68% van de profs een cursus geven aan BINF stud EN
    slecht 39% vd cursussen worden gevolgd door BINF studs.
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • Hiermee besluiten we itemsets als patronen.

    Samengevat hebben we du Queries beschouwd als relationele patronen en hiervoor het Conqueror Algoritme ontwikkeld.
    We bestudeerden ook relationele itemsets en ontwikkelden hiervoor het efficient SMuRFIG algoritme.

    Aan beide algoritme zit echter ook hetzelfde nadeel dat bij vele andere data mining algoritmes is terug te vinden alleen maakt de relationele setting dit nog ietswat erger
  • en dat is de patroon explosie.
    Een grote database levert een groot aantal patronen op. En we willen deze verzameling patronen natuurlijk enkel beperken tot diegene die we echt interessant vinden.
  • en dat is de patroon explosie.
    Een grote database levert een groot aantal patronen op. En we willen deze verzameling patronen natuurlijk enkel beperken tot diegene die we echt interessant vinden.
  • Zowel voor het Conqueror algoritme als voor het SMuRFIG algoritme bekeken we in ons proefschrift enkele oplossingen voor die ik slechts kort zal opsommen.

    Voor Conqueror keken we naar het detecteren van afhankelijkheden in de data. Afhankelijkheden in de data kunnen namelijk veel redundante patronen opleveren. Door deze echter eerst te ontdekken kunnen we vele redundanties vermijden.
    Ook bij het SMuRFIG algoritme keken we naar het elimineren van redundantie en veralgemeenden we enkele technieken uit standaard frequent itemset mining naar onze relationele itemsets.
    Hier bovenop definieerden we ook een nieuwe maat, deviation genaamd, die ons toelaat om meer focus te leggen op het ontdekken van onverwachte patronen.
  • Zowel voor het Conqueror algoritme als voor het SMuRFIG algoritme bekeken we in ons proefschrift enkele oplossingen voor die ik slechts kort zal opsommen.

    Voor Conqueror keken we naar het detecteren van afhankelijkheden in de data. Afhankelijkheden in de data kunnen namelijk veel redundante patronen opleveren. Door deze echter eerst te ontdekken kunnen we vele redundanties vermijden.
    Ook bij het SMuRFIG algoritme keken we naar het elimineren van redundantie en veralgemeenden we enkele technieken uit standaard frequent itemset mining naar onze relationele itemsets.
    Hier bovenop definieerden we ook een nieuwe maat, deviation genaamd, die ons toelaat om meer focus te leggen op het ontdekken van onverwachte patronen.
  • Zowel voor het Conqueror algoritme als voor het SMuRFIG algoritme bekeken we in ons proefschrift enkele oplossingen voor die ik slechts kort zal opsommen.

    Voor Conqueror keken we naar het detecteren van afhankelijkheden in de data. Afhankelijkheden in de data kunnen namelijk veel redundante patronen opleveren. Door deze echter eerst te ontdekken kunnen we vele redundanties vermijden.
    Ook bij het SMuRFIG algoritme keken we naar het elimineren van redundantie en veralgemeenden we enkele technieken uit standaard frequent itemset mining naar onze relationele itemsets.
    Hier bovenop definieerden we ook een nieuwe maat, deviation genaamd, die ons toelaat om meer focus te leggen op het ontdekken van onverwachte patronen.
  • Zowel voor het Conqueror algoritme als voor het SMuRFIG algoritme bekeken we in ons proefschrift enkele oplossingen voor die ik slechts kort zal opsommen.

    Voor Conqueror keken we naar het detecteren van afhankelijkheden in de data. Afhankelijkheden in de data kunnen namelijk veel redundante patronen opleveren. Door deze echter eerst te ontdekken kunnen we vele redundanties vermijden.
    Ook bij het SMuRFIG algoritme keken we naar het elimineren van redundantie en veralgemeenden we enkele technieken uit standaard frequent itemset mining naar onze relationele itemsets.
    Hier bovenop definieerden we ook een nieuwe maat, deviation genaamd, die ons toelaat om meer focus te leggen op het ontdekken van onverwachte patronen.
  • Met deze toevoegingen vormen zowel het Conqueror algoritme als het SMuRFIG algoritme twee praktische methoden om nieuwe patronen te ontdekken in relationele databases.
  • En hiermee besluit ik mijn presentatie.
    Ik dank u voor uw aandacht.
  • PhD Defense of Wim Le Page

    1. 1. Mining Patterns in Relational Databases Wim Le Page 16 december 2009
    2. 2. Mining?
    3. 3. Data
    4. 4. Knowledge
    5. 5. selection, transformation database data mining data evaluation, presentation patterns knowledge
    6. 6. selection, transformation database data mining data evaluation, presentation patterns knowledge
    7. 7. selection, transformation database data mining data evaluation, presentation patterns knowledge
    8. 8. selection, transformation database data mining data evaluation, presentation patterns knowledge
    9. 9. selection, transformation database data mining data evaluation, presentation patterns knowledge
    10. 10. selection, transformation database data mining data evaluation, presentation patterns knowledge
    11. 11. selection, transformation database data mining data evaluation, presentation patterns knowledge
    12. 12. market basket analysis
    13. 13. selection, transformation database data mining data evaluation, presentation patterns knowledge
    14. 14. shop selection, transformation database data mining data evaluation, presentation patterns knowledge
    15. 15. shop selection, transformation database data mining data evaluation, presentation patterns knowledge
    16. 16. shop selection, transformation database frequent itemset mining data evaluation, presentation patterns knowledge
    17. 17. shop selection, transformation database frequent itemset mining data evaluation, presentation patterns knowledge
    18. 18. shop selection, transformation database frequent itemset mining data evaluation, presentation patterns 75% knowledge
    19. 19. 1000 products
    20. 20. 1000 products 21000 possible itemsets
    21. 21. 1000 products 21000 possible itemsets ≈10 301
    22. 22. 1000 products 21000 possible itemsets ≈10 301 =1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
    23. 23. efficient algorithms
    24. 24. Database
    25. 25. Professor ID Name Age Title 1 Barabas 65 Prof. dr. 2 Gobelijn 65 Prof. dr. 3 Adhemar 10 Prof. dr.
    26. 26. Course Professor ID Name SP Room Project ID Name Age Title 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 4 XML 30 G005 Y
    27. 27. Course Professor ID Name SP Room Project ID Name Age Title 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 4 XML 30 G005 Y Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    28. 28. Database Course Professor ID Name SP Room Project ID Name Age Title 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 4 XML 30 G005 Y Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    29. 29. Database Course Professor ID Name SP Room Project ID Name Age Title 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 4 XML 30 G005 Y Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    30. 30. Database Teaches Course Professor Prof.ID Course.ID ID Name SP Room Project ID Name Age Title 1 2 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 1 3 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 2 1 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 2 4 4 XML 30 G005 Y 3 4 Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    31. 31. Database Teaches Course Professor Prof.ID Course.ID ID Name SP Room Project ID Name Age Title 1 2 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 1 3 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 2 1 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 2 4 4 XML 30 G005 Y 3 4 Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    32. 32. Database Teaches Course Professor Prof.ID Course.ID ID Name SP Room Project ID Name Age Title 1 2 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 1 3 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 2 1 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 2 4 4 XML 30 G005 Y 3 4 Takes Student.ID Course.ID 1 1 1 3 2 2 2 4 Student 3 1 ID Name Age Sex 3 2 1 Marcel 40 M 3 3 2 Fanny 19 F 3 4 3 Konstantinopel 12 M 4 1 4 Charlotte 40 F 5 3 5 Vital 56 M
    33. 33. Relational Database Teaches Course Professor Prof.ID Course.ID ID Name SP Room Project ID Name Age Title 1 2 1 Databases 60 G010 Y 1 Barabas 65 Prof. dr. 1 3 2 Data Mining 30 G005 N 2 Gobelijn 65 Prof. dr. 2 1 3 AI 60 G005 Y 3 Adhemar 10 Prof. dr. 2 4 4 XML 30 G005 Y 3 4 Takes Student.ID Course.ID 1 1 1 3 2 2 2 4 Student 3 1 ID Name Age Sex 3 2 1 Marcel 40 M 3 3 2 Fanny 19 F 3 4 3 Konstantinopel 12 M 4 1 4 Charlotte 40 F 5 3 5 Vital 56 M
    34. 34. selection, transformation database data mining data evaluation, presentation patterns knowledge
    35. 35. selection, transformation database data mining data evaluation, presentation patterns knowledge
    36. 36. selection, transformation relational database data mining data evaluation, presentation patterns knowledge
    37. 37. selection, transformation relational database data mining data evaluation, presentation patterns knowledge
    38. 38. data mining data patterns
    39. 39. relational data mining data patterns
    40. 40. relational data mining relational relational data patterns
    41. 41. Queries
    42. 42. Queries Itemsets
    43. 43. Queries
    44. 44. Queries Which students are male?
    45. 45. Queries Which students are male? Which professors teach a course in room G010?
    46. 46. Queries Which students are male? Which professors teach a course in room G010? Which courses have a project and are taken by female students?
    47. 47. Queries Which courses have a project and are taken by female students?
    48. 48. Queries Which courses have a project and are taken by female students?
    49. 49. Queries Which courses have a project and are taken by female students? SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    50. 50. Queries Which courses have a project and are taken by female students? SELECT DISTINCT Course.ID FROM Course, Takes, Student ID Name SP Room Project WHERE Course.project = ‘Y’ 1 Databases 60 G010 Y AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID 4 XML 30 G005 Y AND Course.ID = Takes.CourseID
    51. 51. Queries SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    52. 52. Queries General SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    53. 53. Queries General Efficient SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    54. 54. Queries General Efficient SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID Natural
    55. 55. Queries General Efficient SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID Natural Flexible
    56. 56. Queries
    57. 57. Queries Which students are male? Which professors teach a course in room G010? Which courses have a project and are taken by female students?
    58. 58. Queries ID Name Age Sex Which students are male? 1 3 Marcel Konstantinopel 40 12 M M 5 Vital 56 M ID Name Age Title Which professors teach a course in room G010? 2 Gobelijn 65 Prof. dr. Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    59. 59. Queries ID Name Age Sex Which students are male? 1 3 Marcel Konstantinopel 40 12 M M 5 Vital 56 M ID Name Age Title Which professors teach a course in room G010? 2 Gobelijn 65 Prof. dr. Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    60. 60. Frequent Queries ID Name Age Sex Which students are male? 1 3 Marcel Konstantinopel 40 12 M M 5 Vital 56 M ID Name Age Title Which professors teach a course in room G010? 2 Gobelijn 65 Prof. dr. Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    61. 61. Frequent Queries Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    62. 62. Frequent Queries ID Name SP Room Project Which courses have a project? 1 3 4 Databases AI XML 60 60 30 G010 G005 G005 Y Y Y Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    63. 63. Frequent Queries ID Name SP Room Project Which courses have a project? 1 3 4 Databases AI XML 60 60 30 G010 G005 G005 Y Y Y Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    64. 64. Frequent Queries 66% of courses with a project are taken by female students ID Name SP Room Project Which courses have a project? 1 3 4 Databases AI XML 60 60 30 G010 G005 G005 Y Y Y Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    65. 65. Contained Frequent Queries 66% of courses with a project are taken by female students ID Name SP Room Project Which courses have a project? 1 3 4 Databases AI XML 60 60 30 G010 G005 G005 Y Y Y Which courses have a project and ID 1 Name Databases SP 60 Room G010 Project Y are taken by female students? 4 XML 30 G005 Y
    66. 66. pairs of contained frequent queries
    67. 67. relational data mining relational pairs of contained data frequent queries
    68. 68. Conqueror Algorithm relational pairs of contained data frequent queries
    69. 69. Conqueror Algorithm
    70. 70. Conqueror Algorithm Generate queries
    71. 71. Conqueror Algorithm Generate queries Evaluate queries
    72. 72. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    73. 73. Conqueror Algorithm Generate queries
    74. 74. Conqueror Algorithm Generate queries Simple Conjunctive Queries
    75. 75. Conqueror Algorithm Generate queries Simple Conjunctive Queries A=B
    76. 76. Conqueror Algorithm Generate queries Simple Conjunctive Queries A=B A>B
    77. 77. Conqueror Algorithm Generate queries Simple Conjunctive Queries A=B R×1 A>B
    78. 78. Conqueror Algorithm Generate queries Simple Conjunctive Queries A=B R×1 A>B R,R
    79. 79. Conqueror Algorithm Generate queries
    80. 80. Conqueror Algorithm Generate queries SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    81. 81. Conqueror Algorithm Generate queries ⋈ Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    82. 82. Conqueror Algorithm Generate queries ⋈ Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID π SELECT DISTINCT Course.ID SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    83. 83. Conqueror Algorithm Generate queries ⋈ Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID π SELECT DISTINCT Course.ID σ Course.project = ‘Y’ AND Student.sex = ‘F’ SELECT DISTINCT Course.ID FROM Course, Takes, Student WHERE Course.project = ‘Y’ AND Student.sex = ‘F’ AND Student.ID = Takes.StudentID AND Course.ID = Takes.CourseID
    84. 84. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    85. 85. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    86. 86. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    87. 87. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    88. 88. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    89. 89. Conqueror Algorithm Generate queries Evaluate queries Pair queries
    90. 90. The number of players that play a quiz they made themselves?
    91. 91. The number of players that play a quiz they made themselves and got the maximum score? The number of players that play a quiz they made themselves?
    92. 92. The number of players that play a quiz they made themselves and got the maximum score? ≠ The number of players that play a quiz they made themselves?
    93. 93. The number of players that play a quiz they made themselves and got the maximum score? = 86% of The number of players that play a quiz they made themselves?
    94. 94. The number of players that play a quiz they made themselves and got the maximum score? = 86% of The number of players that play a quiz they made themselves? 14% of the players do not maximal get a score on a quiz they made themselves
    95. 95. The number of quizzes that are played?
    96. 96. The number of quizzes that are played in 2006? The number of quizzes that are played?
    97. 97. The number of quizzes that are played in 2006? = 91% of The number of quizzes that are played?
    98. 98. The number of quizzes that are played in 2006? = 91% of The number of quizzes that are played? majorityof the quizzes were played in 2006
    99. 99. The number of players?
    100. 100. The number of players that play a quiz that exists? The number of players?
    101. 101. The number of players that play a quiz that exists? ≠ The number of players?
    102. 102. The number of players that play a quiz that exists? = 99% of The number of players?
    103. 103. The number of players that play a quiz that exists? = 99% of The number of players? 1% of the players play a quiz that does notexist
    104. 104. Queries Itemsets
    105. 105. Queries Itemsets
    106. 106. Queries Itemsets
    107. 107. Itemsets
    108. 108. Itemsets
    109. 109. Itemsets frequent itemset mining
    110. 110. Itemsets frequent itemset mining
    111. 111. Itemsets
    112. 112. Itemsets Market Baskets ID Bread Butter Cheese Wine 1 Y Y N N 2 Y N Y N 3 Y N Y Y 4 Y Y Y Y 5 Y N N N 6 Y N Y Y 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    113. 113. Itemsets Market Baskets ID 1 Bread Y Butter Y Cheese N Wine N frequent 2 Y N Y N itemset mining 3 Y N Y Y 4 Y Y Y Y 5 Y N N N 6 Y N Y Y 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    114. 114. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset mining 3 Y N Y Y 4 Y Y Y Y 5 Y N N N 6 Y N Y Y 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    115. 115. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} mining 3 Y N Y Y 4 Y Y Y Y 5 Y N N N 6 Y N Y Y 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    116. 116. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 Y N N N 6 Y N Y Y 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    117. 117. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    118. 118. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    119. 119. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y 12 N N Y Y
    120. 120. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y
    121. 121. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12}
    122. 122. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50%
    123. 123. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50%
    124. 124. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50%
    125. 125. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50%
    126. 126. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50% {(Cheese=Y)} ➔ {(Cheese=Y),(Wine=Y)} 6/8 = 75%
    127. 127. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50% {(Cheese=Y)} ➔ {(Cheese=Y),(Wine=Y)} 6/8 = 75% {(Wine=Y)} ➔ {(Cheese=Y),(Wine=Y)} 6/6 = 100%
    128. 128. Itemsets Market Baskets ID Bread Butter Cheese Wine frequent {(Cheese=Y)} 1 Y Y N N 2 Y N Y N itemset {2,3,4,6,7,9,11,12} 8/12 = 67% mining 3 Y N Y Y 4 Y Y Y Y 5 6 Y Y N N N Y N Y {(Wine=Y)} {3,4,6,9,11,12} 6/12 = 50% 7 Y Y Y N 8 N N N N 9 N Y Y Y 10 N Y N N 11 Y N Y Y {(Cheese=Y), (Wine=Y)} 12 N N Y Y {3,4,6,9,11,12} 6/12 = 50% {(Cheese=Y)} ➔ {(Cheese=Y),(Wine=Y)} 6/8 = 75% {(Wine=Y)} ➔ {(Cheese=Y),(Wine=Y)} 6/6 = 100% association rules
    129. 129. Itemsets
    130. 130. Itemsets Student ID Name Age Sex 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M 4 Charlotte 40 F 5 Vital 56 M
    131. 131. Itemsets Course ID Name SP Room Project 1 Databases 60 G010 Y Student 2 Data Mining 30 G005 N 3 AI 60 G005 Y ID Name Age Sex 4 XML 30 G005 Y 1 Marcel 40 M 2 Fanny 19 F 3 Konstantinopel 12 M Professor 4 Charlotte 40 F ID Name Age Title 5 Vital 56 M 1 Barabas 65 Prof. dr. 2 Gobelijn 65 Prof. dr. 3 Adhemar 10 Prof. dr.
    132. 132. Itemsets Course Takes ID Name SP Room Project Student.ID Course.ID 1 Databases 60 G010 Y Student Teaches 1 1 2 Data Mining 30 G005 N ID Name Age Sex Prof.ID Course.ID 1 3 3 AI 60 G005 Y 4 XML 30 G005 Y 1 Marcel 40 M 1 2 2 2 2 Fanny 19 F 1 3 2 4 3 Konstantinopel 12 M 2 1 3 1 Professor 4 Charlotte 40 F 2 4 3 2 ID Name Age Title 5 Vital 56 M 3 4 3 3 1 Barabas 65 Prof. dr. 3 4 2 Gobelijn 65 Prof. dr. 4 1 3 Adhemar 10 Prof. dr. 5 3
    133. 133. Itemsets Course Takes ID Name SP Room Project Student.ID Course.ID 1 Databases 60 G010 Y Student Teaches 1 1 2 Data Mining 30 G005 N ID Name Age Sex Prof.ID Course.ID 1 3 3 AI 60 G005 Y 4 XML 30 G005 Y 1 Marcel 40 M 1 2 2 2 2 Fanny 19 F 1 3 2 4 3 Konstantinopel 12 M 2 1 3 1 Professor 4 Charlotte 40 F 2 4 3 2 ID Name Age Title 5 Vital 56 M 3 4 3 3 1 Barabas 65 Prof. dr. 3 4 2 Gobelijn 65 Prof. dr. 4 1 3 Adhemar 10 Prof. dr. 5 3
    134. 134. Itemsets Course Takes ID Name SP Room Project Student.ID Course.ID 1 Databases 60 G010 Y Student Teaches 1 1 2 Data Mining 30 G005 N ID Name Age Sex Prof.ID Course.ID 1 3 3 AI 60 G005 Y 4 XML 30 G005 Y 1 Marcel 40 M 1 2 2 2 2 Fanny 19 F 1 3 2 4 3 Konstantinopel 12 M 2 1 3 1 Professor 4 Charlotte 40 F 2 4 3 2 ID Name Age Title 5 Vital 56 M 3 4 3 3 1 Barabas 65 Prof. dr. 3 4 2 Gobelijn 65 Prof. dr. 4 1 3 Adhemar 10 Prof. dr. 5 3
    135. 135. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr.
    136. 136. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr.
    137. 137. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. frequent itemset mining
    138. 138. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. frequent itemset mining {(project=Y)} 12/14 = 86%
    139. 139. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. frequent itemset mining {(project=Y)} 12/14 = 86% of ?
    140. 140. Itemsets Full Outer Join S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. ✘ frequency has no clear meaning
    141. 141. The Key Idea
    142. 142. The Key Idea
    143. 143. The Key Idea Student Professor ID Name Age Sex ID Name Age Title 1 Marcel 40 M 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 5 Vital 56 M Course ID Name SP Room Project 1 Databases 60 G010 Y 2 Data Mining 30 G005 N 3 AI 60 G005 Y 4 XML 30 G005 Y
    144. 144. The Key Idea Student Professor ID Name Age Sex ID Name Age Title 1 Marcel 40 M 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 5 Vital 56 M Course ID Name SP Room Project 1 Databases 60 G010 Y 2 Data Mining 30 G005 N 3 AI 60 G005 Y 4 XML 30 G005 Y
    145. 145. The Key Idea Student Professor ID Name Age Sex ID Name Age Title 1 Marcel 40 M 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 5 Vital 56 M Course ID Name SP Room Project 1 Databases 60 G010 Y 2 Data Mining 30 G005 N 3 AI 60 G005 Y 4 XML 30 G005 Y
    146. 146. The Key Idea Student Professor ID Name Age Sex ID Name Age Title 1 Marcel 40 M 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 5 Vital 56 M Course ID Name SP Room Project 1 Databases 60 G010 Y 2 Data Mining 30 G005 N 3 AI 60 G005 Y 4 XML 30 G005 Y
    147. 147. The Key Idea S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr.
    148. 148. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr.
    149. 149. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr.
    150. 150. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, 4}
    151. 151. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, 4} of the 2/4 = 50% courses
    152. 152. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, 4} of the 2/4 = 50% courses
    153. 153. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, 4} of the 2/4 = 50% courses
    154. 154. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, {2, 3,4 4} } of the 2/4 = 50% courses
    155. 155. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, {2, 3,4 4} } of the 2/4 = 50% courses of the 3/5 = 60% students
    156. 156. The Key Idea {(SP=30)} S.ID Name Age Sex C.ID Name SP Room Project P.ID Name Age Title 1 Marcel 40 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 1 Marcel 40 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 2 Fanny 19 F 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 2 Fanny 19 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 3 Konstantinopel 12 M 1 Databases 60 G010 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 2 Data Mining 30 G005 N 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 3 Konstantinopel 12 M 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 4 Charlotte 40 F 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 2 Gobelijn 65 Prof. dr. 4 Charlotte 40 F 4 XML 30 G005 Y 3 Adhemar 10 Prof. dr. 5 Vital 56 M 3 AI 60 G005 Y 1 Barabas 65 Prof. dr. {2, {2, 3,4 4} } of the 2/4 = 50% courses of the 3/5 = 60% students

    ×