Naive Bayes erklärt: Funktion, Vor- und Nachteile, Anwendungen im Jahr 2022
Veröffentlicht: 2021-01-05Naive Bayes ist ein maschineller Lernalgorithmus, den wir verwenden, um Klassifizierungsprobleme zu lösen. Es basiert auf dem Satz von Bayes. Es ist einer der einfachsten, aber leistungsstärksten ML-Algorithmen im Einsatz und findet Anwendung in vielen Branchen.
Angenommen, Sie müssen ein Klassifizierungsproblem lösen und haben die Merkmale erstellt und die Hypothese generiert, aber Ihre Vorgesetzten möchten das Modell sehen. Sie haben zahlreiche Datenpunkte (Lakhs von Datenpunkten) und viele Variablen, um den Datensatz zu trainieren. Die beste Lösung für diese Situation wäre die Verwendung des Naive-Bayes-Klassifikators, der im Vergleich zu anderen Klassifikationsalgorithmen ziemlich schneller ist.
In diesem Artikel werden wir diesen Algorithmus im Detail besprechen und herausfinden, wie er funktioniert. Wir werden auch seine Vor- und Nachteile zusammen mit seinen realen Anwendungen diskutieren, um zu verstehen, wie wichtig dieser Algorithmus ist.
Nehmen Sie online am Deep-Learning-Kurs der weltbesten Universitäten teil – Master, Executive Post Graduate Programs und Advanced Certificate Program in ML & AI, um Ihre Karriere zu beschleunigen.
Lass uns anfangen:
Inhaltsverzeichnis
Naive Bayes erklärt
Naive Bayes verwendet das Theorem von Bayes und geht davon aus, dass alle Prädiktoren unabhängig sind. Mit anderen Worten, dieser Klassifikator geht davon aus, dass das Vorhandensein eines bestimmten Merkmals in einer Klasse das Vorhandensein eines anderen nicht beeinflusst.

