python文本分类
时间: 2023-06-28 10:12:45 浏览: 54
Python 中的文本分类可以使用各种机器学习算法,例如朴素贝叶斯、支持向量机、随机森林等。以下是一个使用朴素贝叶斯算法进行文本分类的示例:
```python
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.naive_bayes import MultinomialNB
from sklearn.metrics import accuracy_score
# 读取数据并进行预处理
data = pd.read_csv('data.csv')
data['text'] = data['text'].apply(lambda x: x.lower()) # 文本转为小写
data['text'] = data['text'].str.replace('[^\w\s]', '') # 去除标点符号
# 划分训练集和测试集
train_data = data.sample(frac=0.8, random_state=42)
test_data = data.drop(train_data.index)
# 提取文本特征
vectorizer = CountVectorizer()
train_features = vectorizer.fit_transform(train_data['text'])
test_features = vectorizer.transform(test_data['text'])
# 训练朴素贝叶斯模型
clf = MultinomialNB()
clf.fit(train_features, train_data['label'])
# 对测试集进行预测
pred_labels = clf.predict(test_features)
# 计算准确率
accuracy = accuracy_score(test_data['label'], pred_labels)
print(f"Accuracy: {accuracy}")
```
上述代码中,我们使用 pandas 库读取数据,然后使用 CountVectorizer 类将文本转换为向量表示。接着,我们使用 MultinomialNB 类训练朴素贝叶斯模型,并使用 predict 方法对测试集进行预测。最后,我们使用 accuracy_score 函数计算分类准确率。