Bölümlendirme için veri hazırlığı

Python ile Pazarlama için Machine Learning

Karolis Urbonas

Head of Analytics & Science, Amazon

Model varsayımları

  • Önce K-means ile başlayacağız
  • K-means, veri 1) yaklaşık normal dağılmış (çarpıklık yok) ve 2) standartlaştırılmış (ortalama = 0, standart sapma = 1) olduğunda iyi çalışır
  • İkinci model - NMF - ham veride, özellikle matris seyrekse, kullanılabilir
Python ile Pazarlama için Machine Learning

Log dönüşümü ile çarpıklığı azaltma

# İlk seçenek - log dönüşümü
wholesale_log = np.log(wholesale)
sns.pairplot(wholesale_log, diag_kind='kde')
plt.show()
Python ile Pazarlama için Machine Learning

Log dönüşümlü veriyi inceleyin

Log dönüşümlü pairplot

Python ile Pazarlama için Machine Learning

Box-Cox dönüşümü ile çarpıklığı azaltma

# İkinci seçenek - Box-Cox dönüşümü
from scipy import stats

def boxcox_df(x):
    x_boxcox, _ = stats.boxcox(x)
    return x_boxcox

wholesale_boxcox = wholesale.apply(boxcox_df, axis=0)
sns.pairplot(wholesale_boxcox, diag_kind='kde')
plt.show()
Python ile Pazarlama için Machine Learning

Box-Cox dönüşümlü veriyi inceleyin

Box-Cox pairplot

Python ile Pazarlama için Machine Learning

Veriyi ölçekleyin

  • Her sütun değerinden sütun ortalamasını çıkarın
  • Her sütun değerini sütun standart sapmasına bölün
  • sklearn içindeki StandardScaler() modülünü kullanacağız
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()

scaler.fit(wholesale_boxcox) wholesale_scaled = scaler.transform(wholesale_boxcox) wholesale_scaled_df = pd.DataFrame(data=wholesale_scaled, index=wholesale_boxcox.index, columns=wholesale_boxcox.columns) wholesale_scaled_df.agg(['mean','std']).round()
      Fresh  Milk  Grocery  Frozen  Detergents_Paper  Delicassen
mean   -0.0   0.0      0.0     0.0              -0.0         0.0
std     1.0   1.0      1.0     1.0               1.0         1.0
Python ile Pazarlama için Machine Learning

Haydi pratik yapalım!

Python ile Pazarlama için Machine Learning

Preparing Video For Download...