숫자

2013-07-29 2 views
0

의 시리즈에서 확률을 생성 : 11.5, 6.7, 3.2, 결과의 확률의 합이 1이되도록 5.11숫자

어떻게 하나 확률로 이들 숫자를 변환합니까?

감사합니다.


숫자 시리즈에 -1.2, -100.34, 3.67 및 2.1과 같은 음수가 포함되어 있으면 어떻게 될까요?

예, 인스턴스에 대해 가능한 4 개의 클래스와 연관된 가중치입니다.


ok. 여기 내 해결책이있다. 가능하다면 개선을 제안하십시오.

1) 숫자 범위를 1에서 임의의 n (100을 선택) 사이로 변경하려면 method을 입력하십시오.

2) 답변에 나열된 해결 방법을 사용하십시오.

단계 1)에서 1로 하한을 선택하는 이유는 범위 변환 수식을 적용한 후 최소값을 잃지 않기위한 것입니다. 당신은 합계하여 각각의 번호를 나눌 수

Say there 2 instances that can take on 2 possible class values with weights as shown below. 
Instance1: -11.0 -2.0 
Instance2: 4.0 52.0 

old_max = 52.0, old_min = -11.0, new_max = 100, and new_min = 1 

After applying step1), the weights are now in range 1 to 100. 
Instance1: 1  15.1 
Instance2: 24.5 100  

On applying step2), the following probabilities are obtained. 
Instance1: 0.0708 0.937 
Instance2: 0.19  0.803 
+1

모두 추가 한 다음 합계로 나누십시오. – NINCOMPOOP

+1

입력 번호는 무엇을 나타 냅니까? 대부분의 답변이 제안하는 것처럼 정규화해야 할 수도 있고 그렇지 않을 수도 있습니다. –

+0

입력 숫자는 인스턴스가 특정 클래스에 속하는 가중치를 나타냅니다. 추가 정보는 svm_multiclass 프로그램의 분류 결과입니다. –

답변

2

가중 합이기 때문에 작동?

x1= 11.5, x2 = 6.7, x3 = 3.2, x4= 5.11 
sum = x1+x2+x3+x4 
p(x1) = x1/sum 
p(x4) = x4/sum 
.... 
p(total) = p(x1) + p(x2) + p(x3) + p(x4) = 1 
+0

귀하의 답변은 다른 사람들과 마찬가지로 제 질문의 일부분을 다루고 있지만, 귀하의 답변은 처음이었던 것처럼 받아들입니다. 물론, 모든 부분적인 대답은 나의 첫번째 불완전한 질문 공식화에 기인합니다. –

2

:

예 해결

double arr[] = {11.5, 6.7, 3.2, 5.11}; 
double total = 11.5 + 6.7 + 3.2 + 5.11; 
for (int i = 0; i < arr.length; i++) { 
    System.out.println(arr[i]/total); 
} 

합으로 나누어 합계 1