簡體   English   中英

如何在 PyBrain 中加載訓練數據?

[英]How to load training data in PyBrain?

我正在嘗試使用 PyBrain 進行一些簡單的 NN 培訓。 我不知道該怎么做是從文件中加載訓練數據。 他們的網站上沒有任何地方對此進行解釋。 我不關心格式,因為我現在可以構建它,但是我需要在文件中完成它而不是手動逐行添加,因為我將有數百行。

這是我如何做到的:

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 個值是輸入值,后三個值是輸出值。

您只需以這種方式使用Pandas DataFrame

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

你很高興去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM