朴素贝叶斯算法python
时间: 2023-06-17 19:06:40 浏览: 85
朴素贝叶斯算法是一种基于贝叶斯定理和特征条件独立性假设的分类算法,常用于文本分类、垃圾邮件过滤等领域。在Python中,我们可以使用scikit-learn库来实现朴素贝叶斯分类器。
以下是一个使用朴素贝叶斯算法进行文本分类的示例代码:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 训练数据
train_data = ["Chinese Beijing Chinese",
"Chinese Chinese Shanghai",
"Chinese Macao",
"Tokyo Japan Chinese"]
# 训练标签
train_labels = ["c", "c", "c", "j"]
# 构建词频向量
vectorizer = CountVectorizer()
train_vectors = vectorizer.fit_transform(train_data)
# 使用多项式朴素贝叶斯算法训练模型
clf = MultinomialNB()
clf.fit(train_vectors, train_labels)
# 测试数据
test_data = ["Chinese Chinese Chinese Tokyo Japan"]
# 构建测试数据的词频向量
test_vectors = vectorizer.transform(test_data)
# 预测测试数据标签
predicted_label = clf.predict(test_vectors)
print(predicted_label)
```
以上代码中,我们首先定义了训练数据和标签,然后使用CountVectorizer构建了训练数据的词频向量。接着使用MultinomialNB算法训练模型,并使用测试数据构建测试数据的词频向量,预测测试数据标签。
需要注意的是,这是一个非常简单的示例,实际使用中还需要对文本进行预处理,如分词、去除停用词等。