Wawasan Analisis Pemasaran Menggunakan Pembelajaran Mesin | oleh Menuju Tim AI | Mei 2021

Dimana,

zi = engan nilai standar

x = semua nilai

mean (x) = nilai rata-rata dari semua nilai x

std (x) = simpangan baku dari nilai x

Contoh Standarisasi Data Usia dan Pendapatan Pelanggan

Kode Python berikut akan membakukan data usia dan pendapatan pelanggan.

Impor semua paket yang diperlukan.

import numpy sebagai npimport pandas as pd

Hasilkan pendapatan pelanggan acak dan data usia.

np.random.seed (100) df = pd.DataFrame () df[‘salary’] = np.random.normal (80000, skala = 10000, ukuran = 100) df[‘age’] = np.random.normal (50, scale = 10, size = 100) df = df.astype (int) df.head () Gambar 4: Data Pendapatan dan Umur Pelanggan.

Hitung deviasi standar kedua kolom secara bersamaan menggunakan fungsi std.

df.std () Gambar 5: Simpangan baku.

Hitung nilai rata-rata dari dua kolom.

df.mean () Gambar 6: Rata-rata usia dan pendapatan.

Standarisasi variabel menggunakan standar deviasi dan meannya.

df[‘z_salary’] = (df[‘salary’] -df[‘salary’].mean ()) / df[‘salary’].std () df[‘z_age’] = (df[‘age’] – df[‘age’].mean ()) / df[‘age’].std () df.head () Gambar 7: Variabel standar.

Periksa standarisasi.

df.std () Gambar 8: Standarisasi usia dan pendapatan.

Setelah datanya distandarisasi, perlu dihitung kesamaan antara pelanggan. Terutama, ini dilakukan dengan mengukur jarak antara pelanggan di ruang fitur. Dalam sebar dua dimensi, jarak Euclidean antara dua pelanggan hanyalah jarak antara titik mereka.

Hitung Jarak antara Poin Data Pelanggan

Mari kita hitung jarak antara tiga pelanggan.

Impor semua paket yang diperlukan.

impor matematika

Buat data usia dan pendapatan.

usia = [50, 40, 30]gaji = [50000, 60000, 40000]

Hitung jarak antara pelanggan pertama dan kedua /

math.sqrt ((usia[0] – usia[1]) ** 2 + (gaji[0] – gaji[1]) ** 2) Gambar 9: Jarak antara pelanggan pertama dan kedua.

Hitung jarak antara pelanggan pertama dan ketiga.

math.sqrt ((usia[0] – usia[2]) ** 2 + (gaji[0] – gaji[2]) ** 2) Gambar 10: Jarak antara pelanggan pertama dan ketiga.

Di sini, jarak antara pelanggan pertama dan ketiga dan pelanggan pertama dan kedua berbeda dalam output.

Standarisasi usia dan gaji menggunakan mean dan deviasi standar.

z_ages = [(age – 40)/10 for age in ages]z_income = [(salary – 50000)/10000 for salary in salaries]

Sekali lagi, hitung jarak antara skor standar pelanggan pertama dan kedua.

math.sqrt ((z_ages[0] – z_ages[1]) ** 2 + (z_salaries[0] – z_salaries[1]) ** 2) Gambar 11: Jarak antara pelanggan pertama dan kedua setelah standarisasi.

Hitung jarak antara skor standar pelanggan pertama dan ketiga.

math.sqrt ((z_ages[0] – z_ages[2]) ** 2 + (z_salaries[0] – z_salaries[2]) ** 2) Gambar 12: Jarak antara pelanggan pertama dan ketiga.

Di sini, setelah standarisasi, jarak antara pelanggan pertama dan kedua dan jarak antara pelanggan pertama dan ketiga adalah sama.

Pengelompokan K-means adalah metode pembelajaran tanpa pengawasan yang lazim dengan berbagai aplikasi. Ini sangat mudah karena diskalakan ke kumpulan data yang luas dan berfungsi dengan cukup baik dalam situasi dunia nyata.

K-means clustering adalah algoritme yang berupaya menemukan cara terbaik untuk mengelompokkan titik data menjadi k grup terpisah, di mana k adalah parameter yang diberikan pada algoritme. Algoritme kemudian bekerja secara berulang untuk mencoba menemukan pengelompokan terbaik.

