Dataförberedelse för klusteranalys

Klusteranalys i Python

Shaumik Daityari

Business Analyst

Varför behöver vi förbereda data för klustring?

  • Variabler har ojämförbara enheter (produktmått i cm, pris i $)
  • Variabler med samma enhet kan ha mycket olika skalor och varianser (utgifter på spannmål, resor)
  • Rådata kan ge snedvridna klusterresultat
  • Kluster kan bli starkt beroende av en enskild variabel
  • Lösning: normalisering av individuella variabler
Klusteranalys i Python

Normalisering av data

Normalisering: processen att skala om data till en standardavvikelse på 1

x_new = x / std_dev(x)

from scipy.cluster.vq import whiten
data = [5, 1, 3, 3, 2, 3, 3, 8, 1, 2, 2, 3, 5]
scaled_data = whiten(data)
print(scaled_data)
[2.73, 0.55, 1.64, 1.64, 1.09, 1.64, 1.64, 4.36, 0.55, 1.09, 1.09, 1.64, 2.73]
Klusteranalys i Python

Illustration: normalisering av data

# Import plotting library
from matplotlib import pyplot as plt

# Initialize original, scaled data
plt.plot(data, 
         label="original")
plt.plot(scaled_data, 
         label="scaled")
# Show legend and display plot
plt.legend()
plt.show()

Klusteranalys i Python

Nu kör vi en övning!

Klusteranalys i Python

Preparing Video For Download...