创建文本内容(中文/英文)利用朴素贝叶斯算法进行文本分类预测代码怎么写
时间: 2024-10-13 15:18:47 浏览: 28
朴素贝叶斯算法是一种基于概率统计的简单而有效的机器学习模型,常用于文本分类任务。以下是使用Python的scikit-learn库进行文本分类的一个简要示例,假设我们有一个包含英文文本的数据集:
```python
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
import pandas as pd
# 假设你有如下数据(text列包含文本,category列是标签)
data = {
'text': ['this is a positive sentence', 'negative sentiment here', 'another positive one'],
'category': ['positive', 'negative', 'positive']
}
df = pd.DataFrame(data)
# 数据预处理
vectorizer = CountVectorizer() # 将文本转换为词频向量
X = vectorizer.fit_transform(df['text']) # 文本特征矩阵
y = df['category'] # 类别标签
# 划分训练集和测试集
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 训练朴素贝叶斯模型
nb_classifier = MultinomialNB()
nb_classifier.fit(X_train, y_train)
# 进行预测
predictions = nb_classifier.predict(X_test)
# 查看预测结果
print(predictions)
# 打印混淆矩阵
from sklearn.metrics import confusion_matrix
conf_mat = confusion_matrix(y_test, predictions)
print(conf_mat)
阅读全文