将数据拆分成训练集和测试及的函数
时间: 2024-05-15 22:16:19 浏览: 90
以下是Python代码实现:
```python
import numpy as np
def split_data(data, train_ratio=0.8):
"""
将数据拆分成训练集和测试集
参数:
data:原始数据,类型为numpy数组
train_ratio:训练集比例,默认为0.8
返回值:
train_data:训练集数据,类型为numpy数组
test_data:测试集数据,类型为numpy数组
"""
# 确定训练集和测试集的长度
train_size = int(len(data) * train_ratio)
test_size = len(data) - train_size
# 随机打乱数据
np.random.shuffle(data)
# 拆分训练集和测试集
train_data = data[:train_size]
test_data = data[train_size:]
return train_data, test_data
```
使用方法:
```python
# 假设原始数据为一个numpy数组,每行表示一个样本,每列表示一个特征
data = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15]])
# 调用函数拆分数据
train_data, test_data = split_data(data, train_ratio=0.8)
# 输出训练集和测试集的形状
print("训练集形状:", train_data.shape)
print("测试集形状:", test_data.shape)
```
阅读全文