我正在尝试使用PyBrain进行一些简单的NN训练。我不知道该怎么做是从文件加载训练数据。任何地方都没有在他们的网站上解释过。我不关心格式,因为我现在可以构建它,但我需要在文件中执行它,而不是手动逐行添加,因为我将有几百行。
答案 0 :(得分: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个是输出。
答案 1 :(得分:1)
你只需这样使用pandas数组
import pandas as pd
ds = SupervisedDataSet(6,3)
dataset = pd.read_csv('mycsvfile.csv','r', delimiter=',',skiprows=1)
ds.setfield('input' dataset.values[:,0:6])
ds.setfield('target', dataset.values[:,-2:-1])
你很高兴。