Hier ist ein Beispiel: Sie würden eine Frucht als orange ansehen, wenn sie rund und orange ist und einen Durchmesser von etwa 3,5 Zoll hat. Nun, selbst wenn diese Merkmale einander voraussetzen, tragen sie alle unabhängig voneinander zu Ihrer Annahme bei, dass diese spezielle Frucht orange ist. Deshalb hat dieser Algorithmus „Naive“ im Namen.
Das Erstellen des Naive-Bayes-Modells ist recht einfach und hilft Ihnen bei der Arbeit mit riesigen Datensätzen. Darüber hinaus ist diese Gleichung beliebt, um viele fortgeschrittene Klassifizierungstechniken in Bezug auf die Leistung zu schlagen.
Hier ist die Gleichung für Naive Bayes:
P(c|x) = P(x|c) P(c) / P(x)
P(c|x) = P(x1 | c) x P(x2 | c) x … P(xn | c) x P(c)
Dabei ist P (c|x) die A-Posteriori-Wahrscheinlichkeit gemäß dem Prädiktor (x) für die Klasse (c). P(c) ist die vorherige Wahrscheinlichkeit der Klasse, P(x) ist die vorherige Wahrscheinlichkeit des Prädiktors und P(x|c) ist die Wahrscheinlichkeit des Prädiktors für die bestimmte Klasse (c).
Abgesehen von der Berücksichtigung der Unabhängigkeit jedes Merkmals geht Naive Bayes auch davon aus, dass sie gleichermaßen beitragen. Dies ist ein wichtiger Punkt, an den Sie sich erinnern sollten.
Wie funktioniert Naive Bayes?
Um zu verstehen, wie Naive Bayes funktioniert, sollten wir ein Beispiel diskutieren.
Angenommen, wir möchten gestohlene Autos finden und haben den folgenden Datensatz:
Seriennummer. | Farbe | Art | Herkunft | Wurde es gestohlen? |
1 | rot | Sport | Inländisch | Jawohl |
2 | rot | Sport | Inländisch | Nein |
3 | rot | Sport | Inländisch | Jawohl |
4 | Gelb | Sport | Inländisch | Nein |
5 | Gelb | Sport | Importiert | Jawohl |
6 | Gelb | Geländewagen | Importiert | Nein |
7 | Gelb | Geländewagen | Importiert | Jawohl |
8 | Gelb | Geländewagen | Inländisch | Nein |
9 | rot | Geländewagen | Importiert | Nein |
10 | rot | Sport | Importiert | Jawohl |
Gemäß unserem Datensatz können wir verstehen, dass unser Algorithmus die folgenden Annahmen trifft:
- Es geht davon aus, dass jedes Merkmal unabhängig ist. Beispielsweise hat die Farbe „Gelb“ eines Autos nichts mit seiner Herkunft oder seinem Typ zu tun.
- Es gibt jedem Merkmal die gleiche Wichtigkeit. Wenn Sie beispielsweise nur die Farbe und den Ursprung kennen, wird das Ergebnis korrekt vorhergesagt. Deshalb ist jedes Feature gleich wichtig und trägt gleichermaßen zum Ergebnis bei.
Jetzt müssen wir mit unserem Datensatz klassifizieren, ob Diebe ein Auto nach seinen Merkmalen stehlen. Jede Zeile hat individuelle Einträge, und die Spalten repräsentieren die Merkmale jedes Autos. In der ersten Reihe haben wir einen gestohlenen roten Sportwagen mit inländischer Herkunft. Wir werden herausfinden, ob Diebe einen Red Domestic SUV stehlen würden oder nicht (unser Datensatz enthält keinen Eintrag für einen Red Domestic SUV).
Wir können den Satz von Bayes für unser Beispiel umschreiben als:
P(y | X) = [P(X | y)P(y)P(X)]/P(X)
Hier steht y für die Klassenvariable (Was it Stolen?), um anzuzeigen, ob die Diebe das Auto nicht den Bedingungen entsprechend gestohlen haben. X steht für die Merkmale.
X = x1, x2, x3, …., xn)
Dabei stehen x1, x2,…, xn für die Merkmale. Wir können sie als Typ, Ursprung und Farbe zuordnen. Jetzt ersetzen wir X und erweitern die Kettenregel, um Folgendes zu erhalten:
P(y | x1, …, xn) = [P(x1 | y) P(x2 | y) … P(xn | y) P(y)]/[P(x1) P (x2) … P(xn )]
Sie können die Werte für jeden erhalten, indem Sie den Datensatz verwenden und ihre Werte in die Gleichung einsetzen. Der Nenner bleibt für jeden Eintrag im Datensatz statisch, um ihn zu entfernen und Proportionalität einzufügen.
P(y | x1, …, xn) ∝ P(y) i = 1nP(xi | y)
In unserem Beispiel hat y nur zwei Ergebnisse, ja oder nein.
y = argmaxyP(y) i = 1nP(xi | y)
Wir können eine Häufigkeitstabelle erstellen, um die spätere Wahrscheinlichkeit P(y|x) für jedes Merkmal zu berechnen. Dann formen wir die Häufigkeitstabellen zu Wahrscheinlichkeitstabellen und verwenden die Naive-Bayes-Gleichung, um die A-posteriori-Wahrscheinlichkeit jeder Klasse zu finden. Das Ergebnis unserer Vorhersage wäre die Klasse mit der höchsten A-posteriori-Wahrscheinlichkeit. Hier sind die Wahrscheinlichkeits- und Häufigkeitstabellen:
Häufigkeitstabelle der Farbe:
Farbe | Wurde es gestohlen (Ja) | Wurde es gestohlen (Nein) |
rot | 3 | 2 |
Gelb | 2 | 3 |
Wahrscheinlichkeitstabelle der Farbe:

