Python 如何将数据拆分为训练集、测试集和验证集?
以下是我的代码: 这里是主要功能Python 如何将数据拆分为训练集、测试集和验证集?,python,Python,以下是我的代码: 这里是主要功能 trainingSet=[] testSet=[] validationSet=[] loadDataset('iris.data.txt', trainingSet, testSet,validationSet) 这是loadDataset函数 def loadDataset(filename, trainingSet=[] ,testSet=[],validationSet=[]): with open(filename
trainingSet=[]
testSet=[]
validationSet=[]
loadDataset('iris.data.txt', trainingSet, testSet,validationSet)
这是loadDataset函数
def loadDataset(filename, trainingSet=[] ,testSet=[],validationSet=[]):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
random.shuffle(dataset)
trainingSet .append(dataset[:106])
testSet.append(dataset[106:128])
validationSet.append(dataset[128:150])
“loadDataset获取wine数据集csv并将其转换为浮动列表。然后拆分数据。”
我正在尝试将我的数据拆分为70-15-15。但当我打印每个列表的长度时,它给出1 只需使用
.extend
而不是。append
就可以解决您的问题.append
将切片数据集[xxx]
作为单个元素添加到列表中<另一方面,code>.extend将数据集[xxx]
中的所有元素添加到列表中
但是,如果只调用一次loadDataSet
,如示例中所示,则无需初始化空数据集,并且可以直接返回范围
主要功能:
trainingSet, testSet, validationSet = loadDataset('iris.data.txt')
def loadDataset(filename):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
random.shuffle(dataset)
trainingSet = dataset[:106]
testSet = dataset[106:128]
validationSet = dataset[128:150]
return trainingSet, testSet, validationSet
loadDataset函数:
trainingSet, testSet, validationSet = loadDataset('iris.data.txt')
def loadDataset(filename):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
random.shuffle(dataset)
trainingSet = dataset[:106]
testSet = dataset[106:128]
validationSet = dataset[128:150]
return trainingSet, testSet, validationSet
只需使用
.extend
而不是.append
就可以解决您的问题.append
将切片数据集[xxx]
作为单个元素添加到列表中<另一方面,code>.extend将数据集[xxx]
中的所有元素添加到列表中
但是,如果只调用一次loadDataSet
,如示例中所示,则无需初始化空数据集,并且可以直接返回范围
主要功能:
trainingSet, testSet, validationSet = loadDataset('iris.data.txt')
def loadDataset(filename):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
random.shuffle(dataset)
trainingSet = dataset[:106]
testSet = dataset[106:128]
validationSet = dataset[128:150]
return trainingSet, testSet, validationSet
loadDataset函数:
trainingSet, testSet, validationSet = loadDataset('iris.data.txt')
def loadDataset(filename):
with open(filename, 'rb') as csvfile:
lines = csv.reader(csvfile)
dataset = list(lines)
for x in range(len(dataset)-1):
for y in range(4):
dataset[x][y] = float(dataset[x][y])
random.shuffle(dataset)
trainingSet = dataset[:106]
testSet = dataset[106:128]
validationSet = dataset[128:150]
return trainingSet, testSet, validationSet
欢迎来到StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。特别是,对样本数据集进行硬编码,并在加载数据时(通过函数)打印数据。您可能需要
trainingSet.extend(dataset[:106])
。一些print
语句可以帮助您了解发生了什么。例如<代码>打印培训集和打印镜头(培训集[0])
。这些print语句适用于Python2.7——如果您使用的是Python3.x,那么您需要额外的参数,例如:print(trainingSet)
。欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布MCVE代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中,并重现您描述的问题。特别是,对样本数据集进行硬编码,并在加载数据时(通过函数)打印数据。您可能需要trainingSet.extend(dataset[:106])
。一些print
语句可以帮助您了解发生了什么。例如<代码>打印培训集和打印镜头(培训集[0])
。这些print语句适用于Python2.7——如果您使用的是Python3.x,那么您需要额外的参数,例如:print(trainingSet)
。