Langkah-langkah berikut diperlukan untuk menjalankan algoritma ini:

Algoritme dimulai dengan memilih titik k secara acak di ruang angkasa untuk dijadikan sentroid dari cluster. Setiap titik data kemudian dialokasikan ke centroid yang terdekat dengannya. Centroid disegarkan menjadi rata-rata dari semua titik data yang ditetapkan padanya. Titik data kemudian dipindahkan ke pusat massa yang paling dekat dengannya.

Langkah kedua direplikasi sampai tidak ada titik data yang mengubah sentroid tempat mereka ditetapkan setelah sentroid diperbarui.

Contoh: K-mean Clustering pada Data Gaji dan Umur Pelanggan

Lakukan pengelompokan K-mean pada data Gaji dan Usia Pelanggan.

Impor semua perpustakaan yang diperlukan.

impor panda sebagai pdimport matplotlib.pyplot sebagai pltfrom sklearn import cluster% matplotlib inline

Impor data CSV pelanggan.

df = pd.read_csv (‘/ content / customer.csv’)
df.head () Gambar 13: Data pelanggan.

Buat kolom nilai standar untuk nilai gaji dan usia dan simpan di variabel z_salary dan z_age.

df[‘z_salary’] = (df[‘salary’] – df[‘salary’].mean ()) / df[‘salary’].std () df[‘z_age’] = (df[‘age’] – df[‘age’].mean ()) / df[‘age’].std ()

Plot data pelanggan.

plt.scatter (df[‘salary’], df[‘age’]) plt.xlabel (‘Gaji’) plt.ylabel (‘Age’) plt.show () Gambar 14: Merencanakan data Pelanggan.

Lakukan pengelompokan k-means dengan empat cluster.

model = cluster.KMeans (n_clusters = 4, random_state = 10) model.fit (df[[‘z_salary’,’z_age’]]) Gambar 15: Pengelompokan K-means.

Buat kolom yang disebut cluster yang berisi label cluster di mana setiap titik data berada.

df[‘cluster’] = model.labels_df.head () Gambar 16: Data pelanggan setelah pengelompokan.

Plot datanya.

warna = [‘r’, ‘b’, ‘k’, ‘g’]spidol = [‘^’, ‘o’, ‘d’, ‘s’]untuk c di df[‘cluster’].unique (): d = df[df[‘cluster’] == c]plt.scatter (d[‘salary’], d[‘age’], penanda = penanda[c], color = warna[c]) plt.xlabel (‘Gaji’) plt.ylabel (‘Age’) plt.show () Gambar 17: K-mean clustering data pelanggan.

Dalam hal ini, plot data dengan warna / bentuk yang menunjukkan cluster mana yang masing-masing titik data ditetapkan.

Biasanya memiliki data yang lebih signifikan daripada hanya dua dimensi. Jika kita memiliki pengetahuan tentang bagaimana pelanggan ini bereaksi terhadap penjualan yang dipromosikan, berapa banyak pembelian yang mereka lakukan terhadap produk, atau berapa banyak orang yang tinggal di rumah mereka, itu akan memiliki lebih banyak dimensi.

Saat data memiliki dimensi tambahan, memvisualisasikan data tersebut menjadi lebih sulit. Jadi, pengurangan dimensi mulai terlihat. Tujuan pengurangan dimensi adalah agar data multi-dimensi direduksi, umumnya menjadi dua dimensi, untuk tujuan visualisasi sambil menjaga jarak antar titik.

Analisis komponen utama (PCA) digunakan untuk melakukan reduksi dimensi. PCA adalah metode untuk mentransformasikan data. Ini mengambil dimensi asli dan membuat dimensi baru yang menangkap sebagian besar varian dalam data.

Gambar 18: Fungsionalitas PCA.

Contoh: Melakukan Reduksi Dimensi Data Dimensi Tinggi Menggunakan PCA

Impor semua paket yang diperlukan.

impor panda sebagai pdf dari sklearn impor clusterdari sklearn impor dekomposisiimport matplotlib.pyplot sebagai plt% matplotlib sebaris

Impor data CSV pelanggan.

df = pd.read_csv (‘/ content / pca_data.csv’) df.head () Gambar 19: Data Pelanggan.

