从使用 numpy 数组的方法创建一个 numpy 数组

Creating a numpy array from a method using numpy array

我有一个 2D numpy 数组作为基本 sigmoid 分类器的输入。 我希望分类器 return 具有概率的数组。

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() 以便它 return 是一维 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)