Farbe | Wurde es gestohlen [P(Ja)] | Wurde es gestohlen [P(Nein)] |
rot | 3/5 | 2/5 |
Gelb | 2/5 | 3/5 |
Häufigkeitstabelle des Typs:
Art | Wurde es gestohlen (Ja) | Wurde es gestohlen (Nein) |
Sport | 4 | 2 |
Geländewagen | 1 | 3 |
Wahrscheinlichkeitstabelle des Typs:
Art | Wurde es gestohlen [P(Ja)] | Wurde es gestohlen [P(Nein)] |
Sport | 4/5 | 2/5 |
Geländewagen | 1/5 | 3/5 |
Herkunftshäufigkeitstabelle:
Herkunft | Wurde es gestohlen (Ja) | Wurde es gestohlen (Nein) |
Inländisch | 2 | 3 |
Importiert | 3 | 2 |
Herkunftswahrscheinlichkeitstabelle:
Herkunft | Wurde es gestohlen [P(Ja)] | Wurde es gestohlen [P(Nein)] |
Inländisch | 2/5 | 3/5 |
Importiert | 3/5 | 2/5 |
Unser Problem hat 3 Prädiktoren für X, also wäre gemäß den Gleichungen, die wir zuvor gesehen haben, die spätere Wahrscheinlichkeit P(Ja | X) wie folgt:
P(Ja | X) = P(Rot | Ja) * P(SUV | Ja) * P(Inland | Ja) * P(Ja)
= ⅗ x ⅕ x ⅖ x 1
= 0,048
P(Nein | X) wäre:
P(Nein | X) = P(Rot | Nein) * P(SUV | Nein) * P(Inland | Nein) * P(Nein)
= ⅖ x ⅗ x ⅗ x 1
= 0,144
Da also die spätere Wahrscheinlichkeit P(Nein | X) höher ist als die spätere Wahrscheinlichkeit P(Ja | X), wird unser Red Domestic SUV „Nein“ in „Wurde es gestohlen?“ haben. Sektion.
Das Beispiel sollte Ihnen gezeigt haben, wie der Naive Bayes Classifier funktioniert. Um ein besseres Bild von Naive Bayes erklärt zu bekommen, sollten wir nun auf seine Vor- und Nachteile eingehen:
Vor- und Nachteile von Naive Bayes
Vorteile
- Dieser Algorithmus arbeitet schnell und kann viel Zeit sparen.
- Naive Bayes eignet sich zur Lösung von Vorhersageproblemen mit mehreren Klassen.
- Wenn seine Annahme der Unabhängigkeit von Merkmalen zutrifft, kann es eine bessere Leistung als andere Modelle erbringen und erfordert viel weniger Trainingsdaten.
- Naive Bayes eignet sich besser für kategoriale Eingabevariablen als für numerische Variablen.
Nachteile
- Naive Bayes geht davon aus, dass alle Prädiktoren (oder Merkmale) unabhängig sind und im wirklichen Leben selten vorkommen. Dies schränkt die Anwendbarkeit dieses Algorithmus in realen Anwendungsfällen ein.
- Dieser Algorithmus steht vor dem „Nullhäufigkeitsproblem“, bei dem er einer kategorialen Variablen, deren Kategorie im Testdatensatz nicht im Trainingsdatensatz verfügbar war, eine Wahrscheinlichkeit von Null zuweist. Es wäre am besten, wenn Sie eine Glättungstechnik verwenden, um dieses Problem zu lösen.
- Seine Schätzungen können in einigen Fällen falsch sein, daher sollten Sie seine Wahrscheinlichkeitsausgaben nicht sehr ernst nehmen.
Checkout: Modelle für maschinelles Lernen erklärt
Anwendungen von Naive Bayes erklärt
Hier sind einige Bereiche, in denen dieser Algorithmus Anwendung findet:

