简而言之,我正在为以下代码寻找一个/两行代码:
deferred.defer()
答案 0 :(得分:1)
您想将概率值转换为0-1标签。作业V_prediction[0, :] = A[0, :] > 0.5
应该足够了;如果目标数组V_prediction是数字,则布尔值A[0, :] > 0.5
(True / False)将变为数字1,0。一个例子:
V_prediction = np.zeros((3, 10))
A = np.random.uniform(size=(3, 10))
V_prediction[0, :] = A[0, :] > 0.5
V_prediction
现在(随机)
array([[ 1., 0., 1., 1., 0., 1., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.],
[ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]])
如果所有标签都是整数,则可以使用整数数据类型声明V_prediction。
更复杂的方法,可以扩展到更复杂的方案,是使用numpy.piecewise。
V_prediction[0, :] = np.piecewise(A[0, :], [A[0, :] > 0.5, A[0, :] <= 0.5], [0, 1])
答案 1 :(得分:-2)
numpy argmax
函数应该在这里派上用场。只需将您的数组作为参数传递给argmax
函数,它就会根据概率为您提供标签。
更多信息,see here。