创建文本内容(中文/英文)利用朴素贝叶斯算法进行文本分类预测并且训练集训练模型、测试集生成预测值代码怎么写
时间: 2024-10-14 20:01:51 浏览: 25
在Python中,我们可以使用`scikit-learn`库中的`CountVectorizer`和`MultinomialNB`模块来实现朴素贝叶斯算法进行文本分类。这里是一个简单的示例,我们将使用中文文本数据,例如电影评论的情感分析:
```python
# 导入所需库
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.model_selection import train_test_split
import pandas as pd
# 假设你有一个包含文本和标签的CSV文件
data = pd.read_csv('movie_reviews.csv')
# 提取特征(文本)和目标变量(标签)
texts = data['text']
labels = data['sentiment']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(texts, labels, test_size=0.2, random_state=42)
# 文本向量化(将文本转换为数值表示)
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 训练朴素贝叶斯模型
model = MultinomialNB()
model.fit(X_train_vec, y_train)
# 使用模型对测试集进行预测
predictions = model.predict(X_test_vec)
# 打印一些预测结果
print(f"Sample predictions: {predictions[:5]}")
#
阅读全文