Data Mining Bericht
Transcription
Data Mining Bericht
Data Mining Bericht Analyse der Lebenssituation der Studenten der Hochschule Wismar Zur Veranstaltung Business Intelligence Eingereicht von: Mohamed Oukettou 108 208 Maxim Beifert 118 231 Vorgelegt von: Prof. Dr. Jürgen Cleve Gliederung Ist-Situation Datenvorbereitung Datensäuberung Datenreduktion Data Mining Verfahren Naive Bayes Entscheidungsbaum ID3 und J48 Clustering mit K-Means und Simple K-Means Schlussfolgerung 1. Ist-Situation Am Anfang haben wir insgesamt 54 Attributen und 234 Datensätze. Diese Attribute sind umfangreich und behandeln verschiedene Themen. Wir haben diese in sechs Bereichen unterteilt damit nachher für die Bildung von Zusammenhängen übersichtlich und einfacher sein wird. Unterteilung der Spalten in verschiedenen Themenbereiche: - Finanzen :erhälst du Baföf, erhälst du finanzielle unterstützung von deinen Eltern, gehst du zusätlich arbeiten, wenn ja wie viel stunden, wie hoch ist dein monatliches Budget. - Wohnsituation:In welchen Wohnverhältnissen lebst du 5 Alternativen, Wie viele m² in Deiner Wohnung stehen Dir alleine zur Verfügung, weiß nicht. - Studium :in welchem Studiengang, in welchem Semester, warum studierst du in wismar: ruf der HS-Empfehlung-Wohnortnähe-Finanzielle Gründe- Studiengangsbedingt-andere Gründewie würdest du deine Leistung im S einschätzen, weiß nicht, bist du damit zufrieden, wie vile Zeit nimmt das S in der Woche inkl. Lehrveranstaltungen, denkst du, dass das ausreichend ist. - Freizeit :Besitzt du einen Fernseher, wenn ja, spielst du Onlinespiele, wenn ja, wie viele WE verbringst du in Wismar, treibst du regelmäßig Sport, - Verkehrsmittel:wie kommst du zur Hochschule: Bahn-Bus-Auto-Motorrad-FahrradZu Fuß-anderes, wie bewegst du dich in Wismar: Bus-Auto-Motorrad-Fahrrad-zu Fuß-anderes. - Zufriedenheit: wie zufrieden bist du derzeit mit deiner Lebenssituation, wie schätzt du deine Möglichkeit auf dem Arbeitsmarkt nach abgeschloßenem Studium ein, wie würdest deine Leistung im S einschätzen, bist du damit zufrieden. 2 Datenvorverarbeitung 2.1 Datensäuberung Dieser Vorgang kümmert sich um die fehlende, verrauschte, Falsche sowie inkonsistente Daten. Die Excel Tabelle soll erstmal nach dieser Bedingungen geprüft werden. - in der Spalte wenn ja, wie viele Stunden in der Woche? Fehlen 29 Werte die mit 0 ausgefüllt werden sollen, diese werden manuell eingetragen. In der Tabelle gibt es Felder wo kein Wert eingetragen sind entweder die befragten haben diese Fragen vergessen oder NULL sind. In der Spalte Falls nein, welchen Studiengang hast du vorher belegt? Gibt es das (Null) 215-mal und das wird durch das Wort (keinen) ersetzt um einen einheitlichen Datentyp zu erzeugen. In der Spalte wenn ja, wie viele Stunden gehst du pro Woche arbeiten? Da fehlen 101 Werte das macht einen Anteil von 43,16 % der Gesamtwerte dieser Spalte, Vorgehensweise: diese Felder haben wir mit dem Wert 5 belegt, 5 steht für Nein (d.h. der Student geht nicht arbeiten). In der Spalte (Onlinespiele)wenn ja, wie viele Stunden in der Woche? Fehlen 152 Werte das heißt 64,95% der werte dieser Spalte fehlen. Vorgehensweise: diese Felder haben wir mit dem Wert 4 belegt, 4 steht für Nein (d.h. der Student spielt kein Onlinespiele). In der Spalte Falls Nein, welchen Studiengang hast Du vorher belegt? Liegt inkonsistente Datenwerte, z.B. mache Studenten geben Bachelor BW und mache geben Betriebswirtschaft als Studiengang an, das kann zu Verschlechterung der Ergebnisse in Knime führen. Vorgehensweise: Für Betriebswirtschaft Bachelor BW Für Wirtschaftsinformatik Bachelor WI 2.2 Datenreduktion Es gibt in der Tabelle 54 Attributen und 234 Datensätze das ergibt 54*234= 12636, aufgrund dieser großen Anzahl an Feldern kann zu Fehler kommen, in dieser Hinsicht wird eine Reduktion der Dimension durchgeführt. Entweder das Ausblenden einiger Attribute oder Abhängige Komponenten zusammenfassen. - Ausblenden von Attribute: Die Attribute wie bewegst du dich in Wismar(Anderes und Motorrad) werden entfernt, weil diese keine Informationen liefern. Fast 100 % der befragten benutzen kein Motorrad. Die Attribut wie kommst du zur Hochschule (Anderes und Motorrad) werden auch ausgeblendet, diese liefern keine Informationen. - Entfernen von Datensätze In der Spalte Wie hoch ist dein monatliches Budget fehlen 5 Werte, die man nicht einschätzen kann. In diesem Fall sie werden gelöscht, und das sind folgende Datensätze 23,63, 65, 111, 171, Zusammenfassen von Attributen - Das Attribut wie schätzt du deine Möglichkeiten auf dem Arbeitsmarkt nach abgeschlossenem Studium und das Attribut (Die gleiche Frage mit weiß nicht) werden in einem einzigen Attribut zusammengefasst. Vorgehensweise: die Werte in Weiß nicht Spalte mit 5 codieren und in der Spalte wie schätzt du deine Möglichkeiten auf dem Arbeitsmarkt nach abgeschlossenem Studium einfügen - Das Attribut wie viele m² in deiner Wohnung stehen dir alleine zur Verfügung? und das Attribut Wie viele m² in Deiner Wohnung stehen Dir alleine zur Verfügung (weiß nicht) werden zusammengefasst. Vorgehensweise: Analog zu der vorherigen Vorgehensweise. - Die Spalten In welchen Wohnverhältnissen lebst du (EigentumswohnungMietwohnung- Wohngemeinschaft- Studentenwohnheim- Eltern) werden in einer einzigen Spalte zusammengefasst Vorgehensweise: Eigentumswohnung:1, Mietwohnung:2, Wohngemeinschaft:3, Studentenwohnheim: 4, Eltern: 5 =WENN(V2=1;1;WENN(W2=1;2;WENN(X2=1;3;WENN(Y2=1;4;WENN(Z2=1;5))))) die Spalten wie kommst Du zur Hochschule (Bahn, Bus, Auto, Fahrrad, ZuFuß) werden in einer Spalte zusammengefasst. Bahn: 1, Bus:2, Auto: 3, Fahrrad:4, Zu Fuß:5 =WENN(AN2=1;1;WENN(AO2=1;2;WENN(AP2=1;3;WENN(AQ2=1;4;WENN(AR2=1;5))))) Die Spalte Wie bewegst Du Dich in Wismar (Bus- Auto- Fahrrad- Zu Fuß) werden in einer Spalte zusammengefasst. Bus: 1, Auto: 2, Fahrrad: 3, Zu Fuß: 4 =WENN(AT2=1;1;WENN(AU2=1;2;WENN(AV2=1;3;WENN(AW2=1;4)))) Nach der Durchführung der Datenreduktion und Datentransformation kommen wir zu einer erheblichen Reduktion der Dimension und damit eine Reduktion von 54 Spalten auf 36 Spalten und Datensätze von 234 auf 229 d.h. von 54*234= 12636 auf 34*229= 7786 Nachdem wir die Datenvorbereitung durchgeführt haben, sollen die Themenbereiche wie folgt aussehen. Finanzen: erhälst du Bafög, Erhälst du finanzielle Unterstützung von deinen Eltern, gehst du zusätzlich arbeiten, wenn ja wie viel Stunden, wie hoch ist dein monatliches Budget. Wohnsituation: In welchen Wohnverhältnissen lebst du, wie viele m² stehen dir zur Verfügung. Studium: Studiengang, Semester, ist dies dein Erststudium, falls Nein welchen Studiengang hast du vorher belegt, warum studierst du in Wismar, wie würdest deine Leistung im Studium einschätzen, bist du damit zufrieden, wie viel zeit nimmt das Studium, ist das ausreichend. Freizeit: Fernseh-besitz, wie Stunden schaust du, Onlinespiele, wie viel Stunden spielst du, wie viel WE verbringst du in Wismar, treibst du Sport. Verkehrsmittel: wie kommst du zur Hochschule, wie bewegst du dich in Wismar. Zufriedenheit: wie zufrieden bist du mit deiner Lebenssituation als Student, wie schätzt du deine Möglichkeit auf dem Arbeitsmarkt nach abgeschloßenem Studium ein, wie würdest deine Leistung im S einschätzen, bist du damit zufrieden. 3 Data Mining Verfahren In diesem Abschnitt werden wir ein Ziel setzen und mithilfe vom Data Mining Verfahren die Vorhersage analysieren, in dem wir als Ziel die Zufriedenheit mit der aktuellen Lebenssituation als Student in Wismar festsetzen. 3.1 Naive Bayes Verfahren. Nachdem wir das Verfahren der Datenvorbereitung vorgenommen haben, setzen wir fort mit dem Knime um die Daten zu analysieren. Vorgehensweise: wir haben erstmal die Daten importiert und durch die Node XLS Reader ablesen lassen, dann durch die Node Column Filter die Attributen ausgewählt die bei der Vorhersage und deren Verbesserung hilfen können. Erste Probe: wir haben durch XLs Reader die Daten ablesen lassen, dann mittels der Node Number to String die Daten umgewandelt von numerischen zu nominalen Datentyp, mit der Node Partitioning haben wir die relativität gewält in dem wir eine 80/20 Verhältnis genommen haben d.h. 80% der Daten zum Lernen und 20% zum Vorhersagen. Die 80 % werden über die Node Naive Bayes Learner bearbeitet und in dieser Node haben wir die Spalte die vorherzusagen soll ausgewählt (wie zufrieden bist du zurzeit mit deiner Lebenssituation), wir haben außerdem in der Node Partitioning nicht die draw randomly gehackt sondern die Stratified Sampling mit der Auswahl der Attribut (Wie zufrieden bist du mit deiner Lebenssituation). unser Ziel ist für die Studenten unter gegebenen Bedingungen vorherzusagen ob sie mit der Lebenssituation zufrieden, eher zufrieden, sehr zufrieden, unzufrieden oder eher unzufrieden. In der Node Naive Bayes Predictor werden die 20% übrigen Daten prognostiziert, und anschließend duch die Node Scorer bewertet. Dabei haben wir auch Konfiguration gemacht indem wir als First Column wie zufrieden bist du mit deiner Lebenssituation und als second Column Winner Naive Bayes ausgewählt haben Erste Probe sieht wie folgend aus. Des weiteren haben wir eine zusätzliche Node hinzugefügt (Column Filter) um herauszufiltern welche Attributen könnten das Ergebnis der Vorhersage verbessern oder verschlechtern. Wie vorher erwähnt wurde die Themen sind in 6 Kategorien unterteilt: Finanzen, Studium, Verkehrsmittel, Wohnsituation, Freizeit und Zufriedenheit. Erste Filterung der Attributen die wir vorgenommen haben ist: wir haben die Kategorie der Finanzen, Verkehrsmittel und Studium für die Vorhersage genommen und das Ergebnis sieht so aus Dann haben wir jeder Kategorie im einzelnen die Vorhersage geprüft Das Ergebnis der Vorhersage zeigt die Tabelle. Accuracy Error Finanzen 45,6 ; 21 54,3 ; 25 Studium 41,3 ; 19 58,6 ; 27 Wohnsituation 52,1 ; 24 47,8 ; 22 Freizeit 45,6 ; 21 54,3 ; 25 Zufriedenheit 52,1 ; 24 47,8 ; 22 Verkehrsmittel 58,6 ; 27 41,3 ; 19 Durch viele Änderungen und Updates kommen wir zu einer kleinen Verbesserung der Vorhersage. Zum Beispiel wenn wir ein paar Attributen hinzufügen oder andere Attributen herausfiltern. Weitere Änderungen haben wir in der betrachteten Anteil der zu lernenden Daten wir haben z.B. 25/75, 40/60 usw. 3.2 Clustering K-Means Mit diesem Verfahren versuchen wir zu clustern. Es gibt in Knime verschiedene Methode um zu clustern. Wir haben in dieser Hinsicht die Methode von K-Means verwendet. Das Verfahren in Knime sieht so aus Mit XLS Node lassen wir die Daten gelesen, dann in K-Means Node können wir ein paar Einstellungen vornehmen, wie zum Beispiel die Daten selektieren die zum Clustern relevant sind, die Anzahl der K (number of clusters), die maximal Anzahl von Iterationen. Die Node Color Manager dient dazu die Clustern mit Farben zu identifizieren. In Scatter Plot können wir die Cluster im Diagramm sehen und modifizieren. Mit der Interactive Table können wir die Cluster in Excel Tabelle sehen. Unser Ziel ist die Studenten in Gruppen zu Clustern hinsichtlich der Zufriedenheit mit der Lebenssituation. 1. Versuch mit K=5 und alle Attributen, wir stellen fest dass die Cluster wie folgend zu sehen sind. Der Cluster 2 beinhaltet wenige Datensätze es wird nachher die Clusteranzahl reduziert um diese Cluster auf die andere aufzuteilen Mit dem Interactive Tabelle kann man die Datensätze und zu welchen Cluster gehören, sehen. 2. Versuch mit k= 4, Kategorien(Finanzen, Verkehrsmittel, Studium, Freizeit) Wie aus dem Schema zu sehen ist, die Datensätze werden nach dem Ziel der Zufriedenheit in der Lebenssituation geclustert. Die Farben bezeichnen die Menge der Objekten die zu diesem Cluster gehören. Wir haben die Anzahl der Attributen reduziert und nur die Kategorien Finanzen, Verkehrsmittel, Studium und Freizeit gewählt. Die ausgewählte Kategorien sind so angenommen dass die Güte der Vorhersage und eine bessere Clustering erreicht werden. 3.3 Entscheidungsbaum mit den Algorithmen J48 und ID3 J48 Mit dem J48 erstellen wir einen Entscheidungsbaum, wir lassen die Daten durch XLS Node gelesen und anschließend werden die Datensätze von numerischen zu dem nominalen Datentyp umgewandelt. Mit der Node Partitioning haben wir die Datenmenge in einem Verhältnis von 80/20 aufgeteilt. Mit der J48 Node werden die Trainingsdaten (80%) gelernt und und mit der Weka Predictor werden auf die 20% der Daten vorhergesagt, die Scorer Node zeigt die Ergebnisse. Themen Accuracy % ; Error % ; Anzahl von Anzahl von Daten Daten Finanzen 47,8 ; 22 52,17; 24 Studium 30,4; 14 69,5%; 32 Wohnsituation 47,8; 22 52,1; 24 Freizeit 54,3; 25 45,6; 21 Zufriedenheit 47,8; 22 52,1; 24 Verkehrsmittel 43,4; 20 56,5; 26 Algorithmus ID3 Mit diesem Algorithmus versuchen wir einen Entscheidungsbaum zu generieren. Die Vorgehensweise ist ähnlich der Vorgehensweise mit dem J48 Algorithmus. Mit Dem ID3 Verfahren sollen die numerischen Werten in nominalen umgewandelt, deswegen ist der Einsatz der Node Number to String unabdinglich. Als Wurzelattribut Knime wählt dasjenige Attribut mit dem höchsten Informationsgewinn (Gain) aus. Die Ergebnisse die wir erzielt haben ähneln dem Algorithmus J48. 4. Schlussfolgerung In dieser Projekt haben wir die Theorie in der Praxis umgesetzt, die Verfahren und Algorithmen die wir in der Veranstaltung Business Intelligence verwendet haben, versuchten wir diese mit Hilfe von Knime zu praktizieren. Im Rahmen der durchgeführten Umfrage in der Hochschule Wismar generierten wir eine große Datenmenge, die wir durch Knime analysiert haben. Im ersten Schritt sollte eine Datenvorbereitung durchgeführt werden, dieser Prozess kann zu Verbesserung der Ergebnisse führen. Um eine übersichtliche und gezielte Analyse zu schaffen haben wir die Attributen in verschiedene Themen unterteilt und mit den Methoden des Data Mining analysiert, sowohl überwachte Verfahren wie Klassifizierungsmethoden als auch unüberwachte Verfahren wie Clustering sind die Verfahren die wir eingesetzt haben. Mit dem Naive Bayes und Methoden zur Generierung der Entscheidungsbäume (J48 und ID3) haben fast die gleiche Ergebnisse erzielt. Mit dem Clustering Methode kann man verschiedene Ergebnisse erzielen weil es nicht eine einzige Lösung die zum besten Entscheidungsbaum führen kann, gibt. In dieser Hinsicht sollten wir mit verschiedener KAnzahl probieren.