朴素贝叶斯-自然语言处理
时间: 2024-01-18 18:03:42 浏览: 91
第一题_自然语言处理文本分类_朴素贝叶斯算法_
5星 · 资源好评率100%
朴素贝叶斯是一种常用的机器学习算法,特别适用于自然语言处理任务。它基于贝叶斯定理和特征条件独立假设,通过计算给定特征条件下的类别概率来进行分类。
在自然语言处理中,朴素贝叶斯可以用于文本分类、情感分析、垃圾邮件过滤等任务。它将文本表示为特征向量,其中每个特征表示一个词汇或其他语言相关的属性。然后,通过计算每个类别下的特征概率,可以预测新文本属于哪个类别。
下面是一个使用朴素贝叶斯进行文本分类的示例:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
# 准备训练数据
train_texts = ['I love this movie', 'This movie is great', 'I hate this movie']
train_labels = ['positive', 'positive', 'negative']
# 特征提取
vectorizer = CountVectorizer()
train_features = vectorizer.fit_transform(train_texts)
# 训练朴素贝叶斯分类器
classifier = MultinomialNB()
classifier.fit(train_features, train_labels)
# 预测新文本的类别
test_text = 'This movie is amazing'
test_feature = vectorizer.transform([test_text])
predicted_label = classifier.predict(test_feature)
print('Predicted label:', predicted_label) # 输出:Predicted label: ['positive']
```
在上面的示例中,我们首先准备了一些训练数据,包括文本和对应的类别标签。然后,使用`CountVectorizer`将文本转换为特征向量。接下来,使用`MultinomialNB`训练一个朴素贝叶斯分类器,并使用训练好的模型对新文本进行分类预测。
阅读全文