始める無料で始める

ダミートラップ

ダミートラップとは、異なるダミー変数が同じ情報を含んでしまう状況を指します。今回の例では、たとえば従業員が経理部(accounting 列の値が 1)であれば、他のどの部門にも属していない(他の列はすべて 0)ことが確実にわかります。 つまり、他のすべての部門ダミーを見れば、その人の所属部門がわかってしまいます。

このため、\(n\) 個のダミー変数を作成した場合(ここでは 10 個)、実際には \(n\) - 1 個(ここでは 9 個)で十分で、\(n\) 個目の列の情報はすでに他の列に含まれています。

したがって、元の部門列を削除し、ダミートラップを避けるために部門ダミーのうち 1 列を落としてから、2 つのDataFrameを結合します。

この演習はコースの一部です

HRアナリティクス:Pythonで従業員離職を予測する

コースを見る

演習の手順

  • ダミートラップを避けるため、accounting 列を .drop() で削除します。
  • もう不要な古い department 列を .drop() で削除します。
  • 新しい departments DataFrame を employee データセットに結合します(この処理はすでに実装済みです)。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Drop the "accounting" column to avoid "dummy trap"
departments = departments.____("____", axis=1)

# Drop the old column "department" as you don't need it anymore
data = data.____("____", axis=1)

# Join the new DataFrame "departments" to your employee dataset: done
data = data.join(departments)
コードを編集して実行