Standarisasi tiga kolom dan simpan nama kolom standar dalam daftar

cols = df.columnszcols = []untuk col di cols:
df[‘z_’ + col] = (df[col] – df[col].mean ()) / df[col].std ()
zcols.append (‘z_’ + col) df.head () Gambar 20: Standarisasi data.

Lakukan pengelompokan k-means pada skor standar.

model = cluster.KMeans (n_clusters = 4, random_state = 10) df[‘cluster’] = model.fit_predict (df[zcols])

Lakukan PCA pada data.

pca = dekomposisi.PCA (n_components = 2) df[‘pc1’], df[‘pc2’] = zip (* pca.fit_transform (df[zcols]))

Plot cluster dalam ruang dimensi tereduksi.

warna = [‘r’, ‘b’, ‘k’, ‘g’]spidol = [‘^’, ‘o’, ‘d’, ‘s’]untuk c di df[‘cluster’].unik():
d = df[df[‘cluster’] == c]plt.scatter (d[‘pc1’], d[‘pc2’], penanda = penanda[c], color = warna[c]) plt.show () Gambar 21: Plotting PCA.

Seperti yang ditunjukkan pada gambar 21, sumbu x dan y di sini adalah komponen utama dan tidak mudah diinterpretasikan. Namun, dengan memvisualisasikan cluster, kita dapat memperoleh wawasan tentang seberapa baik cluster berdasarkan pada seberapa banyak cluster tersebut dihamparkan.

Pembelajaran mesin tanpa pengawasan adalah teknik modern yang sangat baik untuk melakukan segmentasi pelanggan. Dalam artikel ini, kami menggunakan pengelompokan K-means, algoritme pengelompokan yang umumnya digunakan, cepat, dan mudah diskalakan. Selain itu, investigasi pemrosesan data juga merupakan bagian penting dari setiap metodologi ilmu data.

Menyajikan analisis lanjutan dan membuat visualisasi untuk membuat pemrosesan mudah dipahami adalah teknik yang sangat baik untuk memahami data pelanggan. Perpustakaan Matplotlib dan seaborn adalah perpustakaan yang sangat baik untuk membuat visualisasi yang memadai. Saat kami mengembangkan pipeline analitik, langkah pertama adalah membuat model data.

Model data adalah ringkasan dari sumber data yang akan kita kerjakan, kaitannya dengan sumber data lain, di mana tepatnya data dari sumber tertentu akan masuk ke dalam pipeline, dan dalam format apa (Misalnya, file Excel , database, JSON dari sumber internet, atau REST API). Model data untuk pipeline muncul dari waktu ke waktu karena sumber data dan metode berubah.

Data pemasaran, secara tradisional, terdiri dari ketiga jenis data. Awalnya, sebagian besar titik data dimulai dari sumber data yang berbeda (terutama manual), sehingga nilai suatu objek bisa berbeda panjangnya. Nilai untuk satu bidang tidak akan sama dengan nilai bidang lainnya karena berbagai nama bidang, dan beberapa baris yang menerima data bahkan dari sumber yang tepat juga bisa memiliki nilai yang ditolak untuk beberapa bidang.

Namun demikian, data terstruktur dan semi-terstruktur segera tersedia saat ini, sebagian besar karena teknologi yang sering digunakan untuk mengimplementasikan analitik pada properti digital. Data tersebut memiliki dua format – terstruktur dan tidak terstruktur. Data tidak terstruktur trendi dan bebas skema. Pemrosesan dan perselisihan data adalah titik awal dan bagian yang sangat berharga dari pipeline ilmu data. Biasanya penting jika insinyur data atau ilmuwan data sedang mempersiapkan data melalui pembersihan data dan pemrosesan awal data untuk memiliki beberapa pengetahuan domain tentang data.

Pemrosesan data juga menuntut solusi dan teknik inovatif. Jika teknisi data yakin bahwa data yang relevan dengan proyek telah diatur dengan benar, data tersebut kemudian digabungkan dengan sumber data lain. Selanjutnya, singkirkan duplikat dan kolom yang tidak diinginkan, dan terakhir, alokasikan data yang hilang. Setelah melakukan langkah-langkah ini, data proyek tersedia untuk analisis dan pemodelan dan dapat dimasukkan ke dalam pipeline data science tanpa masalah.