โครงงานการจัดกลุ่มแบบ K-Means
นำไปใช้กับชุดข้อมูลจริง
โครงงานการจัดกลุ่มแบบ K-Means เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
โครงงานการจัดกลุ่มแบบเค-มีนส์
โครงงานการจัดกลุ่มแบบเค-มีนส์
ในโครงงานนี้ เราจะนำการจัดกลุ่มแบบเค-มีนส์ไปใช้กับชุดข้อมูลจากโลกจริง นั่นคือการแบ่งกลุ่มลูกค้า เป้าหมายคือการจัดกลุ่มลูกค้าตามรูปแบบการใช้จ่าย

ภาพรวมชุดข้อมูล
ภาพรวมชุดข้อมูล
ชุดข้อมูลประกอบด้วยคอลัมน์ต่อไปนี้:
- รหัสลูกค้า ID: ตัวระบุที่ไม่ซ้ำกันสำหรับลูกค้าแต่ละราย
- อายุ: อายุของลูกค้า
- รายได้ต่อปี: รายได้ต่อปีในหน่วยพันดอลลาร์
- คะแนนการใช้จ่าย: คะแนนที่กำหนดจากพฤติกรรมและรูปแบบการใช้จ่ายของลูกค้า (1–100)
ขั้นตอนที่ 1: การนำเข้าชุดข้อมูลและไลบรารี
ขั้นตอนที่ 1: การนำเข้าชุดข้อมูลและไลบรารี
เราจะเริ่มด้วยการนำเข้าไลบรารีที่จำเป็นและโหลดชุดข้อมูล:
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# Load dataset
data = pd.read_csv('Mall_Customers.csv')
print(data.head())ขั้นตอนที่ 2: การเตรียมข้อมูลล่วงหน้า
ขั้นตอนที่ 2: การเตรียมข้อมูลล่วงหน้า
เราจะเลือกคุณลักษณะที่เกี่ยวข้องสำหรับการจัดกลุ่ม และปรับข้อมูลให้อยู่ในมาตรฐานเดียวกันหากจำเป็น สำหรับโครงงานนี้ เราจะใช้ รายได้ต่อปี และ คะแนนการใช้จ่าย:
# Select relevant features
X = data[['Annual Income (k$)', 'Spending Score (1-100)']].values
print(X[:5])ขั้นตอนที่ 3: การกำหนดจำนวนกลุ่มที่เหมาะสมที่สุด
ขั้นตอนที่ 3: การกำหนดจำนวนกลุ่มที่เหมาะสมที่สุด
เราใช้วิธีข้อศอกเพื่อค้นหาจำนวนกลุ่มที่เหมาะสมที่สุด โดยสร้างกราฟผลรวมกำลังสองภายในกลุ่ม (WCSS) สำหรับค่า K ต่าง ๆ:
wcss = []
for i in range(1, 11):
kmeans = KMeans(n_clusters=i, init='k-means++', random_state=42)
kmeans.fit(X)
wcss.append(kmeans.inertia_)
plt.plot(range(1, 11), wcss)
plt.title('Elbow Method')
plt.xlabel('Number of Clusters')
plt.ylabel('WCSS')
plt.show()ขั้นตอนที่ 4: การใช้การจัดกลุ่มแบบเค-มีนส์
ขั้นตอนที่ 4: การใช้การจัดกลุ่มแบบเค-มีนส์
จากวิธีข้อศอก เราเลือกจำนวนกลุ่มที่เหมาะสมที่สุด (เช่น K=5) แล้วใช้ fit กับแบบจำลองเค-มีนส์:
kmeans = KMeans(n_clusters=5, init='k-means++', random_state=42)
kmeans.fit(X)
# Add cluster labels to the dataset
data['Cluster'] = kmeans.labels_
print(data.head())ขั้นตอนที่ 5: การแสดงภาพกลุ่ม
ขั้นตอนที่ 5: การแสดงภาพกลุ่ม
เราสามารถ plot กลุ่มต่าง ๆ ในปริภูมิ 2 มิติ เพื่อสังเกตการแยกออกจากกัน:
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='red', marker='X')
plt.title('Customer Segmentation')
plt.xlabel('Annual Income (k$)')
plt.ylabel('Spending Score (1-100)')
plt.show()ขั้นตอนที่ 6: การตีความกลุ่ม
ขั้นตอนที่ 6: การตีความกลุ่ม
แต่ละกลุ่มเป็นตัวแทนของลูกค้าที่มีรูปแบบการใช้จ่ายคล้ายกัน ตัวอย่างเช่น:
- กลุ่มที่ 1: รายได้สูง การใช้จ่ายสูง
- กลุ่มที่ 2: รายได้ต่ำ การใช้จ่ายต่ำ
- กลุ่มที่ 3: รายได้ปานกลาง การใช้จ่ายสูง
ความท้าทายในการจัดกลุ่มจากโลกจริง
ความท้าทายในการจัดกลุ่มจากโลกจริง
แม้การจัดกลุ่มจะมีประสิทธิภาพ แต่การนำไปใช้ในโลกจริงก็ต้องเผชิญกับความท้าทาย เช่น:
- ชุดข้อมูลที่มีหลายมิติ
- ข้อมูลที่มีสัญญาณรบกวนหรือไม่ครบถ้วน
- การตีความผลลัพธ์ของกลุ่มให้มีความหมาย
สรุปและขั้นตอนถัดไป
สรุปและขั้นตอนถัดไป
ในโครงงานนี้ เราได้:
- สำรวจชุดข้อมูลจากโลกจริง
- ใช้การจัดกลุ่มแบบเค-มีนส์และแสดงผลลัพธ์เป็นภาพ
- ตีความกลุ่มต่าง ๆ เพื่อทำความเข้าใจพฤติกรรมของลูกค้า
ต่อไป เราจะเรียนรู้เทคนิคการลดมิติ เช่น PCA และ t-SNE

คำถามที่พบบ่อย
บทเรียน “โครงงานการจัดกลุ่มแบบ K-Means” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “โครงงานการจัดกลุ่มแบบ K-Means” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 5 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “โครงงานการจัดกลุ่มแบบ K-Means”
นำไปใช้กับชุดข้อมูลจริง คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 5 บทเรียน
บทเรียน “โครงงานการจัดกลุ่มแบบ K-Means” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม
ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แนะนำอัลกอริทึมการจัดกลุ่ม
- การจัดกลุ่มแบบ K-Means
- โครงงานการจัดกลุ่มแบบ K-Means
- พื้นฐานการลดมิติข้อมูล
- การประยุกต์ใช้การลดมิติข้อมูล