写一个基于tf-idf模型,用支持向量机进行多类别文本分类的代码
时间: 2023-06-27 11:02:43 浏览: 59
以下是基于tf-idf模型,使用支持向量机进行多类别文本分类的Python代码示例:
```python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
# 加载数据集
df = pd.read_csv('data.csv')
# 划分训练集和测试集
train_data, test_data, train_labels, test_labels = train_test_split(df['text'], df['label'], test_size=0.2, random_state=42)
# 构建tf-idf向量化器
tfidf_vectorizer = TfidfVectorizer(stop_words='english')
# 对训练集和测试集进行tf-idf向量化
train_vectors = tfidf_vectorizer.fit_transform(train_data)
test_vectors = tfidf_vectorizer.transform(test_data)
# 训练支持向量机模型
svm_model = SVC(kernel='linear', C=1, gamma='auto')
svm_model.fit(train_vectors, train_labels)
# 在测试集上进行预测
test_predictions = svm_model.predict(test_vectors)
# 计算准确率
accuracy = accuracy_score(test_labels, test_predictions)
print('Accuracy:', accuracy)
```
在上面的代码中,我们首先加载了一个名为`data.csv`的数据集,其中包括文本和对应的标签。然后,我们将数据集划分为训练集和测试集,使用`TfidfVectorizer`类构建了一个tf-idf向量化器,并将其用于训练集和测试集。接下来,我们使用支持向量机模型进行训练,并在测试集上进行预测。最后,我们计算了模型的准确率并输出结果。