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