用tkinter设置填空按钮,设置训练集测试集比例,按后完成指定划分的代码,不用class
时间: 2024-02-28 07:53:44 浏览: 81
好的,以下是根据您的要求编写的代码:
```python
from tkinter import *
import random
def split_dataset(train_ratio, data):
# 计算训练集和测试集的数量
train_size = int(train_ratio * len(data))
test_size = len(data) - train_size
# 随机打乱数据集
random.shuffle(data)
# 划分训练集和测试集
train_data = data[:train_size]
test_data = data[train_size:]
return train_data, test_data
def split_dataset_button_click():
# 获取用户输入的训练集比例和数据集
train_ratio = float(train_ratio_entry.get())
data = data_entry.get().split(',')
# 划分数据集
train_data, test_data = split_dataset(train_ratio, data)
# 在结果文本框中显示训练集和测试集
train_data_text.delete('1.0', END)
test_data_text.delete('1.0', END)
train_data_text.insert(END, ','.join(train_data))
test_data_text.insert(END, ','.join(test_data))
# 创建主窗口
root = Tk()
root.title('数据集划分')
# 创建训练集比例标签和输入框
train_ratio_label = Label(root, text='训练集比例:')
train_ratio_label.grid(row=0, column=0, padx=5, pady=5)
train_ratio_entry = Entry(root)
train_ratio_entry.grid(row=0, column=1, padx=5, pady=5)
# 创建数据集标签和输入框
data_label = Label(root, text='数据集:')
data_label.grid(row=1, column=0, padx=5, pady=5)
data_entry = Entry(root)
data_entry.grid(row=1, column=1, padx=5, pady=5)
# 创建划分按钮
split_button = Button(root, text='划分', command=split_dataset_button_click)
split_button.grid(row=2, column=0, columnspan=2, padx=5, pady=5)
# 创建训练集和测试集标签和文本框
train_data_label = Label(root, text='训练集:')
train_data_label.grid(row=3, column=0, padx=5, pady=5)
train_data_text = Text(root, height=5)
train_data_text.grid(row=4, column=0, padx=5, pady=5)
test_data_label = Label(root, text='测试集:')
test_data_label.grid(row=3, column=1, padx=5, pady=5)
test_data_text = Text(root, height=5)
test_data_text.grid(row=4, column=1, padx=5, pady=5)
root.mainloop()
```
代码中使用了 Tkinter 模块创建了一个 GUI 程序,包含训练集比例输入框、数据集输入框、划分按钮和训练集、测试集文本框。用户输入训练集比例和数据集后,点击划分按钮即可完成数据集的划分,并在训练集、测试集文本框中显示划分结果。
阅读全文