如何解释neurolab模拟的输出?

时间:2015-02-22 20:51:52

标签: python neural-network data-mining

我使用neurolab来模拟神经网络,将数据集分类为二进制分类。

我在数据框中有数据。我正在创建一个神经网络,其中包含一个输入值和一个输出值以及10个隐藏节点。<​​/ p>

df_train = pd.read_csv("training.csv")
target = df_train['outputcol'] # already encoded into 0's and 1's
inp = df_train.INPUT_AMT.values.reshape(df_train.INPUT_AMT.count(),1)
output = target.reshape(len(target),1) #reshaping into a matrix

然后我创建了一个模型,min_input和max_input被计算出来:

net = nl.net.newff([[min_input,max_imput]], [10,1]) 
error = net.train(inp,output)
out = net.sim(inp)

这是变量out

的内容
array([[ 0.46434608],
   [ 0.47084458],
   [ 0.46583954],
   ..., 
   [ 0.46898838],
   [ 0.22519667],
   [ 0.46541441]])

这应该如何解释?

1 个答案:

答案 0 :(得分:0)

我们的广场页面(加州大学伯克利分校,INFO290t)上的答案似乎是正确的:

  

我相信您应该将输出舍入为零或一,然后将舍入结果与目标进行比较以确定准确度。

     

“如果分类器的输出是0到1之间的连续值,例如带有sigmoid输出节点的神经网络,则可以对输出进行舍入。例如,如果预测为0.80,则会舍入到1(罗姆尼)...对于神经网络,你应该将奥巴马映射到0,将罗姆尼映射到1。“