朴素贝叶斯进行文本分类具体代码实现
时间: 2024-10-17 21:02:39 浏览: 22
朴素贝叶斯算法是一种基于概率统计的简单而有效的机器学习模型,特别适合文本分类任务,因为它假设特征之间相互独立,这在处理高维稀疏数据如词袋模型(Bag of Words)时尤其有效。这里是一个使用Python和sklearn库实现朴素贝叶斯文本分类的基本步骤:
```python
# 导入所需的库
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.pipeline import Pipeline
from sklearn.model_selection import train_test_split
# 假设你已经有了预处理过的文本数据X (输入) 和对应的标签y (类别)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 创建一个文本向量化器(CountVectorizer),将文本转换为数值特征
vectorizer = CountVectorizer()
# 使用MultinomialNB,这是适合于计数型数据的朴素贝叶斯分类器
classifier = MultinomialNB()
# 构建管道,顺序执行向量化和分类
text_clf = Pipeline([
('vectorizer', vectorizer),
('classifier', classifier)
])
# 训练模型
text_clf.fit(X_train, y_train)
# 预测测试集
predictions = text_clf.predict(X_test)
# 查看性能指标,例如accuracy_score
from sklearn.metrics import accuracy_score
print("Accuracy:", accuracy_score(y_test, predictions))
阅读全文