Bericht - Hochschule Wismar - Fakultät für Wirtschaftswissenschaften

Werbung
Hochschule Wismar
Fakultät für Wirtschaftswissenschaften
Bericht
Bericht
Bericht
Projekt „Don’t get kicked“ – Data Mining
zur Veranstaltung Business Intelligence
Zur Veranstaltung Business
eingerichtet von:
Nina Toneva
Geboren am 26.01.1987 in Stara Zagora, Bulgarien
Studiengang Master Digitale Logistik und Management
Matrikelnummer:110 818
Betreuer:
Prof. Dr. Jürgen Cleve
Wismar, den 17.Januar 2012
INHALTSVERZEICHNIS
1. Einleitung……………………………………………………………………….…………...3
1.1. Problemstellung ………….……………………………………………….……………..3
1.2. Zielsetzung und Aufbau des Berichts.…………………………………………………..3
2. Ausgangsdaten………………………………………...........................................................4
3. Datenvorbereitung …………………………………………………………………………4
4. Data Mining ………………………………………….…………………………………….8
5. Ergebnisse bewerten und vergleichen. Schlussfolgerungen ………………………………13
2
1. Einleitung
1.1. Problemstellung
Eine der größten Herausforderungen für ein Autohaus, das Gebrauchtwagen bei einer
Autoauktion kauft, ist das Risiko, dass das Fahrzeug Probleme haben kann, so dass es an die
Kunden nicht verkauft werden kann. Diese unglückliche Käufe werden "Kicks" genannt.
Das Ziel des Wettbewerbs „Don’t get kicked“ von der Plattform Kaggle ist es vorherzusagen,
ob das gekaufte Auto ein schlechter Kauf war oder nicht.
1.2. Zielsetzung und Aufbau des Berichts
Der vorliegende Bericht stellt unterschiedliche Vorgehensweisen im Data Mining Prozess bei
der Vorhersage der schlechten Autokäufe dar sowie ihre Bewertung. Er ist in drei Teilen
gegliedert: die Vorbereitung der Daten, der eigentliche Prozess des Data Mining und die
Bewertung der Ergebnisse.
3
2. Ausgangsdaten
Zum Anfang stehen zwei Arten von Daten zur Verfügung: Trainingsdaten (Anzahl Datensätze
72 983) und Testdaten (Anzahl Datensätze 48 708); die Anzahl der Attribute beträgt 33. Mit
den Trainingsdaten wird ein Modell erstellt, das auf die Testdaten angewendet wird und so die
Vorhersage gemacht wird.
3. Datenvorbereitung
Die Qualität der Daten beeinflusst nicht nur die Ausführung des eigentlichen Data-MiningProzesses, sondern auch die Qualität des Resultats. Daher kann eine große Bedeutung der
Datenvorbereitung beigemessen werden. Dieser Prozess ist nicht immer einfach und kann mit
großem Aufwand verbunden sein.
Bei der Vorbereitung der Daten im Projekt „Don’t get kicked“ werden die folgenden Klassen
der Vorbereitung in Excel angewendet:
3.1. Entitätenidentifikation
Attribute, die das gleiche bedeuten. Solche Attribute sind: VehYear und VehicleAge,
WheelTypeID und WheelType, VNZIP1 und VNST. Man kann nur das eine von den beiden
Attributen lassen: VehicleAge, WheelTypeID, VNST
3.2. Datentransformation
Anpassung von Datumsangaben
Das Attribut PurchDate enthält zwei verschiedene Datentypen (12.7.2009 und 12/14/2009),
was eine Anpassung erfordert.
Das Attribut VehBCost enthält auch zwei Datentypen: Einige Werte sind in number type:
7100 und andere als text type: 9477.5. Das erfordert Ersetzung des „ .“ mit „ ,“ => 9477,5.
Die Werte können noch gerundet werden, so dass alle das gleiche Typ sind 9477,5 =>9478.
3.3. Datensäuberung
Fehlende Daten
Der nächste Schritt bei der Datenvorbereitung ist es zu entscheiden, wie man mit den
fehlenden Werten umgeht. Das sind Attributwerte, die entweder ganz fehlen oder ihre werte
„0“, „NULL“, „not available“ sind, was keine Information über das Attribut liefert.
Tabelle 1. Anteil fehlender Werte an allen Werten
Attribut
Anteil fehlender Werte an allen Werten %
0,01%
Submodel
0,14%
Color
0,01%
Transmission
4,3%
WheelTypeID
4,3%
WheelType
4
Nationality
Size
MMRAcquisitionAuctionAveragePrice
MMRAcquisitionAuctionCleanPrice
MMRAcquisitionRetailAveragePrice
MMRAcquisitonRetailCleanPrice
MMRCurrentAuctionAveragePrice
MMRCurrentAuctionCleanPrice
MMRCurrentRetailAveragePrice
MMRCurrentRetailCleanPrice
PRIMEUNIT
AUCGUART
Quelle: eigene Darstellung
0,006%
0,006%
1,16%
0,98%
1,16%
1,16%
1,12%
0,95%
1,12%
1,12%
95,32%
95,32%
Es sind einige Möglichkeiten, mit den fehlenden Daten umzugehen.
Attribut ignorieren: Die Attribute PRIMEUNIT und AUCGUART können ignorieren werden,
weil sie keine nützliche Information wegen des großen Anteils an fehlenden Werten liefern.
Bei dem Rest der Attribute, die in Tabelle 1 dargestellt sind, ist der Anteil der fehlenden
Werte sehr gering zwischen 0,006% und 4,3%. Die Datensätzen, dessen Wert 0, NULL oder
not available ist, können gelöscht werden und so bei der Weiterverarbeitung nicht beachtet
werden. Andere Möglichkeit ist, dass die fehlenden Werte durch Durchschnittswerte ersetzt
werden oder das Verfahren K Nearest Neighbour benutzt wird.
3.4. Datenreduktion
Wegen des großen Umfangs der Datensätze ist eine Datenreduktion erforderlich, so dass
einerseits der Data-Mining Prozess nicht zu aufwändig ist und andererseits ein besseres
Endergebnis erzielt wird.
Dimensionsreduktion
Bei der Datenvorbereitung ist noch einzuschätzen, welche Attribute wichtig für das Ergebnis
sein können und welche nicht, indem die letzten weggelassen werden. In unserem Fall wäre
sinnvoll, das Attribut „PurchDate“ wegzulassen, weil das Datum des Autoeinkaufs in keinem
Zusammenhang mit der Entscheidung, ob der Einkauf gut oder schlecht ist, steht. Weitere
Attribute, die vernachlässigt werden können, sind:
„Trim“ und „Submodel“: sie werden vom Attribut Model abgeleitet, sie beschreiben das
Model genauer. In diesem Sinn sind die beiden Attributen nicht notwendig, nur das Attribut
Model soll bei der Lieferung eines guten Ergebnis reichen.
„Nationality“: das Attribut „Make“ enthält in sich selbst Information über die Nationalität des
Herstellers (Ford, Dodge bedeutet auch, dass das ein amerikanischer Hersteller ist), deswegen
ist das Attribut „Nationality“ nicht notwendig. In diesem Zusammenhang kann man auch das
Attribut „TopThreeAmericanName“ weglassen.
5
„PRIMEUNIT“, „AUCGUART“: Da über 95% der Werte keine Information liefern, werden
die beiden Attribute auch aus dem Data-Mining-Prozess ausgeschlossen.
„IsOnlineSale“: Da 97,5% der Attributwerte 0 (der Verkauf erfolgte nicht online) ist, lässt
sich nicht optimal bestimmen, ob ein Kauf gut oder schlecht ist. Deswegen wird das Attribut
ausgeschlossen.
Bildung von Gruppen
Wegen des großen Wertebereichs mancher Ausprägungen ist es sinnvoll, dass diese gruppiert
werden. Das erfolgt entweder in Excel mit der entsprechenden Formel (Siehe Abb.1) oder
gleich in Knime anhand des Nodes K-Means.
Abb.1 Bildung von Gruppen in Excel für ausgewählte Attribute
Color: 4 Gruppen werden für 17 Ausprägungen gebildet, die in einer neuen Spalte namens
color_groups eingefügt sind.
Gruppe 1: beige, gold, grey, silver, white, yellow
Gruppe 2: black, blue, brown, maroon
Gruppe 3: green, orange, purple, red
Gruppe 4: not avail, null, other
VehOdo: Wertebereich von 4825 bis 57764. Es werden fünf Gruppen in einer neuen Spalte
namens Vehodo_groups gebildet.
Gruppe 1: alle Werte, die kleiner als 20 000 sind;
Gruppe 2: alle Werte zwischen 20 000 und 40 000;
Gruppe 3: alle Werte zwischen 40 000 und 60 000;
Gruppe 4: alle Werte zwischen 60 000 und 80 000;
Gruppe 5: alle Werte, die größer als 80 000 sind
VehBCost: Wertebereich von 1 bis 45 569; 13 Gruppen in der neuen Spalte namens
Vehbcost_groups:
Gruppe 1: alle Werte, die kleiner als 200 sind
6
Gruppe 2: alle Werte zwischen 2000 und 3000
Gruppe 3: alle Werte zwischen 3000 und 4000
Gruppe 4: alle Werte zwischen 4000 und 5000
Gruppe 5: alle Werte zwischen 5000 und 6000
Gruppe 6: alle Werte zwischen 6000 und 7000
Gruppe 7: alle Werte zwischen 7000 und 8000
Gruppe 8: alle Werte zwischen 8000 und 9000
Gruppe 9: alle Werte zwischen 9000 und 10 000
Gruppe 10: alle Werte zwischen 10 000 und 11 000
Gruppe 11: alle Werte zwischen 11 000 und 12 000
Gruppe 12: alle Werte zwischen 12 000 und 13 000
Gruppe 13: alle Werte, die größer als 13 000 sind
WarrantyCost: Wertebereich von 462 bis 7498; acht Gruppen in der neuen Spalte namens
warrantycosts_groups
Gruppe 1: alle Werte, die kleiner als 500 sind
Gruppe 2: alle Werte zwischen 500 und 1000
Gruppe 3: alle Werte zwischen 1000 und 1200
Gruppe 4: alle Werte zwischen 1200 und 1400
Gruppe 5: alle Werte zwischen 1400 und 1600
Gruppe 6: alle Werte zwischen 1600 und 1800
Gruppe 7: alle Werte zwischen 1800 und 2000
Gruppe 8: alle Werte, die größer als 2000 sind
Die Anzahl der Gruppen für jedes Attribut wird ausgewählt, so dass die Werte relativ
gleichmäßig verteilt sind.
3.5. Einfügen von zusätzlichen Attributen
Da in den Anfangsdaten zahlreiche Information über den Preis des Autos steht (Preis im
Handel und in der Aktion, Preis am heutigen Tag und zum Zeitpunkt des Kaufes, Preis
bezüglich des Autozustandes), wird diese Information zur Datenanalyse benutzt. Das Ziel ist,
7
die Veränderungen in den Preisen festzustellen. Weiterhin werden diese Veränderungen
gruppiert, damit sich die Datendemension reduziert.
Die folgenden neuen Attribute werden eingefügt (siehe Abb.2):
difference betw. Current price and price time of purch. in %: soll zeigen, mit wie viel Prozent
der Anschaffungspreis in der Auktion am heutigen Tag teurer als der Anschaffungspreis in
der Auktion zum Zeitpunkt des Kaufes ist (gibt es Abwertung des Autos?). Dann werden
die prozentuellen Werte in sechs Gruppen erfasst (neue Spalte „Groups1“).
difference betw. Current price and price time of purch. in % = ((CurrentAuctionAveragePrice
– AcquisitionAuctionAveragePrice)/ CurrentAuctionAveragePrice))*100
difference betw. Retail and auction price at day of purchase, in %: soll zeigen, mit wie viel
Prozent der Anschaffungspreis im Handel zum Zeitpunkt des Kaufes teurer als der
Anschaffungspreis in der Auktion zum Zeitpunkt des Kaufes ist (ist das Auto am Tag des
Kaufes günstiger im Handel zu bekommen?). Dann werden die prozentuellen Werte in fünf
Gruppen erfasst (neue Spalte „Groups2“).
difference betw. Retail and auction price
((AcquisitionRetailAveragePrice
AcquisitionRetailAveragePrice))*100
at
day of purchase, in % =
AcquisitionAuctionAveragePrice)/
difference betw. Retail and auction price as of current day, in %: soll zeigen, mit wie viel
Prozent der Anschaffungspreis im Handel am heutigen Tag teurer als der Anschaffungspreis
in der Auktion am heutigen Tag ist (ist das Auto am heutigen Tag günstiger im Handel
oder in der Auktion zu bekommen?). Dann werden die prozentuellen Werte in fünf
Gruppen erfasst (neue Spalte „Groups3“)
difference betw. Retail and
((CurrentRetailAveragePrice
CurrentRetailAveragePrice))*100
auction
price
-
as
of
current day, in % =
CurrentAuctionAveragePrice)/
Abb.2 Zusätzlich eingefügte Attribute
Quelle: training_groups.xls
4. Data Mining
Nach dem erfolgreichen Abschluss der Datenvorbereitung kommt die Datenanalyse, die
mittels der Software KNIME erfolgt. Hier werden verschiedene Verfahren angewendet.
8
4.1. Naive Bayes Verfahren (Die Vorhersage der wahrscheinlichsten Klasse)
Hier werden drei Tests durchgeführt: bei den ersten zwei werden einfach Attribute gelöscht
und bei dem dritten Test: neben den gelöschten Attributen werden neue Attribute eingefügt,
die Werte bestimmter Attribute gruppiert und durch die Gruppen ersetzt.
Abb.3 Naive Bayes Verfahren in KNIME
Test 1 (22 Attribute)
Die folgenden 11 Attribute werden rausgenommen: purchasing date, vehyear, trim,
submodel, wheeltype, nationality, TopThreeAmericanName, PRIMEUNIT, AUCGUART,
VNZIP1, isonlinesale;
Mit diesem Vorgehensweise werden 71% von den Daten als richtig klassifiziert und 29% - als
fasch. In Kaggle: Gini=0,10045
Test 2 (19 Attribute)
Wie Test 1, indem noch die Attribute Transmission, WheelTypeID und VNST rausgenommen
werden.
Mit diesem Vorgehensweise werden 72% von den Daten als richtig klassifiziert und 28%- als
fasch, was zu einer gewissen Verbesserung im Vergleich zu Test 1 führt, aber der Gini –
Index verbessert sich zwar nicht: Gini=0,09922
Test 3 (25 Attribute; neu gebildete Attribute und Gruppen)
11 Attribute werden gelöscht.
Die folgenden Attribute werden durch ihre Gruppen ersetzt:
„Color“ durch Color_groups
„VehOdo“ durch „Vehodo_groups“
9
“VehBCost” durch “Vehbcost_groups”
“WarrantyCosts” durch “Warranty_groups”
Nebenbei werden die Attribute Groups1, Groups2 und Groups3 eingefügt.
Mit diesem Vorgehensweise werden 72 % von den Daten als richtig klassifiziert und 28% als fasch. In Kaggle: Gini=0,10256
4.2. K – Means und Naive Bayes Verfahren
Hier werden die schon aufbereiteten Daten importiert, die Spalten selektiert und bestimmte
Attribute rausgenommen, aber keine vorläufige Gruppierungen von Ausgangsdaten
(außer des Attributs „Color“). Das letzte erfolgt durch das Node k-Means, wo Clustern
gebildet werden (nicht wie bei Test 3, wo die Gruppen vor dem Datenimportiren in KNIME
in Excel gebildet wurden).
Es soll noch festgestellt werden, wie die Anzahl der Cluster (number of clusters) und die
Anzahl der Wiederholungen (max. number of iterations) bei der Clusterbildung das Ergebnis
(den GINI Index) beeinflussen und soll die Frage beantwortet werden: wird einen besseren
GINI Index durch die manuell in Excel gebildeten Gruppen oder durch die anhand des KMeans Nodes gebildeten Cluster erzielt.
Abb.4 Naive Bayes Verfahren mit K-Means in KNIME
Test 4 (21 Attribute und 11 Clustern)
Rausgenommen 12 Attribute: Purchasing date, vehyear, trim, submodel, wheeltype,
transmission, nationality, TopThreeAmericanName, PRIMEUNIT, AUCGUART, VNZIP1,
isonlinesale;
Mithilfe von K-means Node werden die folgenden elf Clustern gebildet: für vehOdo (5
Clustern), VehBCost (13 Clustern), WarrantyCost (8 Clustern) und die acht Preisarten (je 10
Clustern): 10 Wiederholungen bei der Clusterbildung.
10
Problematisch für k-Means Node erweisen sich die fehlenden Werten in den Spalten: dann
können keine Clustern gebildet werden. Deswegen wird vor der Clusterbildung das Node
Missing Value benutzt, wobei die fehlenden Werten durch die am häufigsten eintretenden
Werten (most frequent values) ersetzt werden.
Mit diesem Vorgehensweise werden 68% von den Daten als richtig klassifiziert und 32% - als
fasch. In Kaggle: Gini=0,09410
Test 5 (21 Attribute und 11 Clustern)
Das Verfahren ist das gleiche wie bei Test 4 mit dem Unterschied, dass die Attribute, die in
Clustern gebildet werden, noch normalisiert werden (mithilfe von Node Normalizer, MinMax Normalization Min 0.0 – Max 1.0)
Mit diesem Vorgehensweise werden 68% von den Daten als richtig klassifiziert und 32% - als
fasch. In Kaggle: Gini=0,02427, was deutlich schlechteres Ergebnis als dieses aus Test 4 ist.
Test 6 (24 Attribute und 3 Clustern)
Rausgenommen 9 Attribute: Purchasing date, vehyear, trim, submodel, wheeltype,
PRIMEUNIT, AUCGUART, VNZIP1, isonlinesale (im Vergleich zu Test 4 und 5 bleiben
nationalty, transmission und TopThreeAmericanName)
Clustern werden nur für vehOdo, VehBCost und WarrantyCost (je 10 Clustern und 10
Wiederholungen) gebildet.
Mit diesem Vorgehensweise werden 72% von den Daten als richtig klassifiziert und 28% - als
fasch, Gini=0,10076.
Test 7 (25 Attribute, für 6 Attribute Clustern und zusätzliche Spalten/Gruppen)
Rausgenommen 11 Attribute: Purchasing date, vehyear, trim, submodel, wheeltype,
PRIMEUNIT, AUCGUART, VNZIP1, isonlinesale , nationalty, transmission und
TopThreeAmericanName; 4 zusätzliche Spalten eingefügt: Color_groups, difference betw.
Current price and price time of purch., difference betw. Retail and auction price at day of
purchase, difference betw. Retail and auction price as of current day
Es werden Cluster für die folgenden Spalten gebildet: vehOdo (5 Clustern), VehBCost (13
Clustern), WarrantyCost (8 Clustern), difference betw. Current price and price time of purch.
(6 Clustern), difference betw. Retail and auction price at day of purchase (5 Clustern),
difference betw. Retail and auction price as of current day (5 Clustern). Die Anzahl der
gebildete Clustern ist genau die gleiche wie die Anzahl der vorläufig in Excel gebildeten
Gruppen (Siehe Test 3, der bis jetzt das beste Ergebnis geliefert hat).
Anzahl der Wiederholungen bei der Clusterbildung ist 10.
Mit diesem Vorgehensweise werden 72% von den Daten als richtig klassifiziert und 28% - als
fasch. In Kaggle: Gini=0,08266. Das ist kein besseres Ergebnis im Vergleich zu Test 3.
11
Zurzeit die Bildung von Clustern in KNIME liefert schlechteres Ergebnis im Vergleich zu der
manuellen Bildung von Gruppen in Excel.
Test 8 (22 Attribute und Cluster für 3 Attribute)
Das Ziel dieses Tests ist festzustellen, wie die Anzahl der Clustern und der Wiederholungen
bei der Clusterbildung das Ergebnis beeinflussen. Dafür werden 5 statt 10 Clustern gebildet
und 5 statt 10 Wiederholung vorgenommen, für die gleichen Attribute wie im Test 6 (wo die
Anzahl der Cluster pro Attribut 10 ist und die Anzahl der Wiederholungen – 10).
Mit diesem Vorgehensweise werden 71% von den Daten als richtig klassifiziert und 29% - als
fasch. In Kaggle: Gini=0,10248. Das liefert ein besseres Ergebnis im Vergleich zu Test 6.
Test 9 (25 Attribute, Cluster für 3 Attribute, Gruppen)
12 Attribute werden rausgenommen und 4 neue (Color_groups, Groups1, Groups2 und
Groups3) eingefügt. Hier werden die zwei Vorgehensweisen kombiniert, die die besten
Ergebnisse bis jetzt von der Clusterbildung (Test 8) und von Naive Bayes Verfahren (Test 3)
geliefert haben. Es werden genau die gleichen Attribute wie bei Test 3 analysiert, mit dem
Unterschied, dass statt für die Attribute vehOdo, VehBCost und WarrantyCost in Excel
Gruppen gebildet werden, erfolgt das in KNIME mithilfe des Nodes K-means:
Für die Attribute vehOdo, VehBCost und WarrantyCost werden Clustern anhand K-Means
Node gebildet (je 5 Clustern, 5 Wiederholungen bei der ClusterBildung wie bei Test 8.
Mit dieser Vorgehensweise werden 70% von den Daten als richtig klassifiziert und 30% - als
fasch. In Kaggle: Gini=0,10506. Das liefert ein besseres Ergebnis im Vergleich zu Test 3 und
das beste von den 9 Tests bis jetzt.
Test 10 (25 Attribute und Cluster für 6 Attribute)
Es wird mit den gleichen Attributen wie im Test 9 gearbeitet: diesmal werden Cluster nicht
nur für die Attribute vehOdo, VehBCost und WarrantyCost, sondern auch für die eingefügten
Spalten difference betw. Current price and price time of purch., difference betw. Retail and
auction price at day of purchase , difference betw. Retail and auction price as of current day (je
5 Cluster, je 5 Wiederholungen)
Mit dieser Vorgehensweise werden 72 % von den Daten als richtig klassifiziert und 28% - als
fasch. In Kaggle: Gini=0,11040, was noch besseres Ergebnis im Vergleich zu Test 9 ist.
Test 11 (25 Attribute und Cluster für 7 Attribute)
Wie bei Test 10; zusätzlich werden Clustern auch für das Attribut „VehicleAge“ gebildet; die
Anzahl der gebildeten Clustern für jedes Attribut bleibt die gleiche – 5; die Anzahl der
Wiederholungen wird hingegen erhöht: von 5 auf 10.
Mit dieser Vorgehensweise werden 71% von den Daten als richtig klassifiziert und 29% - als
fasch. In Kaggle: Gini=0,09227. Die Erhöhung der Anzahl der Wiederholungen führt zu
keiner Verbesserung im Vergleich zu Test 10.
12
Test 12 (25 Attribute und Cluster für 7 Attribute)
Wie bei Test 11 mit dem Unterschied, dass die Anzahl der Wiederholungen bei der
Clusterbildung 3 ist.
Mit dieser Vorgehensweise werden 72% von den Daten als richtig klassifiziert und 28% - als
fasch. In Kaggle: Gini=0,09807, was besseres Ergebnis zu dem vorigen Test ist, aber
gleichzeitig nicht besser als das beste bis jetzt Ergebnis (Test 10) ist.
4.3. Decision Tree
Test 13 (22 Attribute)
Wie Tesi 1: die folgenden Spalten werden rausgenommen:
purchasing date,
vehyear, trim, submodel, wheeltype, nationality, TopThreeAmericanName, PRIMEUNIT,
AUCGUART, VNZIP1, isonlinesale;
Mit diesem Vorgehensweise werden 83% von den Daten als richtig klassifiziert und 17% - als
fasch. In Kaggle: Gini=0,03848, was deutlich schlechteres Ergebnis im Verglich zu dem
vorigen Tests ist.
Test 14 (25 Attribute)
Ausgangsdaten wie bei Test 3 (Gruppen werden gebildet und zusätzliche Spalten werden
eingefügt).
Mit diesem Vorgehensweise werden 85 % von den Daten als richtig klassifiziert und 15% als fasch. In Kaggle: Gini=0,03040 , was schlechter Ergebnis im Verglich zu Test 7 ist.
Ähnlich wie bei K-means – Verfahren erweisen sich problematisch die fehlenden Werte: falls
fehlende Werte in den Ausgansdaten gibt, sind fehlende Werte auch im Endergebnis
vorhanden. Mit Hilfe des Missing Value Nodes wird dieses Problem gelöst.
5. Ergebnisse bewerten und vergleichen. Schlussfolgerungen
Nach dem Ende des Wettbewerbs belege ich Platz 476 von 582 mit Gini=0,10589; mit dem
besten erreichten Gini Index von 0,11040 belege ich vor dem Ende des Wettbewerbs Platz 473.
Tabelle 2 gibt eine Übersicht über alle durchgeführten Tests, die angewendeten Verfahren,
den prozentuellen Anteil der richtig und falsch klassifizierten Daten sowie über den Wert des
Gini Index.
Bei allen 14 Test werden Attributen gelöscht. Außerdem werden für bestimmte Attribute wie
Color, vehOdo, VehBCost und WarrantyCost Gruppen in Excel gebildet oder dies erfolgt
mithilfe des Nodes k-Means in KNIME. Durch die Nutzung dieses Nodes kann man
unterschiedliche Variante bei der Clusterbildung ausprobieren und feststellen, wie die Anzahl
der Cluster und der Wiederholungen bei der Clusterbildung den Gini Index beeinflusst.
Weiterhin werden ganz neue Attribute eingefügt und für sie auch Gruppen in Excel gebildet
13
oder in KNIME. Hier ist es festzustellen, ob eine zusätzliche, von dem Benutzer
vorgenommene Analyse der bestehenden Daten zu einer Verbesserung des Ergebnisses führt.
Zwei Methoden zum Data Mining werden angewendet: Das Naive Bayes Verfahren und die
Bildung von Decision Tree. Da die zweite Methode deutlich schlechte Ergebnisse geliefert
hat, wird der Fokus auf das Naive Bayes Verfahren gesetzt.
Tabelle 2. Zusammenfassung: Durchgeführte Tests, richtig/falsch klassifizierte Daten und
Gini Index.
Test
Anzahl Verfahren Beschreibung
Richtig/falsch Gini Index
Attriklassifizierte
bute
Daten in %
Test 1
Test 2
Test 3
22
19
25
Test 4
21
Test 5
21
Test 6
24
Test 7
25
Test 8
22
Test 9
25
Test 10
25
Test 11
25
Naive Bayes 11 Attribute rausgenommen
Naive Bayes 14 Attribute rausgenommen
Naive Bayes 11 Attribute rausgenommen; für 4 Attribute
werden Gruppen gebildet und dadurch
ersetzt; 3 neue Attribute werden
eingefügt, dessen Werte auch gruppiert
werden
Naive Bayes 12 Attribute rausgenommen; Für 11
+ K-Means Attribute
Cluster
gebildet,
10
Wiederholungen pro Clusterbildung:
Naive
Das gleiche wie bei Test 4: vor der
Bayes+KClusterbildung werden die Werte anhand
Means+
des Nodes „Normalizer“ normalisiert.
Normalizer
Naive Bayes 9 Attribute werden rausgenommen; für 3
71/29
72/28
72/28
0,10045
0,09922
0,10256
68/32
0,09410
68/32
0,02427
72/28
0,10076
Attribute Cluster: vehOdo, VehBCost
und WarrantyCost (je 10 Clustern; 10
Wiederholungen) gebildet.
Naive
(25 Attribute, für 6 Attribute Cluster 72/28
Bayes+Kund neue Attribute); Wie bei Test 3(die
Means
+ gleiche Anzahl von Clustern) mit dem
zusätzliche Unterschied, dass hier die Gruppen
Attribute
mithilfe k-Means gebildet werden; 10
Wiederholungen
11 Attribute rausgenommen, für 3 Attribute 71/29
Cluster:
je
5
Clustern
und
5
Wiederholungen
12 Attribute rausgenommen, 4 neue 70/30
eingefügt;Kombination aus Test 3 und 8:
für 3 Attribute Cluster und 4 in Excel
gebildete Gruppen (je 5 Cluster und 5
Wiederholungen)
Naive
Attribute wie Test 9: für 6 Attribute Cluster 72/28
Bayes+K+ color_groups (je 5 Cluster, je 5
means+
1 Wiederholungen)
Gruppe
Naive
Wie Test 10: für 7 Attribute Cluster (je 5 71/29
Bayes+KCluster, je 10 Wiederholungen)
means+1
Naive
Bayes+KMeans
Naive
Bayes+KMeans+
Gruppen
0,08266
0,10248
0,10506
0,11040
0,09227
14
Test 12
25
Test 13
22
Test 14
25
Gruppe
Naive
Bayes+Kmeans+1
Gruppe
Decision
Tree
Decision
Tree
Wie Test 11:
Wiederholungen
je
5
Cluster,
3 72/28
0,09807
Die gleichen Attribute wie bei Test 1
83/17
0,03848
Die gleichen Attribute wie bei Test 3
85/15
0,03040
Schlussfolgerungen
1. Ein hoher Anteil der richtig klassifizierten Daten während der Partitionierung der
Trainingsdaten bedeutet nicht unbedingt, dass es nachher ein guter GINI Index geliefert wird
(siehe Test 13 und 14; Test 1 und 2, wo weniger Attribute höheren Anteil der richtig
vorgesehenen Daten bedeuten und gleichzeitig einen niedrigeren Index).
2. Aus den Ergebnissen von Test 4 und Test 6 lässt sich schließen, dass eine größere Anzahl
der geclusterten Attribute einen niedrigeren GINI Index bedeutet.
3. Die Normalisierung der Werte (Test 5; die Werte übernehmen Werten zwischen 0 und
1.00), bevor Cluster gebildet werden, führt zu einem deutlich schlechtem GINI Index
(0,02427).
4. Aus Test 7 kann man schließen, dass die Bildung von Clustern in KNIME nicht so
erfolgreich ist wie die vorläufig in Excel gebildeten Gruppen. Wie sich von den
nachfolgenden durchgeführten Tests feststellen lässt, liegt dieses Ergebnis daran, dass die
Anzahl der gebildeten Clustern und die Anzahl der Weiderholungen nicht optimal sind (10
Wiederholungen).
5. Test 8 verglichen mit Test 6 beweist, dass die Reduzierung der Anzahl der gebildeten
Cluster (je 5 Cluster für Attribut) und der Anzahl der Wiederholungen (von 10 auf 5) einen
besseren GINI Index liefert. Die weitere Reduzierung der Anzahl der Wiederholungen (Test
12) von 5 auf 3 führt hingegen nicht zu einem besseren Ergebnis.
6. Die zusätzlich eingefügten Attribute (die vorgenommene Analyse der Preise) tragen dazu
bei, dass ein höherer GINI Index erzielt wird (Test 3 im Vergleich zu Test 1 und 2; Test 9 im
Vergleich zu allen vorherigen Tests).
7. Die Methode des Entscheidungsbaums erweist sich deutlich schlechter im Vergleich zu
dem Naive Bayes Verfahren.
8. Das beste Ergebnis (Test 10) wird geliefert durch Kombination von den neu eingefügten
Attributen (die drei, die Information über die Veränderungen in den Preisen liefern und die
Gruppierung der Farben) und der Bildung von Clustern in KNIME (für die drei neuen
Attribute und für drei bestehende Attribute (vehOdo, VehBCost und WarrantyCost)). Die
Anzahl der Cluster für jedes geclusterte Attribut ist 5 und die Anzahl der Wiederholungen –
5.
15
16
Herunterladen