要求: (1) 编写python代码实现朴素贝叶斯分类算法,要求必须使用sklearn中的朴素贝
时间: 2023-08-17 19:02:03 浏览: 111
朴素贝叶斯分类算法是一种简单而有效的分类算法,它基于贝叶斯定理和特征之间的独立性假设。在Python中使用sklearn库可以方便地实现朴素贝叶斯分类算法。
下面是一个使用sklearn库实现朴素贝叶斯分类算法的示例代码:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
# 准备训练数据和标签
corpus = ['I am happy', 'I am sad', 'You are happy', 'I am not happy']
labels = ['positive', 'negative', 'positive', 'negative']
# 将文本转换为特征向量
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(corpus)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, labels, test_size=0.2, random_state=42)
# 创建朴素贝叶斯分类器
classifier = MultinomialNB()
# 拟合模型
classifier.fit(X_train, y_train)
# 预测新样本
new_samples = ['I am happy', 'You are sad']
X_new = vectorizer.transform(new_samples)
predicted = classifier.predict(X_new)
# 输出预测结果
for sample, prediction in zip(new_samples, predicted):
print(f"{sample}: {prediction}")
```
在这个例子中,我们使用CountVectorizer将文本转换为特征向量,然后使用MultinomialNB创建朴素贝叶斯分类器。通过拟合模型后,我们可以使用模型对新样本进行预测并输出结果。
虽然这只是一个简单的示例,但它展示了如何使用sklearn库中的朴素贝叶斯分类器来构建一个文本分类器。
阅读全文