去偏斜变量
现在请使用 Box-Cox 变换对 wholesale 中的各列进行变换,然后查看成对关系图,确认分布的偏度已经降低,更接近正态分布。这一步非常关键,可确保 K-means 算法收敛,并能够发现同质的观测群组(即簇或细分 segment)。
stats 模块已从 scipy 库中加载,wholesale 数据集已作为 pandas 的 DataFrame 导入。
本练习是课程的一部分
Python 营销中的机器学习
练习说明
- 定义一个可应用于
pandasDataFrame 的自定义 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.___()