加载数据集:使用 LIBSVM 的 API 加载数据集,并将其分为训练集和测试集。代码
时间: 2024-03-25 07:37:49 浏览: 19
好的,下面是使用 LIBSVM 的 API 加载数据集,并将其分为训练集和测试集的 Python 代码示例:
```python
import numpy as np
from sklearn.datasets import load_svmlight_file
from sklearn.model_selection import train_test_split
from svmutil import *
# 加载数据集
X, y = load_svmlight_file('path/to/dataset')
# 将稀疏矩阵转换为密集矩阵
X = X.toarray()
# 将标签转换为整数类型
y = y.astype(int)
# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 将训练集和测试集保存为 LIBSVM 格式
train_data = svm_problem(y_train, X_train)
test_data = svm_problem(y_test, X_test)
```
在这个示例中,我们使用了 `load_svmlight_file` 函数来加载数据集,该函数可以将 LIBSVM 格式的文件加载为稀疏矩阵和标签。然后,我们将稀疏矩阵转换为密集矩阵,并将标签转换为整数类型。接着,我们使用 `train_test_split` 函数将数据集划分为训练集和测试集,并指定测试集占总样本数的 20%。最后,我们将训练集和测试集保存为 LIBSVM 格式的数据,并使用 `svm_problem` 函数将标签和特征矩阵转换为 SVM 模型能够接受的格式。