我使用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]])
这应该如何解释?
答案 0 :(得分:0)
我们的广场页面(加州大学伯克利分校,INFO290t)上的答案似乎是正确的:
我相信您应该将输出舍入为零或一,然后将舍入结果与目标进行比较以确定准确度。
“如果分类器的输出是0到1之间的连续值,例如带有sigmoid输出节点的神经网络,则可以对输出进行舍入。例如,如果预测为0.80,则会舍入到1(罗姆尼)...对于神经网络,你应该将奥巴马映射到0,将罗姆尼映射到1。“