変数の歪度を補正する
これから wholesale の各列に対して Box-Cox 変換を行い、その後、ペア関係プロットで確認して分布の歪度が小さくなり、より正規分布に近づいているかを確かめます。これは、K-means アルゴリズムがきちんと収束し、観測値を同質なグループ(クラスター/セグメント)に見つけ分けるための重要なステップです。
stats モジュールは scipy ライブラリから読み込まれており、wholesale データセットは pandas のDataFrameとしてインポートされています。
この演習はコースの一部です
Pythonで学ぶマーケティングのための機械学習
演習の手順
pandasのDataFrameに適用できるカスタムの Box-Cox 変換関数を定義します。- その関数を
wholesaleデータセットに適用します。 - 変換後の変数同士のペア関係をプロットします。
- チャートを表示します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define custom Box Cox transformation function
def boxcox_df(x):
x_boxcox, _ = stats.___(x)
return x_boxcox
# Apply the function to the `wholesale` dataset
wholesale_boxcox = ___.___(boxcox_df, axis=0)
# Plot the pairwise relationships between the transformed variables
sns.___(___, diag_kind='kde')
# Display the chart
plt.___()