バケット

まず、機械学習集中講座から重要なコンセプトを簡単に振り返りましょう。以下の表の分布をご覧ください。

緯度ごとの住宅地のプロット。プロットは非常に不規則で、緯度 36 頃にドラム(緯度 36)を中心とし、緯度 34 と 38 を中心とする巨大な急増を含んでいます。 図 1: 住宅価格と緯度の比較。

 

次の質問については、目的の矢印をクリックして答えを確認してください。

図 1 について考えてみましょう。緯度が住宅の値の予測に有用であると思われる場合は、緯度を浮動小数点値のままにする必要がありますか。その理由は何ですか。(線形モデルであるとします)。
はい。緯度がデータセットの浮動小数点値である場合は、変更しないでください。
これらの浮動小数点値をネットワークに送信すると、特徴とラベルの間の線形関係を学習します。ただし、緯度には線形関係がありません。緯度を 1 度上げる(たとえば 34 度から 35 度)と、モデルの出力にある程度の変更が生じるのに対し、1 度の増加(たとえば 35 度から 36 度)に伴って変化する量が異なる場合があります。これは非線形の動作です。
いいえ - 緯度と住宅の値の間には線形関係がありません。
個々の緯度と経度に関連性があると思われるものの、その関係は線形ではありません。

緯度の例のように、緯度を複数のバケットに分割して、それぞれのバケットの値の特徴を理解する必要があります。この一連の数値をしきい値のセットを使用してカテゴリ特徴量に変換することを、バケット(またはビニング)と呼びます。このバケットの例では、境界が等間隔になっています。

緯度と住宅価格のプロット。今回は、プロットは整数の緯度間で 11 の

 

図 2: 住宅価格と緯度の比較。バケットに分割されます。

分位点バケット

バケットを追加して、車の価格データセットを再度見てみましょう。バケットごとに 1 つの特徴がある場合、モデルは > 45,000 の範囲の 1 つのサンプルに 5,000 ~ 10,000 の範囲のすべてのサンプルと同程度の容量を使用します。これは無駄に思えます。この状況を改善するにはどうすればよいでしょうか。

その価格で販売された車台数あたりの自動車価格のプロット。プロットは、5,000(自動車価格)の範囲で 10 個の同じサイズのバケットに分割されます。最初の 3 つのバケットには多くの例が含まれていますが、最後の 7 つのバケットにはほとんど何も含まれていません。

図 3: さまざまな価格で販売された自動車の数。

 

問題は、等間隔のバケットでは、この分布が適切にキャプチャされないことです。この解決策では、それぞれが同じポイント数を持つバケットを作成します。この手法は分位点バケットと呼ばれます。たとえば、次の図では自動車価格を分位点バケットに分割しています。各バケットで同じ数のサンプルを取得するために、一部のバケットは価格帯が狭く設定されていて、それ以外の価格帯は非常に範囲が広すぎます。

図 3 と同じですが、分位点バケットを除く点が異なります。つまり、バケットのサイズが異なるということです。最も小さいバケットの範囲は約 1,000 ドル、最大のバケットの範囲は約 25,000 ドルです。各バケット内の自動車の数はほぼ同じです。

図 4: 変位値バケットを使用すると、各バケットに同じ数の車が割り当てられる

バケットの概要

数値特徴をバケット化する場合は、境界を設定する方法と適用するバケットの種類を明確にしてください。

  • 等間隔の境界のあるバケット: 境界は固定されており、同じ範囲(0 ~ 4 度、5 ~ 9 度、10 ~ 14 度、$5,000 ~$9,999、$10,000 ~$14,999、$15,000 ~$19,999)が含まれます。多数のポイントを含むバケットもあれば、ほとんどまたはまったくないバケットもあります。
  • 分位点境界を持つバケット: 各バケットのポイント数は同じです。境界は固定されていないため、値の狭い範囲または広い範囲を含むことができます。