0

番号系列がある場合: 11.5、6.7、3.2、および 5.11

これらの数値を確率に変換して、結果の確率の合計が 1 になるようにするにはどうすればよいでしょうか?

ありがとうございました。


数値系列に負の数値も含まれている場合: -1.2、-100.34、3.67、および 2.1 ?

はい、インスタンスの 4 つの可能なクラスに関連付けられた重みです。


わかった。これが私の解決策です。改善点があれば遠慮なく提案してください。

1) methodによって数値の範囲を 1 から任意の n (私は 100 を選択) の間にシフトします。

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
4

2 に答える 2

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 であるため機能します。

于 2013-07-29T15:46:30.520 に答える
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
于 2013-07-29T15:47:08.383 に答える