Data Mining Eindverslag 7 juni 2009
Naam:
Email:
Mathijs de Langen Stijn Koopal Marvin Raaijmakers Giel Oerlemans
[email protected] [email protected] [email protected] [email protected]
0611699 0613671 0608141 0607213
Hoofdstuk 1
Tussentijds rapportage 1.1
Inleiding
In dit tussentijds rapportage van het datamining project zullen we beginnen met een aanpassing aan de taken die we op de dataset willen verrichten. Dit heeft te maken met de keuze van de dataset. Aangezien enkel de “general demographics” dataset beschikbaar is via de vak-website kunnen vragen met betrekking tot privacy niet beantwoord worden. Naderhand wordt een beschrijving gegeven van de door ons gebruikte dataset, met daarbij de attribuuttypen, relaties, ontbrekende waarden, geschikte afstandsmaten en eenvoudige visualisaties van de data. Vervolgens geven we een overzicht van uit te voeren data-mining taken en de benodigde preprocessing die voor deze taken vereist is. Voor deze taken zullen wij gebruik maken van het software pakket RapidMiner [2].
1.2
Herziening te verrichten taken
Zoals in de inleiding reeds vermeld is, zijn we met de “general demographics” dataset niet alle onderzoeksvragen te beantwoorden. We schrappen de volgende vraag: • We willen weten met welke attributen we de wens naar privacy kunnen classificeren.
1.3
Onderzoeksvragen
We willen de volgende classificaties onderzoeken: k1 We willen weten met welke attributen we de redenen om niet aan “online purchasing” te doen kunnen classificeren. k2 We willen weten met welke attributen we het internet gebruik van een persoon kunnen classificeren. Met “internet gebruik” bedoelen we de tijd dat de persoon al internet gebruikt. k3 We willen weten met welke attributen we het gebruikte operating system kunnen classificeren. 1
We willen de volgende associaties onderzoeken: a1 Welke invloed heeft het geslacht op andere attributen. a2 Welke invloed heeft de sexuele voorkeur op andere attributen. a3 Welke invloed heeft het ras op andere attributen.
1.4
Beschrijving dataset
De dataset die wij gebruiken komt voort uit een survey die is gehouden onder een grote populatie mensen. Dit wordt verder besproken in hoofdstuk 1.4.1. Aan de hand van deze survey is een dataset gecre¨eerd die wij gaan analyseren. Onze dataset bestaat uit 72 attributen en heeft geen ontbrekende waarden volgens de initi¨ele beschrijving van de dataset. We hebben te maken met 10104 gevallen, we kunnen dus zeggen dat de dataset eruit ziet als 10104 rijen met 72 kolommen. Er zijn verschillende attribuuttypes. We hebben te maken met booleanwaarden, enumeraties en integerwaarden. Met enumeraties wordt bedoeld dat een persoon kan kiezen uit een lijst van opties.
1.4.1
Survey
De dataset is verkregen uit een survey onder meer dan tienduizend personen. De complete survey is te vinden op de website van GVU (Graphics, Visualization, & Usability Center) [1]. Zoals gezegd is gekozen voor de “General Demographics” dataset. Hierin worden meer algemene vragen gesteld met betrekking tot internetgebruik. Verschillende onderwerpen komen aan bod, van meer persoonlijke vragen naar leeftijd en moedertaal, tot meer technische vragen over het gebruikte besturingssysteem. Enkele interessante vragen waarvan wij de antwoorden gaan proberen te beschrijven aan de hand van de overige attributen zullen hier gegeven worden: 1. “Why don’t you purchase more products and services on the web, either for yourself or for your work business?” Deze vraag biedt een uitgebreide lijst antwoordmogelijkheden met redenen om niet meer producten via web-services te kopen. Deze vraag zal van belang zijn bij het beantwoorden van onderzoeksvraag k1. Omdat de antwoorden allen door aparte kolommen in de data-set gerepresenteerd worden, moet er nog het een en ander aan pre-processing gebeuren, voordat de antwoordenverzameling geschikt is om als target attribuut te gebruiken. 2. “How long have you been using the Internet (including using email, gopher, ftp, etc.)?” Bij het beantwoorden van onderzoeksvraag k2 kunnen de antwoorden op deze vraag als uitgangsclassen gebruikt worden. Het feit dat het hier om een ordinale classenindeling gaat, maakt de antwoorden uitermate geschikt als classificatie. 3. “What is your primary computing platform?” De mogelijke lijst antwoorden is vrij groot (en gedateerd) en is ook geschikt om als target attribuut te gebruiken bij het beantwoorden van onderzoeksvraag k3
2
4. “What is your sex?” Een interessante vraag voor het beantwoorden van onderzoeksvraag a1. De enige mogelijkheden zijn man of vrouw. We gaan uitzoeken of er typische mannen of vrouwen dingen bestaan met betrekking tot het internet. 5. “How would you classify yourself?” Deze vraag wordt pas duidelijk wanneer men de mogelijke antwoorden bekijkt. De vraag heeft betrekking op de sexuele voorkeur, mogelijke antwoorden zijn: None of your business!, heterosexual, gay male, lesbian, bisexual, transgender. De laatste is nogal dubbelzinnig, aangezien het niet duidelijk is of het hier gaat om het transseksueel zijn, of het vallen op transseksuelen. We nemen hier de eerste definitie “Het transseksueel zijn”. De vraag speelt een belangrijke rol bij het beantwoorden van onderzoeksvraag a2. 6. “How would you classify yourself?” Hoewel de vraag exact hetzelfde is als de vorige is hij toch uniek. Wederom kijken we naar de antwoorden en constateren we dat het hier gaat om de vraag tot welk ’ras’ de persoon behoort. Bij het beantwoorden van onderzoeksvraag a3 staat deze vraag centraal.
1.4.2
Data visualisatie
Voordat we de data daadwerkelijk gaan minen, zullen we eerst een deel van de relevante data visualiseren aan de hand van histogrammen en schijfdiagrammen. Door deze visualisatie kunnen we de verdeling van een aantal eigenschappen binnen de dataset bekijken. We bekijken dus leeftijd, geslacht, inkomen, welk besturingssysteem er wordt gebruikt, het ras en de seksuele voorkeur van de ondervraagden, omdat dit relevante informatie is voor onze onderzoeksvragen. Zo kunnen we in Figuur 1.3 duidelijk zien dat de gemiddelde leeftijd van de ondervraagden net boven de dertig jaar zit. Ook is het duidelijk dat er meer mannen dan vrouwen zijn ondervraagd (Figuur 1.5). In Figuur 1.6 kunnen we zien dat een redelijk aantal mensen niets over hun inkomen vrij wilde geven. De meeste mensen verdienen tussen de $50.000 en $74.000. Meer dan de helft van de ondervraagden gebruikt het besturingssysteem Windows 95, wat te zien is in Figuur 1.7. Na Windows scoort Macintosch nog redelijk hoog. Als we kijken naar het ras van de ondervraagden zien we dat bijna alle ondervraagden blank zijn. Dit is te zien in Figuur 1.8. Als laatste hebben we een schijfdiagram van de seksuele voorkeur (Figuur 1.9) van de mensen die de enquette hebben ingevuld en daar is te zien dat het grootste aantal personen hetroseksueel is. Het aantal lesbiennes is drie maal zo klein als het aantal homofiele mannen.
1.4.3
Preprocessing
Er is niet veel preprocessing nodig op deze dataset. Er bestaan geen (vooraf bepaalde) afhankelijkheden tussen de verschillende vragen. De enige situatie waar we we in de problemen geraken zijn vragen waarbij meerdere antwoorden gegeven kunnen worden. Deze antwoorden vertegenwoordigen allen een attribuut in de dataset, wat het classificeren van deze attributen vermoeilijkt. Een goed voorbeeld van dit probleem is de vraag waarom men niet aan “online purchasing” zou doen. Hierop zijn negentien antwoorden mogelijk. We zitten met drie opties: 3
1. 19 binaire classificatie taken beschouwen 2. Elke subset labelen 3. Natuurlijk hierarchy in de antwoorden ontdekken In het eerste geval zou de interpretatie van de resultaten voor veel problemen kunnen zorgen, omdat 19 verschillende classificaties erg onoverzichtelijk zijn. In het tweede geval krijgen we 219 subsets, wat ook niet wenselijk is. We zijn dan ook aangewezen op optie nummer drie, waarvoor het bestaan van een natuurlijke hierarchy een vereiste is. We hebben zo’n hierarchy weten te ontdekken. Deze wordt afgebeeld in Figuren 1.1 en 1.2.
Figuur 1.1: Hierarchy “online purchasing” antwoorden
4
Figuur 1.2: Hierarchy “online purchasing” antwoorden
5
Figuur 1.3: Box plot van de leeftijd van de ondervraagden.
6
Figuur 1.4: Histogram van de leeftijd van de ondervraagden.
7
Figuur 1.5: Schijfdiagram van het geslacht van de ondervraagden.
8
Figuur 1.6: Schijfdiagram van de inkomensverdeling van de ondervraagden.
9
Figuur 1.7: Schijfdiagram van de gebruikte besturingssystemen van de ondervraagden.
10
Figuur 1.8: Schijfdiagram van het ras van de ondervraagden.
11
Figuur 1.9: Schijfdiagram van de sexuele voorkeur van de ondervraagden.
12
Hoofdstuk 2
Mining 2.1
Introductie
In de laatste fase van het project gaan we de dataset daadwerkelijk mijnen. Zoals reeds in Hoofdstuk 1 vermeldt, zullen we dit doen met behulp van de software RapidMiner. In dit hoofdstuk zal de gebruikte methodiek bij iedere onderzoeksvraag nader toegelicht worden. Vervolgens zullen kort de resultaten die de betrekkelijke methode produceert worden doorgenomen en de hieruit getrokken conclusies worden behandeld.
2.2
Classificaties algemeen
Voor de classificaties wordt in RapidMiner gebruik gemaakt van de operator chain zoals weergegeven in Figure 2.1. Allereerst wordt de data ingeladen met de operator Example
Figuur 2.1: The operator chain as it is used for classifications in RapidMiner Source. Daarna worden de attributen gewogen gesampled door de Equallabelweighting en 13
WeightedBootstrappingValidation operatoren. De trainingchain bevat de miningsoperator. Voor de classificaties minen we met de DecisionTree operator en de NaiveBayes operator. De validatorchain bevat een ModelApplier, die het model klaar maakt om te valideren. Dit valideren wordt gedaan door de ClassificationPerformance operator, waarbij een belangrijk criteria Accuracy is.
2.3
Classificatie ´ e´ en (k1) We willen weten met welke attributen we de redenen om niet aan “online purchasing” te doen kunnen classificeren.
De data die nodig is om deze classificatie te maken is verdeeld over meerdere kolommen. Elk van deze kolommmen geeft een rede weer waarom iemand niet aan online purchasing zou doen, per rij kan dit veld 1 of 0 bevatten.
2.3.1
Preproccessing
Een aantal rijen uit de dataset waren niet goed ingevuld. Het kwam namelijk voor dat voor ´e´en rij zowel N ot P urchasing N ot applicable als een andere reden was ingevuld. Dat zou dus betekenen dat een gebruiker w´el aan online purchasing zou doen, maar toch een reden opgeeft waarom hij er niet aan doet. We zijn dus genoodzaakt deze incorrecte rijen uit de dataset weg te filteren zodat deze de classificatie niet be¨ınvloeden. Omdat we in RapidMiner geen operator konden vinden die dit voor ons zou doen hebben we zelf hiervoor een scriptje geschreven. Dit script kijkt per rij of N ot P urchasing N ot applicable samen met nog een andere reden is ingevuld en als dat het geval is zal het deze rij verwijderen.
2.3.2
Mining
Deze classificatie maken was nog niet zo makkelijk omdat de data verdeeld staat over 19 kolommen. Het is dus niet mogelijk om 1 classificatie te maken als we niks met de data doen. Daarvoor hebben we gekozen om een hi¨erarchische classificatie te maken. Uitleg hierover is te vinden in Subsectie 1.4.3. We delen eerst de kolommen op in twee groepen: N ot P urchasing N ot applicable en N ot P urchasing Applicable. Wat laten dus eigenlijk alle kolommen die aan N ot P urchasing.∗ voldoen weg uit de dataset (behalve N ot P urchasing N ot applicable) en gaan dan classificeren. Voor het weghalen van deze attributen hebben we de FeatureNameFilter operator gebruikt. Vervolgens zijn we een beslissingsboom gaan maken met de volgende parameters: criterion Gini Index minimal size for split 12 minimal leaf size 10 0.1 minimal gain confidence 0.5 De beslissingsboom die hieruit kwam is te vinden in Figuur 2.2
14
Figuur 2.2: De beslissingsboom horende bij onderzoeksvraag k1
15
True: pred 0.0 pred 1.0 class recall
0.0 0.347 0.225 60.68%
1.0 0.010 0.009 46.67%
class precision 97,27% 3.66%
Tabel 2.1: Accuracy resultaten voor onderzoeksvraag k1
2.3.3
Bevindingen
De verkregen boom is niet overdreven groot en is daardoor goed te lezen. Toch lijkt de boom nutteloos omdat in elk blad van de boom de kansverdeling (blauw is 0.0, rood is 1.0) van de waarde rond de 50/50 ligt, wat niet erg betekenisvol is.
2.3.4
Validation
Als validator wordt de standaard ClassificationPerformance gebruikt, waarbij gekeken wordt naar de accuracy en classification error. De resultaten zijn te vinden in Tabel 2.1. De totale accuracy van het model heeft een gemiddelde score van 60,32 % ± 7,18 % die kleiner is dat de baseline van 87.60 %. De range wordt veroorzaakt door de WeightedBootstrappingValidator, die zorgt voor twee validaties. Een toepassing van deze onderzoeksvraag zou te vinden kunnen zijn bij bedrijven die online producten aanbieden. Deze bedrijven zijn uiteraard enkel ge¨ınteresseerd in bezoekers die aan online purchasing doen, dus waarbij de waarde van het label 1.0 bedraagt. Zo een bedrijf zou er voor kunnen kiezen om pop-up reclames enkel aan deze bezoekers te tonen. In dit geval is het uiteraard onwenselijk om de bezoekers die wel degelijk ge¨ınteresseerd zijn (dus waarde 1.0 hebben), te voorspellen als personen die geen interesse hebben (voorspelling heeft dan de waarde 0.0). In de confusion matrix van Tabel 2.1 is dit resultaat echter niet bevredigend. De penalty op de cell (pred 0.0, true 1.0 ) is in bovenstaande toepassing hoger dan die van de andere cellen. Gezien het feit dat we vaker fout dan goed voorspellen wanneer de echte waarde 1.0 bedraagt, kunnen we concluderen dat het model ook voor deze toepassing niet geschikt is.
2.3.5
Conclusie
Volgens ons is het verkregen model waardeloos. We hebben berekend wat de baseline van de dataset is, daarbij zijn we uitgekomen op 87.60%, de accuracy van dit model is 60.32%.Het is dus beter om altijd uit te gaan van N ot P urchasing Applicable dan van ons model, aangezien er meer kans is om dan goed te voorspellen. Zoals al eerder gezegd zijn we aan de slag gegaan met een hi¨erarchische classificatie. We zouden dus eerst onderscheid maken tussen N ot P urchasing N ot Applicable en N ot P urchasing Applicable, om daarna verder te gaan met onderscheid te maken met de rest van de attributen. De tegenvallende resultaten bij deze groep hebben ertoe geleid dat we de dieper gelegen delen van de hi¨erarchie niet meer verder uitgewerkt hebben.
16
2.4
Classificatie twee (k2) We willen weten met welke attributen we het internet gebruik van een persoon kunnen classificeren. Met “internet gebruik” bedoelen we de tijd dat de persoon al internet gebruikt.
De mogelijke waarden voor dit nominale attribuut zijn: • under 6 months • 6-12 months • 1-3 year • 4-6 year • over 7 year
2.4.1
Preprocessing
De meest voorkomende (default) waarde is 1-3 year, de categorie die ook mooi in het midden van de ordening ligt. Helaas komt dit ook terug wanneer een decision-tree gebouwd wordt. Bijna alle labels komen uit op overheersend de categorie 1-3 year. Er bestaat dus een noodzaak om preprocessing uit te voeren op de dataset, zodat een degelijke classificatie gemaakt kan worden. Dit wordt gedaan door in RapidMiner eerst de EqualLabelWeighting operator toe te passen, gevolgd door de WeightedBootstrappingValidator operator. Hierdoor ontstaat een sample van de dataset, waarin alle classen voor een gelijk deel present zijn. De trainingset bestaat uit 70% van de totale dataset.
2.4.2
Mining
Vervolgens wordt een normale beslissing-boom van de sample-data gebouwd. Voor de eerste mining-operatie worden de volgende parameters genomen: criterion Gain Ratio minimal size for split 6 minimal leaf size 4 minimal gain 0.1 confidence 0.5 De resulterende beslissing-boom wordt weergegeven in Figuur 2.3
2.4.3
Bevindingen
Uit de beslissing-boom in Figuur 2.3 wordt duidelijk geclassificeerd op basis van het al dan niet bezig zijn met “Web page creation”. Opvallend is dat ongeveer de helft van de mensen in de categorie Yes valt en dat (naar verwachting) deze mensen over het algemeen reeds lang actief zijn op het internet. Zo zijn 1022 van de 3557 mensen al 4 tot 6 jaar actief en 1233 van de 3557 mensen al 7 jaar of meer actief. Wanneer iemand zich dus bezighoud met het maken van webpagina’s, dan kun je vrij zeker zeggen dat deze persoon al langere tijd actief is op het internet.
17
Figuur 2.3: De beslissingsboom horende bij onderzoeksvraag k2
18
True: 1-3 yr Under 6 mo 4-6 yr: 6-12 mo Over 7 yr class recall
1-3 yr 0.034 0.100 0.027 0.020 0.096 12.26%
Under 6 mo 0.010 0.149 0.002 0.010 0.013 80.72%
4-6 yr 0.015 0.032 0.024 0.009 0.112 12.71%
6-12 mo 0.013 0.122 0.006 0.019 0.026 10.11%
Over 7 yr 0.002 0.005 0.007 0.003 0.036 67.74%
class precision 46.05% 36.54% 36.73% 30.89% 12.70%
Tabel 2.2: Accuracy resultaten voor onderzoeksvraag k2
2.4.4
Validation
Als validator wordt de standaard ClassificationPerformance gebruikt, waarbij gekeken wordt naar de accuracy en classification error. De resultaten zijn te vinden in Tabel 2.2. De totale accuracy van het model is een bedroevend lage score van 29.38 % ± 6.22 %. De range wordt veroorzaakt door de WeightedBootstrappingValidator, die zorgt voor twee validaties. Zouden we alle personen classificeren in de groep 1-3 jaar, dan zouden we een accuracy van 38 % behalen, aangezien 38 % van de deelnemers tot deze groep behoort. Alle bevindingen dus ten spijt, is dit model niet geschikt om het internetgebruik te classificeren. Ook het uitvoeren van het NaiveBayes algoritme levert een model op met een accuracy van slechts 31 %. Gezien de bevindingen van deze test lijkt het samenvoegen van een aantal classen een logische stap. Allereerst hebben we drie classen ingedeeld. Onder 6 maanden en 6 tot 12 maanden worden samengevoegd, evenals de classen 4 tot 6 jaar en 7 jaar of langer. De derde classe bestaat uit 1 tot 3 jaar. De accuracy komt in na uitvoering van de test uit op een schamele 40 tot 45 %. Hoewel het beter is dan de initi¨ele indeling, is het resultaat nog steeds niet voldoende. We hebben ervoor gekozen om vervolgens de groepen: Under 6 mo, 6-12 mo, 1-3 yr en 4-6 yr, Over 7 yr samen te voegen. Dit levert na het uitvoeren de nieuwe validatiecyclus een accuracy van om en nabij 66 % (70% met Bayes) op, wat al een significante verbetering is. Echter de baseline is ook verschoven naar zo’n 75 % door het samenvoegen van classen. Uit de resulterende boom, komt wel wederom naar voren dat het cre¨eren van webpagina’s een redelijke classifier is (Zie Figuur 2.4).
2.4.5
Conclusie
Het internetgebruik is niet te classificeren met behulp van een beslissingsboom of het uitvoeren van het NaiveBayes algormitme. Na het samenvoegen van een aantal classen lijkt de internetduur uit het al dan niet cre¨eren van webpagina’s af te leiden te zijn. Dit is een logisch verband in onze ogen.
2.5
Classificatie drie (k3) We willen weten met welke attributen we het gebruikte operating system kunnen classificeren.
19
Figuur 2.4: Beslissingsboom ter classificatie van het internetgebruik in twee classen verdeelt De mogelijk waarden voor dit nominale attribuut zijn: • • • • • • • •
Macintosh Win95 Windows DOS OS2 Unix NT Don’t know 20
• PC Unix • VT100 • Other
2.5.1
Preproccessing
De meest voorkomende (default) waarde is Windows en deze komt ook in meer dan de helft van de dataset voor. Om een degelijke classificatie te maken hebben we dus een preprocessingstap toe moeten voegen. Deze bestaat uit de EqualLabelWeighting operator, gevolgd door de WeightedBootstrappingValidator operator. Hierdoor ontstaat een sample van de dataset, waarin alle classen voor een gelijk deel present zijn. De trainingset bestaat uit 70% van de totale dataset.
2.5.2
Mining
Voor deze classificatie hebben we gekozen voor het Naive Bayes algoritme. Voor de eerste mining operatie geven we de volgende parameters mee: keep example set false laplace correction true
2.5.3
Bevindingen
Uit de resultaten was op het oog nagenoeg niets af te leiden.
2.5.4
Validation
Als validator wordt de standaard ClassificationPerformance gebruikt, waarbij gekeken wordt naar de accuracy en classification error. De resultaten zijn te vinden in Tabel 2.3. De totale accuracy van het model is een bedroevend lage score van 35.74 %.
2.5.5
Conclusie
Het gevonden model helpt niet bij het classificeren van gebruikte besturingssystemen, aangezien de baseline 43% is en de accuraatheid van het model hier bijna 10% onder ligt.
2.6
Associatie regels
We hebben eerst geprobeerd om met RapidMiner rules te genereren, maar blijkbaar doet RapidMiner dit op ´e´en of andere manier verkeerd. Zo genereerde RapidMiner bijvoorbeeld regels als Gender = M ale ⇒ Gender = F emale. Daarom hebben we een andere tool gebruikt voor het vinden van frequente item sets en de rules. Voor het genereren van de frequente item sets hebben gebruik gemaakt van een implementatie van het LCM2 [3] algoritme.
21
Tabel 2.3: Accuracy resultaten voor onderzoeksvraag k3
22
Macintosh 294 70 74 0 0 0 0 0 0 0 0 0 67.12%
True:
Macintosh Win95 Windows DOS OS2 Unix NT Dont Know Don’t Know PC Unix Other VT1 class recall
419 409 475 0 0 0 0 0 0 0 0 0 31.39%
Win95 50 35 88 0 0 0 0 0 0 0 0 0 50.87%
Windows 4 2 10 0 0 0 0 0 0 0 0 0 0.00%
DOS 13 8 4 0 0 0 0 0 0 0 0 0 0.00%
OS2 37 12 15 0 0 0 0 0 0 0 0 0 0.00%
Unix 83 24 27 0 0 0 0 0 0 0 0 0 0.00%
NT 0 0 0 0 0 0 0 0 0 0 0 0 0.00%
Dont Know 0 5 21 0 0 0 0 0 0 0 0 0 0.00%
Don’t Know
11 5 6 0 0 0 0 0 0 0 0 0 0.00%
PC Unix
2 1 7 0 0 0 0 0 0 0 0 0 0.00%
Other
0 0 2 0 0 0 0 0 0 0 0 0 0.00%
VT100
32.20% 71.63% 12.07% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00% 0.00%
class precision
2.6.1
Preprocessing
Omdat niet alle attributen van het type boolean zijn, zetten we eerst alle attributen om naar boolean attributen. Als een attribuut met de naam a, de mogelijke waarden v1 , v2 , . . . , vn heeft dan wordt dit attribuut vervangen door n boolean attributen met de namen a = v1 , a = v2 , . . . , a = vn . Zo wordt bijvoorbeeld het attribuut “Gender” omgezet naar de twee attributen “Gender = Male” en “Gender = Female”. Omdat we voor alle drie onderzoeksvragen m.b.t. associaties willen onderzoeken, of een bepaald attribuut a invloed heeft op de waarde van andere atributen, zijn we dus opzoek naar associaties van het type A ⇒ B met a ∈ A. Een probleem bij het vinden van regels die af zijn te leiden van bijvoorbeeld de sexuele voorkeur, is dat het overgrote deel van de ondervraagden hetero als sexuele voorkeur hebben. Zo zijn er 8869 hetero’s tegenover 371 “gay males” (zie Figuur 1.9). Daarom zal bij het zoeken naar frequent item sets een minimal support van ten hoogste 371 moeten zijn om ook regels te kunnen vinden voor homosexuelen. Wanneer we dat doen zullen we echter ook veel meer frequente item sets krijgen voor heterosexuelen, omdat ten opzichte van 8869 een minimal support van 371 weer heel laag is. Het resultaat is dan een grote hoeveelheid frequent item sets die zelfs zo groot is dat de association rule generator deze niet aankan en crashed. Dit probleem hebben we opgelost door voor iedere classe van sexuele voorkeur (“hetero”, “gay male” en “lesbian”) eerst de dataset te filteren zodat we alleen nog maar records van die classe overhouden. Vervolgens zoeken we voor die gefilterde dataset de frequent item sets, waarbij we een minimal support kiezen die gelijk is aan 50% van de grootte van de classe. Met deze frequent item sets worden de regels gegenereerd. We hoeven slechts de gefilterde dataset te gebruiken voor het vinden van associaties voor een classe a, omdat regels A ⇒ B met a ∈ A alleen gegenereerd worden met regels waarin a voor komt. De confidence van een regel wordt berekend volgens: conf (A ⇒ B) =
supp(A ∪ B) sup(A)
(2.1)
Bij deze berekening moet dus het support van de itemsets A ∪ B en A bekend zijn en in alle twee van deze itemset zit a.
2.6.2
Postprocessing
Om te kijken hoe goed onze gevonden association-rules zijn, hebben we aan postprocessing gedaan. We hebben een script gemaakt om de lift uit te rekenen van de association-rules betreffende de sexuele voorkeuren van hetero, gay male en lesbians, van de rassen white, black en asian en van de geslachten male en female.
2.6.3
Resultaten
Voor de verschillende association-rules hebben we de dus lift bepaald om te kijken hoe goed de gevonden regels zijn. Deze subsectie geeft voor iedere associatie-onderzoeksvraag de gevonden regels met de hoogste lift.
23
(a1) Welke invloed heeft het geslacht op andere attributen? Male: • Primary Place of WWW Access = Home AND Gender=Male AND Major Geographical Location = USA ⇒ Who Pays for Access Self AND Primary Language = English (sup=2045, conf=0.912539) (lift=1.3622720738443) • Primary Place of WWW Access = Home AND Gender=Male AND Race = White ⇒ Who Pays for Access Self AND Primary Language = English (sup=2027, conf=0.907341) (lift=1.3545123066017) • Primary Place of WWW Access = Home AND Gender=Male AND Race = White AND Primary Language = English ⇒ Who Pays for Access Self (sup=2027, conf=0.934963) (lift=1.3189959531054) • Primary Place of WWW Access = Home AND Gender=Male AND Major Geographical Location = USA AND Primary Language = English ⇒ Who Pays for Access Self (sup=2045, conf=0.933364) (lift=1.3167401691556) Female: • Gender=Female AND Who Pays for Access Self AND Registered to Vote = Yes AND Primary Language = English ⇒ Major Geographical Location = USA (sup=2032, conf=0.933395) (lift=1.1086670575793) • Gender=Female AND Who Pays for Access Self AND Registered to Vote = Yes ⇒ Major Geographical Location = USA AND Primary Language = English (sup=2032, conf=0.91408) (lift=1.1074578257222) • Gender=Female AND Who Pays for Access Self AND Sexual Preference = Heterosexual AND Primary Language = English ⇒ Major Geographical Location = USA (sup=2040, conf=0.931932) (lift=1.1069293367803) • Gender=Female AND Who Pays for Access Self AND Primary Language = English ⇒ Major Geographical Location = USA (sup=2325, conf=0.93149) (lift=1.1064043384254)
(a2) Welke invloed heeft de sexuele voorkeur op andere attributen? Hetero: • Who Pays for Access Self AND Registered to Vote = Yes AND Disability Not Impaired ⇒ Race = White (sup=4372, conf=0.912735) (lift=1.0203094410058) • Web Ordering = Yes AND Registered to Vote = Yes AND Disability Not Impaired ⇒ Race = White (sup=4210, conf=0.91244) (lift=1.0199796724694) • Who Pays for Access Self AND Registered to Vote = Yes ⇒ Race = White (sup=4804, conf=0.910193) (lift=1.0174678422953) • Web Ordering = Yes AND Registered to Vote = Yes ⇒ Race = White (sup=4583, conf=0.909506) (lift=1.0166998728562) Gay male: • Web Ordering = Yes AND Disability Not Impaired ⇒ Race = White AND Gender=Male (sup=256, conf=0.924188) (lift=1.0296508948949) • Web Ordering = Yes AND Who Pays for Access Self AND Disability Not Impaired ⇒ Race = White AND Gender=Male (sup=219, conf=0.924051) (lift=1.0294982612613) • Web Ordering = Yes ⇒ Race = White AND Gender=Male (sup=277, conf=0.923333) (lift=1.0286983273273) • Web Ordering = Yes AND Who Pays for Access Self ⇒ Race = White AND Gender=Male (sup=240, conf=0.923077) (lift=1.0284131141141) Lesbian: • Marital Status = Other AND Race = White ⇒ Disability Not Impaired AND Registered to Vote = Yes AND Gender=Female (sup=50, conf=0.925926) (lift=1.1054422653061) • Web Ordering = Yes AND Disability Not Impaired AND Gender=Female ⇒ Race = White AND Registered to Vote = Yes (sup=71, conf=0.934211) (lift=1.1040675454545) • Falsification of Information = Never AND Web Ordering = Yes ⇒ Gender=Female AND Race = White (lift=1.1037735849057) • Falsification of Information = Never AND Web Ordering = Yes AND Gender=Female ⇒ Race = White (sup=50, conf=1) (lift=1.1037735849057)
24
(a3) Welke invloed heeft het ras op andere attributen? White: • Who Pays for Access Self AND Registered to Vote = Yes AND Primary Language = English ⇒ Major Geographical Location = USA (sup=4825, conf=0.908492) (lift=1.0748356056338) • Web Page Creation = No AND Primary Language = English ⇒ Major Geographical Location = USA (sup=4238, conf=0.908078) (lift=1.0743458028169) • Who Pays for Access Self AND Primary Language = English ⇒ Major Geographical Location = USA (sup=5545, conf=0.907529) (lift=1.0736962816901) • Who Pays for Access Self AND Sexual Preference = Heterosexual AND Primary Language = English ⇒ Major Geographical Location = USA (sup=4800, conf=0.906516) (lift=1.0724978028169) Black: • Primary Place of WWW Access = Home ⇒ Who Pays for Access Self AND Major Geographical Location = USA (sup=90, conf=0.947368) (lift=1.3398490285714) • Primary Place of WWW Access = Home ⇒ Who Pays for Access Self (sup=91, conf=0.957895) (lift=1.3263161538462) • Primary Place of WWW Access = Home AND Major Geographical Location = USA ⇒ Who Pays for Access Self (sup=90, conf=0.957447) (lift=1.3256958461538) • Primary Place of WWW Access = Home AND Primary Language = English ⇒ Who Pays for Access Self (sup=90, conf=0.957447) (lift=1.3256958461538) Asian: • Web Ordering = Yes ⇒ Disability Not Impaired (sup=158, conf=0.923977) (lift=1.0133941290323) • Gender=Male ⇒ Disability Not Impaired (sup=179, conf=0.92268) (lift=1.0119716129032) • Primary Language = English ⇒ Disability Not Impaired (sup=183, conf=0.919598) (lift=1.0085913548387) • Major Geographical Location = USA ⇒ Disability Not Impaired (sup=171, conf=0.919355) (lift=1.0083248387097)
2.6.4
Conclusie
Zoals te zien is, zijn de hoogst gevonden lifts niet hoger dan 1.37. Hieruit kunnen we concluderen dat de gemaakte associatie regels niet heel erg nuttig zijn. We kunnen dus niet echt regels vinden die voor een specifieke groep van geslacht, sexuele voorkeur of ras gelden.
25
Bibliografie [1] GVU, GVU’s General Information Questionnaire Form, http://www.cc.gatech.edu/gvu/user surveys/survey-1997-10/questions/general.html [2] Rapid Miner, Rapid Miner website, http://rapid-i.com/ [3] LCM2, Frequent Itemset http://fimi.cs.helsinki.fi/src/
Mining
26
Implementations
Repository,