Textklassifizierung
Meistens findet Naive Bayes aufgrund seiner Annahme von Unabhängigkeit und hoher Leistung bei der Lösung von Mehrklassenproblemen Verwendung in der Textklassifizierung. Aufgrund seiner Geschwindigkeit und Effizienz genießt er eine höhere Erfolgsquote als andere Algorithmen.
Stimmungsanalyse
Einer der wichtigsten Bereiche des maschinellen Lernens ist die Stimmungsanalyse, und dieser Algorithmus ist auch dort sehr nützlich. Bei der Stimmungsanalyse geht es darum, festzustellen, ob die Kunden positiv oder negativ über ein bestimmtes Thema (Produkt oder Dienstleistung) denken.
Empfehlungssysteme
Mit Hilfe von Collaborative Filtering baut Naive Bayes Classifier ein leistungsstarkes Empfehlungssystem auf, um vorherzusagen, ob ein Benutzer ein bestimmtes Produkt (oder eine bestimmte Ressource) möchte oder nicht. Amazon, Netflix und Flipkart sind bekannte Unternehmen, die Empfehlungssysteme verwenden, um ihren Kunden Produkte vorzuschlagen.
Weitere Informationen zu Algorithmen für maschinelles Lernen
Naive Bayes ist ein einfacher und effektiver Algorithmus für maschinelles Lernen zur Lösung von Problemen mit mehreren Klassen. Es findet Verwendung in vielen prominenten Bereichen von maschinellen Lernanwendungen wie Stimmungsanalyse und Textklassifizierung.
Informieren Sie sich über das Advanced Certification Program in Machine Learning & Cloud mit IIT Madras, der besten Ingenieurschule des Landes, um ein Programm zu erstellen, das Ihnen nicht nur maschinelles Lernen beibringt, sondern auch den effektiven Einsatz davon mithilfe der Cloud-Infrastruktur. Unser Ziel mit diesem Programm ist es, die Türen des selektivsten Instituts des Landes zu öffnen und den Lernenden Zugang zu erstaunlichen Fakultäten und Ressourcen zu verschaffen, um eine Fähigkeit zu meistern, die hoch ist und wächst
Was ist der naive Bayes-Algorithmus?
Um Kategorisierungsschwierigkeiten zu bewältigen, verwenden wir die Technik des maschinellen Lernens von Naive Bayes. Das Bayes Theorem untermauert es. Es ist einer der grundlegendsten, aber leistungsstärksten Algorithmen für maschinelles Lernen, der in einer Vielzahl von Branchen zum Einsatz kommt. Angenommen, Sie arbeiten an einem Klassifizierungsproblem und haben bereits die Merkmale und Hypothesen aufgestellt, aber Ihr Chef möchte das Modell sehen. Um den Datensatz zu trainieren, haben Sie eine große Anzahl von Datenpunkten (Tausende von Datenpunkten) und eine große Anzahl von Variablen. Unter diesen Umständen wäre der Naive-Bayes-Klassifikator, der viel schneller als andere Klassifikationsalgorithmen ist, die beste Option.
Was sind einige Vor- und Nachteile von Naive Bayes?
Für Vorhersageprobleme mit mehreren Klassen ist Naive Bayes eine gute Wahl. Wenn die Prämisse der Merkmalsunabhängigkeit wahr bleibt, kann es andere Modelle übertreffen, während es weitaus weniger Trainingsdaten verwendet. Kategoriale Eingabevariablen eignen sich besser für Naive Bayes als numerische Eingabevariablen.
In Naive Bayes wird angenommen, dass alle Prädiktoren (oder Merkmale) unabhängig sind, was im wirklichen Leben selten der Fall ist. Dies schränkt die Verwendbarkeit des Algorithmus in realen Szenarien ein. Sie sollten seine Wahrscheinlichkeitsausgaben nicht ernst nehmen, da seine Schätzungen in einigen Fällen abweichen können.
Was sind einige reale Anwendungen von Naive Bayes?
Aufgrund der Prämisse der Autonomie und der hohen Leistung bei der Lösung von Problemen mit mehreren Klassen wird Naive Bayes häufig zur Klassifizierung im Text verwendet. Die Stimmungsanalyse ist eine der beliebtesten Anwendungen des maschinellen Lernens, und diese Technik kann auch dabei helfen. Das Ziel der Stimmungsanalyse ist es festzustellen, ob Kunden positive oder negative Gefühle zu einem bestimmten Thema (Produkt oder Dienstleistung) haben. Naive Bayes Classifier verwendet Collaborative Filtering, um ein ausgeklügeltes Empfehlungssystem zu erstellen, das vorhersagen kann, ob ein Benutzer ein bestimmtes Produkt (oder eine bestimmte Ressource) genießen wird oder nicht.