Klassifizierung in der R-Programmierung: Das All-in-One-Tutorial zur Beherrschung des Konzepts!
In diesem Tutorial werden wir die Klassifizierung in R gründlich studieren. Wir werden auch den Entscheidungsbaum, die Naïve Bayes-Klassifikation und die Support Vector Machine behandeln. Um es am besten zu verstehen, verwenden wir Bilder und Echtzeitbeispiele.
Bleiben Sie über die neuesten Technologietrends auf dem Laufenden
Treten Sie DataFlair auf Telegram bei!!
- Einführung in die Klassifizierung in R
- Wichtige Klassifikationspunkte in R
- Entscheidungsbaum in R
- Wichtige Terminologien im Zusammenhang mit Entscheidungsbaum
- Arten von Entscheidungsbaum
- Kategoriale (Klassifikations-) Bäume vs Kontinuierliche (Regressions-) Bäume
- Vorteile des Entscheidungsbaums in R
- Nachteile des R-Entscheidungsbaums
- Einführung in die Naïve Bayes-Klassifikation
- Einführung in Support Vector Machines
- Was ist Support Vector Machine?
- Terminologien im Zusammenhang mit R SVM
- Vorteile von SVM in R
- Nachteile von SVM in R
- Support Vector Machine – Regression
- Anwendungen der Klassifizierung in R
- Zusammenfassung
Einführung in die Klassifizierung in R
Wir verwenden es, um eine kategoriale Klassenbezeichnung wie das Wetter vorherzusagen: regnerisch, sonnig, bewölkt oder verschneit.
Wichtige Klassifikationspunkte in R
Es stehen verschiedene Klassifikatoren zur Verfügung:
- Entscheidungsbäume – Diese sind in Form von Fragen und Antworten in der Baumstruktur organisiert.
- Naive Bayes-Klassifikatoren – Ein probabilistisches maschinelles Lernmodell, das zur Klassifizierung verwendet wird.
- K-NN-Klassifikatoren – Basierend auf Ähnlichkeitsmaßen wie der Entfernung werden neue Fälle klassifiziert.
- Support Vector Machines – Es ist ein nicht probabilistischer binärer linearer Klassifikator, der ein Modell erstellt, um einen Fall in eine der beiden Kategorien zu klassifizieren.
Ein Beispiel für die Klassifizierung in R durch Support Vector Machine ist die Verwendung der Funktion classification():
classification(trExemplObj,classLabels,valExemplObj=NULL,kf=5,kernel=”linear”)
Wait! Haben Sie das Tutorial zum Clustering in R
abgeschlossen?:
1. trExemplObj – Es ist ein Exemplar Zug eSet-Objekt.
2. classLabels – Es wird im eSet-Objekt als Variablenname gespeichert, z. B. “type”.
3. valExemplObj – Es wird als Beispiele Validierung eSet-Objekt bekannt.
4. kf – Es wird als der k-Wert des Kreuzvalidierungsparameters bezeichnet. Außerdem ist der Standardwert 5-fach. Durch Einstellen von “Loo” oder “LOO” wird eine einmalige Kreuzvalidierung vorgenommen, die wir durchführen müssen.
5. kernel – In der Klassifikationsanalyse verwenden wir eine Art Kernel. Der Standardkern ist “linear”.
6. classL – Die Etiketten des Zugs.
7. valClassL – Es wird als die Beschriftungen des Validierungssatzes bezeichnet, wenn nicht NULL.
8. predLbls – Es ist definiert als die vorhergesagten Labels gemäß der Klassifikationsanalyse.
Entscheidungsbaum in R
Es ist eine Art überwachter Lernalgorithmus. Wir verwenden es für Klassifizierungsprobleme. Es funktioniert für beide Arten von Eingabe- und Ausgabevariablen. Bei dieser Technik teilen wir die Population in zwei oder mehr homogene Mengen auf. Darüber hinaus basiert es auf dem signifikantesten Splitter / Differenzierer in Eingangsvariablen.
Der Entscheidungsbaum ist ein leistungsfähiger nichtlinearer Klassifikator. Ein Entscheidungsbaum verwendet eine baumartige Struktur, um eine Beziehung zwischen den verschiedenen Merkmalen und potenziellen Ergebnissen herzustellen. Es nutzt Verzweigungsentscheidungen als Kernstruktur.
Beim Klassifizieren von Daten folgt der Entscheidungsbaum den unten genannten Schritten:
- Es bringt alle Trainingsbeispiele zu einer Wurzel.
- Basierend auf den verschiedenen ausgewählten Attributen unterteilt ein Entscheidungsbaum diese Trainingsbeispiele.
- Dann werden Attribute mithilfe einiger statistischer Kennzahlen ausgewählt.
- Die rekursive Partitionierung wird fortgesetzt, bis kein Trainingsbeispiel mehr vorhanden ist.
Wichtige Terminologien im Zusammenhang mit Entscheidungsbaum
- Wurzelknoten: Er repräsentiert die gesamte Grundgesamtheit oder Stichprobe. Darüber hinaus wird es in zwei oder mehr homogene Sätze unterteilt.
- Splitting: Dabei führen wir die Aufteilung eines Knotens in zwei oder mehr Unterknoten durch.
- Entscheidungsbaum: Er entsteht, wenn sich ein Unterknoten in weitere Unterknoten aufteilt.
- Blatt- / Terminalknoten: Knoten, die sich nicht teilen, werden als Blatt- oder Terminalknoten bezeichnet.
- Beschneiden: Wenn wir Unterknoten eines Entscheidungsknotens entfernen, wird dieser Vorgang als Beschneiden bezeichnet. Es ist der entgegengesetzte Prozess der Spaltung.
- Zweig / Unterbaum: Ein Unterabschnitt des gesamten Baumes wird als Zweig oder Unterbaum bezeichnet.
- Übergeordneter und untergeordneter Knoten: Ein Knoten, der in Unterknoten unterteilt ist, wird als übergeordneter Knoten von Unterknoten bezeichnet, während Unterknoten das untergeordnete Element eines übergeordneten Knotens sind.
Arten von Entscheidungsbaum
- Kategoriale(Klassifikations-) Variable Entscheidungsbaum: Entscheidungsbaum, der eine kategoriale Zielvariable hat.
- Entscheidungsbaum für kontinuierliche (Regressions-)Variablen: Der Entscheidungsbaum hat eine kontinuierliche Zielvariable.
Vergessen Sie nicht, die R-Entscheidungsbäume im Detail zu überprüfen
Kategoriale (Klassifikations-) Bäume vs Kontinuierliche (Regressions-) Bäume
Regressionsbäume werden verwendet, wenn die abhängige Variable kontinuierlich ist, während Klassifikationsbäume verwendet werden, wenn die abhängige Variable kategorisch ist.
In continuous ist ein erhaltener Wert eine mittlere Beobachtungsantwort.
In der Klassifikation ist ein Wert, der von einem Endknoten erhalten wird, ein Beobachtungsmodus.
In beiden Fällen gibt es eine Ähnlichkeit. Der Spaltprozess führt zu gewachsenen Bäumen, bis er die Stoppkriterien erreicht. Der gewachsene Baum passt jedoch wahrscheinlich zu den Daten, was zu einer schlechten Genauigkeit bei unsichtbaren Daten führt. Dies bringt ‘Beschneiden’. Pruning ist eine der Techniken, die Tackle Overfitting verwendet.
Vorteile des Entscheidungsbaums in R
- Leicht verständlich: Es sind keine statistischen Kenntnisse erforderlich, um sie zu lesen und zu interpretieren. Die grafische Darstellung ist sehr intuitiv und Benutzer können ihre Hypothese beziehen.
- Weniger Datenbereinigung erforderlich: Im Vergleich zu einigen anderen Modellierungstechniken werden weniger Daten benötigt.
- Der Datentyp ist keine Einschränkung: Er kann sowohl numerische als auch kategoriale Variablen verarbeiten.
- Einfach zu verstehen und zu interpretieren.
- Erfordert wenig Datenaufbereitung.
- Es funktioniert sowohl mit numerischen als auch mit kategorialen Daten.
- Behandelt Nichtlinearität.
- Möglich, ein Modell mit statistischen Tests zu bestätigen.
- Es ist robust. Es funktioniert gut, auch wenn Sie von Annahmen abweichen.
- Es skaliert auf Big Data.
Sie müssen auf jeden Fall die nichtlineare Regressionsanalyse von R untersuchen
Nachteile des R-Entscheidungsbaums
- Überanpassung: Es ist eine der praktischsten Schwierigkeiten für Entscheidungsbaummodelle. Durch Festlegen von Einschränkungen für Modellparameter und Beschneiden können wir dieses Problem in R.
- Nicht für kontinuierliche Variablen geeignet: Zum Zeitpunkt der Verwendung kontinuierlicher numerischer Variablen. Wenn Variablen in verschiedene Kategorien kategorisiert werden, verliert der Entscheidungsbaum Informationen.
- Um zu lernen, dass ein optimaler Baum NP-schwer ist, verlassen sich Algos auf gierige Suche.
- Komplexe “Wenn-Dann” -Beziehungen zwischen Features erhöhen die Baumgröße. Beispiel – XOR-Gatter, Multiplexer.
Einführung in die Naïve Bayes-Klassifikation
Wir verwenden den Satz von Bayes, um die Vorhersage zu treffen. Es basiert auf Vorwissen und aktuellen Erkenntnissen.
Bayes ‘Theorem wird durch die folgende Gleichung ausgedrückt:
wobei P(A) und P(B) die Wahrscheinlichkeit der Ereignisse A und B sind, ohne sich gegenseitig zu betreffen. P(A|B) ist die Wahrscheinlichkeit von A bedingt durch B und P(B|A) ist die Wahrscheinlichkeit von B bedingt durch A.
Einführung in Support Vector Machines
Was ist Support Vector Machine?
Wir verwenden es, um die optimale Hyperebene zu finden (Linie in 2D, eine Ebene in 3D und Hyperebene in mehr als 3 Dimensionen). Dies maximiert den Abstand zwischen zwei Klassen. Unterstützungsvektoren sind Beobachtungen, die Hyperebene auf beiden Seiten unterstützen.
Es hilft bei der Lösung eines linearen Optimierungsproblems. Es hilft auch, die Hyperebene mit der größten Marge zu finden. Wir verwenden den “Kernel-Trick”, um Instanzen zu trennen, die untrennbar sind.
Terminologien im Zusammenhang mit R SVM
Warum Hyperplane?
Es ist eine Linie in 2D und eine Ebene in 3D. In höheren Dimensionen (mehr als 3D) wird es als Hyperebene bezeichnet. Darüber hinaus hilft uns SVM, eine Hyperebene zu finden, die zwei Klassen trennen kann.
Was ist Marge?
Ein Abstand zwischen der Hyperebene und dem nächstgelegenen Datenpunkt wird als Rand bezeichnet. Aber wenn wir es verdoppeln wollen, dann wäre es gleich der Marge.
Wie finde ich die optimale Hyperebene?
Zuerst müssen wir zwei Hyperebenen auswählen. Sie müssen die Daten ohne Punkte zwischen ihnen trennen. Maximieren Sie dann den Abstand zwischen diesen beiden Hyperebenen. Der Abstand ist hier ‘margin’.
Was ist Kernel?
Es ist eine Methode, die hilft, SVM laufen zu lassen, im Falle von nichtlinearen trennbaren Datenpunkten. Wir verwenden eine Kernelfunktion, um die Daten in einen höherdimensionalen Merkmalsraum umzuwandeln. Und auch mit Hilfe davon, führen Sie die lineare Trennung durch.
Verschiedene Kernel
1. linear: u’*v
2. polynom: (gamma * u’* v + coef0) ^ Grad
3. radiale Basis (RBF): exp(-gamma * | u-v | ^ 2) Sigmoid: tanh(gamma * u’* v + coef0)
RBF ist im Allgemeinen die beliebteste.
Wie funktioniert SVM?
- Wählen Sie eine optimale Hyperebene, die die Marge maximiert.
- Wendet eine Strafe für Fehlklassifizierungen an (Optimierungsparameter cost ‘c’).
- Wenn die Datenpunkte nichtlinear trennbar sind. Transformieren Sie dann Daten in einen hochdimensionalen Raum. Dies geschieht, um es mit Hilfe linearer Entscheidungsflächen einfach zu klassifizieren.
Zeit, das Konzept der Datenvisualisierung in R zu beherrschen
Vorteile von SVM in R
- Wenn wir diesen Trick bei nichtlinearen trennbaren Daten verwenden, funktioniert er sehr gut.
- SVM funktioniert gut im hochdimensionalen Raum und bei Text- oder Bildklassifizierung.
- Es hat kein Multikollinearitätsproblem.
Nachteile von SVM in R
- Bei großen Datensätzen dauert es länger.
- SVM gibt keine Wahrscheinlichkeitsschätzungen zurück.
- Bei linear trennbaren Daten ist dies fast wie eine logistische Regression.
Support Vector Machine – Regression
- Ja, wir können es für ein Regressionsproblem verwenden, bei dem die abhängige oder Zielvariable kontinuierlich ist.
- Das Ziel der SVM-Regression ist dasselbe wie das Klassifizierungsproblem, dh die größte Marge zu finden.
Anwendungen der Klassifizierung in R
- Eine Notaufnahme in einem Krankenhaus misst 17 Variablen neu aufgenommener Patienten. Variablen wie Blutdruck, Alter und vieles mehr. Darüber hinaus muss eine sorgfältige Entscheidung getroffen werden, ob der Patient auf die Intensivstation aufgenommen werden muss. Aufgrund der hohen Kosten von ICU haben Patienten, die möglicherweise länger als einen Monat überleben, eine hohe Priorität. Das Problem besteht auch darin, Risikopatienten vorherzusagen. Und sie von Patienten mit geringem Risiko zu unterscheiden.
- Ein Kreditunternehmen erhält Hunderttausende von Anträgen auf neue Karten. Die Anwendung enthält Informationen zu verschiedenen Attributen. Darüber hinaus besteht das Problem darin, diejenigen zu kategorisieren, die einen guten Kredit haben, einen schlechten Kredit oder in eine Grauzone fallen.
- Astronomen haben entfernte Objekte am Himmel mit langzeitbelichteten CD-Bildern katalogisiert. Das Objekt, das beschriftet werden muss, ist also ein Stern, eine Galaxie usw. Die Daten sind verrauscht, und die Bilder sind sehr schwach, daher kann die Katalogisierung Jahrzehnte dauern.
Zusammenfassung
Wir haben die Klassifizierung in R zusammen mit ihren Verwendungen und Vor- und Nachteilen untersucht. Wir haben auch Echtzeitbeispiele gelernt, die helfen, die Klassifizierung besser zu lernen.
Nächstes Tutorial in unserer R DataFlair Tutorial-Serie – e1071 Paket / SVM-Training und Testen von Modellen in R