朴素贝叶斯算法python
时间: 2023-10-24 12:23:32 浏览: 31
朴素贝叶斯算法是一种基于贝叶斯定理的分类算法,它假设特征之间相互独立,因此称为“朴素”。在Python中,我们可以使用scikit-learn库来实现朴素贝叶斯分类器。
以下是一个简单的示例代码,使用朴素贝叶斯算法对文本进行分类:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 准备数据
X_train = ['This is the first document', 'This is the second document', 'This is the third document', 'This is the fourth document']
y_train = ['class1', 'class2', 'class1', 'class2']
X_test = ['This is the fifth document']
# 将文本转换为向量表示
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 训练朴素贝叶斯分类器
clf = MultinomialNB()
clf.fit(X_train_vec, y_train)
# 使用训练好的模型进行预测
y_pred = clf.predict(X_test_vec)
print(y_pred)
```
在这个例子中,我们使用了四个文本样本和两个类别(class1和class2)来训练模型。我们使用CountVectorizer将文本转换为向量表示,并使用MultinomialNB训练模型。最后,我们使用训练好的模型对一个新的文本进行分类,并输出预测结果。