MultinomialNB对象
时间: 2023-06-14 22:04:47 浏览: 37
MultinomialNB是scikit-learn中的一个分类器对象,它是基于朴素贝叶斯算法的一种多项式模型。该模型将每个特征视为独立的,然后通过计算每个类别中每个特征的频率来进行分类。MultinomialNB适用于文本分类、垃圾邮件过滤等任务。
在使用MultinomialNB进行分类时,需要先使用训练数据拟合模型,然后使用测试数据进行预测。拟合过程中需要提供训练数据的特征矩阵和对应的分类标签,预测过程中需要提供测试数据的特征矩阵,模型会返回预测结果(即分类标签)。
下面是一个使用MultinomialNB进行文本分类的示例代码:
```python
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 定义训练数据和对应的标签
train_data = ["This is a good movie", "That was a bad book", "I liked this book", "The movie was boring"]
train_labels = ["positive", "negative", "positive", "negative"]
# 将文本转化为特征矩阵
vec = CountVectorizer()
train_features = vec.fit_transform(train_data)
# 训练MultinomialNB模型
clf = MultinomialNB()
clf.fit(train_features, train_labels)
# 预测新的文本分类
test_data = ["I loved that movie", "The book was interesting"]
test_features = vec.transform(test_data)
predictions = clf.predict(test_features)
print(predictions)
```
输出结果为:
```
['positive' 'positive']
```
即预测第一个文本为积极,第二个文本为积极。