สร้างการแบ่งกลุ่มลูกค้าและสินค้า

Machine Learning สำหรับการตลาดด้วย Python

Karolis Urbonas

Head of Analytics & Science, Amazon

ขั้นตอนการแบ่งกลุ่มด้วย K-means

การแบ่งกลุ่มด้วย K-means (สำหรับ k คลัสเตอร์):

from sklearn.cluster import KMeans

kmeans=KMeans(n_clusters=k)
kmeans.fit(wholesale_scaled_df)
wholesale_kmeans4 = wholesale.assign(segment = kmeans.labels_)
Machine Learning สำหรับการตลาดด้วย Python

ขั้นตอนการแบ่งกลุ่มด้วย NMF

การแบ่งกลุ่มด้วย NMF (k คลัสเตอร์):

from sklearn.decomposition import NMF
nmf = NMF(k)
nmf.fit(wholesale)
components = pd.DataFrame(nmf.components_, columns=wholesale.columns)

การดึงข้อมูลการกำหนดกลุ่ม:

segment_weights = pd.DataFrame(nmf.transform(wholesale, columns=components.index)
segment_weights.index = wholesale.index
wholesale_nmf = wholesale.assign(segment = segment_weights.idxmax(axis=1))
Machine Learning สำหรับการตลาดด้วย Python

จะกำหนดจำนวนกลุ่มอย่างไร?

  • ทั้ง K-means และ NMF ต้องกำหนดจำนวนคลัสเตอร์ (k)
  • มี 2 วิธีในการกำหนด k: 1) ใช้คณิตศาสตร์ 2) ทดสอบและเรียนรู้
  • จะสำรวจวิธี elbow criterion เพื่อประมาณค่าเบื้องต้น
Machine Learning สำหรับการตลาดด้วย Python

วิธี elbow criterion

  • วนซ้ำผ่านค่า k หลายค่า
  • รันการจัดกลุ่มสำหรับแต่ละค่าบนข้อมูลชุดเดียวกัน
  • คำนวณผลรวมของข้อผิดพลาดกำลังสอง (SSE) สำหรับแต่ละค่า
  • พล็อต SSE เทียบกับ k และหา "elbow" — จุดที่การปรับปรุงเริ่มลดน้อยลง
Machine Learning สำหรับการตลาดด้วย Python

คำนวณผลรวมข้อผิดพลาดกำลังสองและพล็อตผลลัพธ์

sse = {}
for k in range(1, 11):
    kmeans=KMeans(n_clusters=k, random_state=333)
    kmeans.fit(wholesale_scaled_df)
    sse[k] = kmeans.inertia_
plt.title('Elbow criterion method chart')
sns.pointplot(x=list(sse.keys()), y=list(sse.values()))
plt.show()
Machine Learning สำหรับการตลาดด้วย Python

การหาจำนวนกลุ่มที่เหมาะสม

วิธี Elbow Criterion

Machine Learning สำหรับการตลาดด้วย Python

วิธีทดสอบและเรียนรู้

  • คำนวณจำนวนกลุ่มที่เหมาะสมที่สุดด้วยคณิตศาสตร์ก่อน
  • สร้างการแบ่งกลุ่มด้วยค่าต่างๆ รอบค่า k ที่ได้
  • สำรวจผลลัพธ์และเลือกค่าที่ตอบโจทย์ธุรกิจมากที่สุด (ตั้งชื่อกลุ่มได้ไหม? กลุ่มซ้อนทับกันหรือไม่?)
Machine Learning สำหรับการตลาดด้วย Python

มาสร้างกลุ่มลูกค้ากันเถอะ!

Machine Learning สำหรับการตลาดด้วย Python

Preparing Video For Download...