将.mat的数据集分为训练集和测试集的Python代码
时间: 2024-05-09 07:21:57 浏览: 126
Python分割训练集和测试集的方法示例
以下是一个将.mat格式的数据集分为训练集和测试集的Python代码示例:
```python
import scipy.io as sio
import numpy as np
# 加载.mat格式的数据集
mat_file = sio.loadmat('data.mat')
data = mat_file['data']
labels = mat_file['labels']
# 定义训练集和测试集的比例
train_ratio = 0.8
test_ratio = 1 - train_ratio
# 计算分割数据集的索引
data_size = len(data)
train_size = int(data_size * train_ratio)
test_size = data_size - train_size
# 随机打乱数据集
random_index = np.random.permutation(data_size)
data = data[random_index]
labels = labels[random_index]
# 分割数据集为训练集和测试集
train_data = data[:train_size]
train_labels = labels[:train_size]
test_data = data[train_size:]
test_labels = labels[train_size:]
```
其中,data.mat是指存储在和Python文件相同目录下的.mat格式的数据文件。代码使用了scipy库中的loadmat函数将数据加载到data和labels变量中,然后根据train_ratio和test_ratio计算出训练集和测试集的大小,使用numpy库中的random.permutation函数打乱数据集,最后使用切片操作将数据集分成训练集和测试集。注意,这里的代码适用于数据集中只有一个数据的.mat文件,不适用于多个数据储存在一个.mat文件中的情况。
阅读全文