Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für einen Naive-Bayes-Algorithmus in Python

Beispiel für einen Naive-Bayes-Algorithmus in Python

王林
王林Original
2023-06-10 08:23:181359Durchsuche

Der Naive Bayes-Algorithmus ist einer der klassischen Algorithmen für maschinelles Lernen. Er wird häufig verwendet, insbesondere in Bereichen wie Textklassifizierung und Spam-Filterung, und weist eine hohe Genauigkeit und Effizienz auf. In diesem Artikel wird die Implementierung des Naive Bayes-Algorithmus in Python vorgestellt und seine Anwendung anhand von Beispielen veranschaulicht.

1. Einführung in den Naive-Bayes-Algorithmus
Der Naive-Bayes-Algorithmus ist ein Klassifizierungsalgorithmus, der auf dem Bayes-Theorem und der Annahme der Merkmalsunabhängigkeit basiert. Die Grundidee besteht darin, die Klassifizierung neuer Daten anhand der bedingten Wahrscheinlichkeit bekannter Kategoriedaten abzuleiten. Insbesondere muss das Modell vor der Klassifizierung trainiert werden, dh die bedingte Wahrscheinlichkeit jedes Merkmals unter jeder Kategorie wird berechnet. Bei der Klassifizierung wird dann die Wahrscheinlichkeit, dass die neuen Daten zu jeder Kategorie gehören, gemäß dem Bayes-Theorem berechnet und die Kategorie, die der maximalen Wahrscheinlichkeit entspricht, als Vorhersageergebnis ausgewählt. Da davon ausgegangen wird, dass die Merkmale unabhängig sind, wird der Algorithmus „Naive Bayes“ genannt.

2. Naive Bayes-Implementierung in Python
Es gibt mehrere Bibliotheken oder Module in Python, die zur Implementierung des Naive Bayes-Algorithmus verwendet werden können, wie z. B. scikit-learn, nltk, gensim usw. In diesem Artikel wird vorgestellt, wie der Naive Bayes-Algorithmus mithilfe der Scikit-Learn-Bibliothek implementiert wird.

1. Bereiten Sie den Datensatz vor
Zuerst müssen Sie einen Datensatz vorbereiten, um den Klassifikator zu trainieren und zu testen. In diesem Beispiel wählen wir den „Spambase Data Set“ im UCI Machine Learning Repository aus. Dieser Datensatz enthält 4601 E-Mails, davon 1813 Spam-E-Mails und 2788 normale E-Mails. Dieser Datensatz kann im CSV-Format heruntergeladen und gespeichert werden.

2. Importieren Sie die Daten und teilen Sie den Trainingssatz und den Testsatz auf.
Verwenden Sie die Funktion read_csv der Pandas-Bibliothek, um die CSV-Datei in das DataFrame-Format einzulesen und in einen Trainingssatz und einen Testsatz aufzuteilen.

Pandas als PD importieren
aus sklearn.model_selection import train_test_split

Daten importieren

df = pd.read_csv('spambase.csv')

Trainingssatz und Testsatz aufteilen

X = df.iloc[:, :-1]
y = df .iloc[:, -1]
X_train, Klassifizieren Sie das Modell und verwenden Sie die Trainingsdaten für das Modelltraining. Der Code lautet wie folgt:

aus sklearn.naive_bayes import MultinomialNB

Trainingsmodell

clf = MultinomialNB()

clf.fit(X_train, y_train)

4. Testen Sie das Modell.
Verwenden Sie den Testsatz, um den Klassifikator zu testen und die Klassifizierungsgenauigkeit zu berechnen. Der Code lautet wie folgt:

aus sklearn.metrics import precision_score

Testmodell

y_pred = clf.predict(X_test)

acc = precision_score(y_test, y_pred)

print( 'Genauigkeit: {:.2f}%'.format(acc*100))


5 Modell
Verwenden Sie das trainierte Modell, um neue Daten zu klassifizieren und die Vorhersageergebnisse auszugeben , 0,10, 0,05, 0,00, 0,02, 0,04, 0,00, 0,10, 0,05, 0,01, 0,04, 0,6 7, 2,16, 10,00, 136,00, 0,00, 0,96, 0,00, 0,00, 0,00, 0. 32, 0,01]]

prediction = clf. vorhersage(neue_daten)

print('Vorhersage:', vorhersage)

3. Beispielanalyse

Dieses Beispiel verwendet ein Klassifizierungsproblem. Das Ziel besteht darin, die E-Mail in Spam zu klassifizieren normale E-Mail. Nach dem Training wurde der naive Bayes-Algorithmus zur Klassifizierung verwendet und eine Genauigkeit von 90,78 % erreicht. Aus den Ergebnissen ist ersichtlich, dass Naive Bayes in bestimmten Anwendungssituationen hervorragende Klassifizierungsergebnisse erzielt.

4. Fazit
Der Naive-Bayes-Algorithmus ist eine einfache und effektive Klassifizierungsmethode, die insbesondere in der Textklassifizierung, Spam-Filterung und anderen Bereichen weit verbreitet ist. Die scikit-learn-Bibliothek in Python bietet eine praktische Implementierung des naiven Bayes-Klassifikators, die das Training, Test und die Anwendung des Modells gut unterstützen kann.

Das obige ist der detaillierte Inhalt vonBeispiel für einen Naive-Bayes-Algorithmus in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn