朴素贝叶斯进行文本分类代码
时间: 2024-10-17 18:02:39 浏览: 19
朴素贝叶斯算法是一种基于概率统计的简单而有效的文本分类方法,它假设特征之间相互独立,尽管这个假设在实际情况中往往不成立,但在许多场景下仍然表现良好。以下是使用Python的scikit-learn库进行文本分类的一个基本例子:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import Pipeline
# 假设我们有一个数据集,分为两类
X_train = ['这是一个正面例子', '这是负面例子', ...] # 训练样本文本
y_train = [0, 1, ...] # 相应的标签(0代表正面,1代表负面)
# 创建一个管道,先将文本转换为词频矩阵,然后应用朴素贝叶斯分类器
text_clf = Pipeline([
('vect', CountVectorizer()), # 文本向量化
('clf', MultinomialNB()) # 朴素贝叶斯分类
])
# 训练模型
text_clf.fit(X_train, y_train)
# 对新的文本进行预测
X_test = ['这是一条测试文本']
predicted_class = text_clf.predict(X_test)
```
在这个例子中,`CountVectorizer`负责将文本转换成可以用于机器学习的数值表示形式,而`MultinomialNB`则是实际的朴素贝叶斯分类器。
阅读全文