Ta bort skevhet från variablerna
Nu ska du transformera kolumnerna i wholesale med hjälp av Box-Cox-transformation och sedan utforska diagrammet över parvisa samband för att kontrollera att skevheten i fördelningarna har minskat och att de blivit mer normalfördelade. Det här är ett viktigt steg för att se till att K-means-algoritmen konvergerar och hittar homogena grupper (även kallade kluster eller segment) av observationer.
Modulen stats är inläst från biblioteket scipy, och datamängden wholesale har importerats som en pandas DataFrame.
Den här övningen är en del av kursen
Maskininlärning för marknadsföring i Python
Övningsinstruktioner
- Definiera en anpassad Box-Cox-transformationsfunktion som kan tillämpas på en
pandasDataFrame. - Tillämpa funktionen på datamängden
wholesale. - Rita ett diagram över de parvisa sambanden mellan de transformerade variablerna.
- Visa diagrammet.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.___()