Git Product home page Git Product logo

imlementaion-of-the-decisiontree-pca-apriori-algorithms-in-matlab's Introduction

DecisionTree-PCA-Apriori in Matlab

In this repository I am going to implement Decision Tree, Principle Component Analysis, Apriori algorithms in Matlab with an example.

1. PCA – Hauptkomponentenanalyse:

Die Hauptkomponentenanalyse (englisch Principal Component Analysis, kurz PCA) ist ein Verfahren der multivariaten Statistik. Man versucht die Attribute zu ersetzen durch eine Menge von Linearkombinationen dieser, wodurch die Anzahl reduziert wird.

Daten von einem 3 dimensiomnalen Vektorraum in einen 2 dimensionalen Vektorraum.

Die Daten werden dabei durch eine Hauptachsentransformation in einen Vektorraum mit einer neuen Basis überführt und dadurch wird die Korrelation der Attribute minimiert.

Das ganze lässt sich gut anschaulich erklären, wenn man die Daten als Wolke oder Ellipse in einem n-dimensionalem Raum auffasst. Dabei wird der Ursprung des Koordinatensystems in den Schwerpunk der Wolke gelegt. Nun werden nach und nach die Achsen so ausgerichtet, dass den Richtungen mit der größten Varianz bzw. der größten Ausdehnung folgen. Dabei entspricht die erste Achse der größten Ausdehnung und die zweite Achse der zweitgrößten Ausdehnung.

Um PCA Algorithmus zu implementieren habe ich zuerst ein kleines Dataset( in einem 2-dimensionalen Raum mit 1000 Punkten als Daten) in MATLAB erzeugt und für PCA angewendet.

Nachdem ich PCA Algortithmus auf mein Dataset ausgeübt habe, habe ich es gesehen, dass der Umfang der Daten in Dataset von 2 dimensionalem Raum(x1,x2) zu 1 dimensionalem Raum (y1 sogar ohne y2) ersetzen kann. Genauer gesagt,Daten werden von einem 2 dimensiomnalen Vektorraum (X1,X2) in einen 1 dimensionalen Vektorraum (y1) überführt.

 Implementierung des Algorithmus

2. Klassifikation und Decision Tree:

Eine Klassifikation,ist eine planmäßige Sammlung von abstrakten Klassen, die zur Abgrenzung und Ordnung verwendet werden. Bei der Klassifikation geht es ähnlich der Clusteranalyse darum, Objekte Gruppen (hier als Klassen bezeichnet) zuzuordnen. Im Gegensatz zur Clusteranalyse sind hier aber in der Regel die Klassen vordefiniert (Beispielsweise Blumentypen: Iris setosa, Iris virginica, ) und es werden Verfahren aus dem maschinellen Lernen eingesetzt um bisher nicht zugeordnete Objekte diesen Klassen zuzuordnen.

 Klassifikation und Decision Tree:

Decision Tree: Diese Methode, die als Entscheidungsbaum-Lernen bezeichnet wird, ist eine Klassifikationsmethode und berücksichtigt unterschiedliche Aspekte eines Elements, um dessen Wert einzuschätzen.

Um eine Klassifikation eines einzelnen Datenobjektes abzulesen, geht man vom Wurzelknoten entlang des Baumes abwärts. Bei jedem Knoten wird ein Attribut abgefragt und eine Entscheidung über die Auswahl des folgenden Knoten getroffen. Diese Prozedur wird so lange fortgesetzt, bis man ein Blatt erreicht. Das Blatt entspricht der Klassifikation. Ein Baum enthält grundsätzlich Regeln zur Beantwortung von nur genau einer Fragestellung.

 Decision Tree:

Ich habe das Iris Dataset ins Einsaz gebraucht, um einen Entscheidungsbaum zu bauen.Jede Pflanze (Iris setosa, Iris virginica und Iris versicolor) kann beispielsweise vier Attribute (length and the width of the sepals and petals. im Gesamt vier Attributen für jede Pflanzen) besitzen. Der obenstehende binäre Entscheidungsbaum gibt eine Antwort auf die Frage, wie die drei Sorten der Pflanzen(Fisher 1809.1936) nach vier bestimmten berechneten Eigenschften klassifiziert werden können. Als Eingabe benötigt der Baum einen Vektor mit Angaben zu den Attributen einer Pflanze. Beginnend mit dem Wurzelknoten werden nun die Entscheidungsregeln des Baumes auf den Eingabevektor angewendet.

3. Apriori (Assoziationsanalyse):

In der Assoziationsanalyse werden häufige Zusammenhänge in den Datensätzen gesucht und meist als Schlussregeln formuliert. Der Apriori-Algorithmus ist ein Verfahren zur Assoziationsanalyse, einem Bereich des Data-Mining. Er dient der Auffindung von sinnvollen und nützlichen Zusammenhängen in transaktionsbasierten Datenbasen, die in Form von sogenannten Assoziationsregeln dargestellt werden. Ein beliebtes Beispiel, ist folgendes: bei der Warenkorbanalyse wurde festgestellt, dass die Produktkategorien „Windeln“ und „Bier“ überdurchschnittlich oft zusammen gekauft werden, meist dargestellt in Form einer Schlussregel „Kunde kauft Windeln , Kunde kauft Bier“. Die Interpretation dieses Ergebnisses war, dass Männer, wenn sie von ihren Ehefrauen Windeln kaufen geschickt werden, sich gerne noch ein Bier mitnehmen. Durch Platzierung des Bierregals auf dem Weg von den Windeln zur Kasse konnte angeblich der Bierverkauf weiter gesteigert werden.

 Apriori

imlementaion-of-the-decisiontree-pca-apriori-algorithms-in-matlab's People

Contributors

a2amir avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.