我有一个二维numpy数组作为基本Sigmoid分类器的输入。 我希望分类器返回具有概率的数组。
import numpy as np
def sigmoid(x):
sigm = 1 / (1 + np.exp(-x))
return sigm
def p(D, w, b):
prob=sigmoid(np.dot(D[:][7],w)+b)
return prob
如何更改p()以使其返回一维numpy数组,并按输入数据的顺序列出概率?
Atm“概率”是一个长度为14的数组,但是输入数组“ D”的大小超过400,因此逻辑中的某个地方有错误。
答案 0 :(得分:1)
编辑:问题是数组的切片不正确。必须使用D[:,7]
而不是D[:][7]
来提取列。
也许是这样的:
import numpy as np
def sigmoid(x):
sigm = 1 / (1 + np.exp(-x))
return sigm
def p(D, w, b):
prob=sigmoid(np.dot(D[:][7],w)+b)
return np.ravel(prob)