function entropy(probabilities) { // エントロピーの初期値を0に設定します。エントロピーは情報の不確かさを表すので、 // これからその不確かさを計算していきます。 let entropy = 0; // 確率の配列を一つずつ見ていきます。この確率は、それぞれの事象が起こる確率を表しています。 for (let probability of probabilities) { // 確率が0より大きい場合のみ、エントロピーの計算に寄与します。 // 確率が0の事象は、起こらないと確定しているので、情報の不確かさ(エントロピー)には影響しません。 if (probability > 0) { // エントロピーの計算式は、各事象の確率 * その確率の対数の和です。 // これは、各事象が起こる不確かさを、その事象が起こる確率で重み付けして合計したものと考えることができます。 entropy -= probability * Math.log2(probability); } } // 最終的に計算されたエントロピーを返します。この値が大きいほど、確率分布の不確かさが大きい、つまり予測が難しいということを意味します。 return entropy; }