朴素贝叶斯分类器,python代码示例,直接写代码
时间: 2023-10-25 20:14:08 浏览: 34
Python实现的朴素贝叶斯分类器示例
5星 · 资源好评率100%
好的,下面是一个使用朴素贝叶斯分类器进行文本分类的 Python 代码示例:
```
# 导入需要的库
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
# 定义训练数据
# 这里的数据是一些短文本,每个文本都属于一个类别
# 每个文本用一个字符串表示
train_data = [
('这是一篇关于科学的文章', '科技'),
('这是一篇关于体育的文章', '体育'),
('这是一篇关于娱乐的文章', '娱乐')
]
# 将文本转换为数值特征
vectorizer = CountVectorizer()
X_train = vectorizer.fit_transform([text for text, _ in train_data])
# 将类别转换为数值
# 使用 sklearn 的 LabelEncoder 可以很方便地将类别转换为数值
from sklearn.preprocessing import LabelEncoder
label_encoder = LabelEncoder()
y_train = label_encoder.fit_transform([label for _, label in train_data])
# 创建朴素贝叶斯分类器并训练
classifier = MultinomialNB()
classifier.fit(X_train, y_train)
# 对新的文本进行分类
# 首先将新的文本转换为数值特征
X_test = vectorizer.transform(['这是一篇关于体育的文章'])
# 使用训练好的分类器进行预测
prediction = classifier.predict(X_test)
# 将预测结果转换为类别
predicted_label = label_encoder.inverse_transform(prediction)
print(predicted_label) # 输出 ['体育']
```
希望
阅读全文