0

, 나는 다음과 같은 코드에 대한 하나/두 줄의 코드를 찾고 있어요 :확률을 예측 레이블로 변환하는 가장 쉽고 빠른 방법은 무엇입니까? 한마디로

for i in range(A.shape[1]): 

    # Convert probabilities A[0,i] to actual predictions p[0,i] 
    ### START CODE HERE ### (≈ 4 lines of code) 
    if(A[i] > .5) 
     Y_prediction[i] = 1 
    else 
     Y_prediction[i] = 0 
+0

예상 결과와 함께 샘플 사례를 추가 하시겠습니까? – Divakar

+1

Andrew Ng의 DL 전문 분야 코드 ...? – desertnaut

답변

1

당신은 0-1 레이블 확률 값을 변환 할. 할당 V_prediction[0, :] = A[0, :] > 0.5으로 충분해야합니다. 부울 값 A[0, :] > 0.5 (True/False)은 대상 배열 V_prediction이 숫자 인 경우 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

numpy argmax 함수는 여기에 편리해야합니다. 배열을 인수로 argmax 함수에 전달하면 해당 확률을 기반으로 레이블이 지정됩니다.

더 많은 것, see here.