我有一个 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)
关于python - 使用 numpy 数组从方法创建 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55386785/