我有一个2D 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“prob”是一个长度为14的数组,但是输入数组“D”的大小超过400,因此逻辑中某处存在错误。
编辑:问题是不正确的数组切片。必须使用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)