如何在PyBrain中加载训练数据?
我正在尝试使用PyBrain进行一些简单的神经网络训练。不过,我不知道怎么从文件中加载训练数据。他们的网站上没有任何说明。我对数据的格式不在乎,因为我现在可以自己构建,但我需要把数据放在一个文件里,而不是手动一行一行地添加,因为我会有几百行数据。
2 个回答
2
你只需要这样使用一个pandas数据框
import pandas as pd
dataset = SupervisedDataSet(6,3)
df = pd.read_csv('mycsvfile.csv')
dataset.setField('input', df.values[:,:6]) # this sets the features
y=[[x] for x in df.values[:,:6])] # Do this to avoid IndexError: tuple index out of range
# as the target field should be a list of lists,
# even if its shape is 1
dataset.setField('target', y) # this set the target[s] field[s]
del df,y
就可以了。
21
这是我怎么做的:
ds = SupervisedDataSet(6,3) tf = open('mycsvfile.csv','r') for line in tf.readlines(): data = [float(x) for x in line.strip().split(',') if x != ''] indata = tuple(data[:6]) outdata = tuple(data[6:]) ds.addSample(indata,outdata) n = buildNetwork(ds.indim,8,8,ds.outdim,recurrent=True) t = BackpropTrainer(n,learningrate=0.01,momentum=0.5,verbose=True) t.trainOnDataset(ds,1000) t.testOnData(verbose=True)
在这个例子中,神经网络有6个输入和3个输出。这个csv文件的每一行有9个值,用逗号分开。前6个值是输入值,最后3个值是输出。