编写代码,使用支持向量机(svm)对语料集“gastric”进行训练,并对训练产生的模型进行评估。
时间: 2024-10-25 11:09:12 浏览: 7
在Python中,我们可以使用Scikit-Learn库中的SVM(支持向量机)来训练一个文本分类模型。这里是一个简单的示例,假设我们有一个名为`gastric`的数据集,其中包含文本数据和对应的标签。首先,我们需要做预处理,比如分词、编码和特征提取(如TF-IDF)。然后,我们会创建SVM模型并进行训练。最后,我们将评估模型的性能。
```python
from sklearn.datasets import load_files
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.model_selection import train_test_split
from sklearn.svm import LinearSVC
from sklearn.metrics import classification_report, accuracy_score
# 加载数据集
data = load_files('gastric', encoding='utf-8')
texts = data.data
labels = data.target
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(texts, labels, test_size=0.2, random_state=42)
# 文本特征提取
vectorizer = TfidfVectorizer()
X_train_vec = vectorizer.fit_transform(X_train)
X_test_vec = vectorizer.transform(X_test)
# 训练支持向量机模型
model = LinearSVC()
model.fit(X_train_vec, y_train)
# 预测
y_pred = model.predict(X_test_vec)
# 评估模型
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy * 100:.2f}%")
# 深度评估
report = classification_report(y_test, y_pred, target_names=data.target_names)
print("Classification Report:\n", report)
阅读全文