1. 学ぶ
  2. /
  3. コース
  4. /
  5. PySparkで学ぶ特徴量エンジニアリング

Connected

演習

ビニング(バケット化)

持ち家の方にとって、寝室が1、2、3、4室かどうかはとても重要です。ただしバスルームと同様に、ある程度の数を超えると、7室か8室かはあまり気にならなくなります。この例では、どこに良い区切り(価値のあるポイント)があるかを見つけてバケット化する方法を見ていきます。

指示

100 XP
  • Seaborn の distplot() を使って、pandas のデータフレーム sample_df の分布プロットを描画します。
  • 5 を超えたあたりから頻度の低い長いテールがあるように見えるので、1、2、3、4、5+ のバケット splits を作成します。
  • バケットを設定するための splits を指定して Bucketizer() をインスタンス化し、入力列を BEDROOMS、出力列を bedrooms に設定して、変換器 buck を作成します。
  • transform() を使って df に Bucketizer の変換を適用し、結果を df_bucket に代入します。その後、show() で結果を確認します。