写一段代码设置填空按钮,可设置训练集测试集比例,按后完成指定划分,实现训练集和涩世纪的划分功能
时间: 2024-02-12 20:07:59 浏览: 19
好的,以下是一段 Python 代码,可以用来划分训练集和测试集,同时也可以设置划分比例:
```python
import random
def split_dataset(dataset, train_ratio):
"""
Split dataset into training set and test set with given ratio.
:param dataset: The entire dataset to be split.
:param train_ratio: The ratio of the training set in the entire dataset.
:return: A tuple containing the training set and test set.
"""
train_size = int(len(dataset) * train_ratio)
train_set = []
test_set = list(dataset)
while len(train_set) < train_size:
index = random.randrange(len(test_set))
train_set.append(test_set.pop(index))
return train_set, test_set
# Example usage:
dataset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
train_ratio = 0.8
train_set, test_set = split_dataset(dataset, train_ratio)
print("Training set:", train_set)
print("Test set:", test_set)
```
这段代码中,我们定义了一个 `split_dataset` 函数,它接受两个参数:`dataset` 和 `train_ratio`。`dataset` 是要被划分的整个数据集,`train_ratio` 是训练集在整个数据集中的比例。这个函数会返回一个元组,包含训练集和测试集。
在函数内部,我们首先计算了训练集的大小,然后通过随机抽样的方式将数据集中的元素分配到训练集和测试集中。具体来说,我们先将整个数据集复制一份为测试集,然后不断地从测试集中随机选择元素加入到训练集中,直到训练集大小达到指定的比例为止。
在代码的最后,我们展示了如何使用这个函数来划分数据集。我们定义了一个简单的数据集,然后将训练集比例设置为 0.8,最后打印出划分结果。