写一个文本分类的代码
时间: 2023-08-10 19:07:17 浏览: 59
好的,下面是一个基于朴素贝叶斯的文本分类代码示例:
```python
import pandas as pd
import re
from sklearn.model_selection import train_test_split
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')
# 数据预处理
def preprocess(text):
# 去除标点符号和数字
text = re.sub('[^a-zA-Z]', ' ', text)
# 转换为小写
text = text.lower()
return text
data['text'] = data['text'].apply(preprocess)
X = data['text']
y = data['category']
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 特征提取
vectorizer = CountVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 建立模型
clf = MultinomialNB()
clf.fit(X_train_vec, y_train)
# 预测
y_pred = clf.predict(X_test_vec)
# 评估
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy: {:.2f}".format(accuracy))
```
其中,`data.csv`是包含`text`和`category`两列的数据文件,`text`表示文本,`category`表示该文本所属的类别。`preprocess`函数用于对文本进行预处理,去除标点符号和数字,并转换为小写。`CountVectorizer`用于将文本转换为向量表示,`MultinomialNB`用于建立朴素贝叶斯分类模型。最后评估模型的准确率。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)