การนำ Mean, Median, Mode มาวิเคราะห์ข้อมูลใน Machine Learning ด้วย Python
การนำ Mean, Median, Mode มาวิเคราะห์ข้อมูลใน Machine Learning เป็นหนึ่งในวิธีการที่นิยมใช้เพื่อจัดการกับข้อมูลที่เป็นตัวเลขหรือจำนวนตัวอักษรที่แตกต่างกัน โดยใช้ฟังก์ชันทางสถิติเหล่านี้เพื่อคำนวณค่าเฉลี่ย ค่ากลาง และค่าฐานนิยมของข้อมูล ตัวอย่างเช่น หากเรามีข้อมูลเกี่ยวกับอายุของผู้เข้าร่วมงานสัมมนาดังนี้
25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32
เราสามารถนำ Mean, Median, Mode มาวิเคราะห์ได้ดังนี้
- Mean (ค่าเฉลี่ย): เป็นค่าที่ได้จากการหารผลรวมของข้อมูลด้วยจำนวนของข้อมูล
Mean = (25+28+35+41+20+19+25+31+29+27+32)/11 = 28.54
จากผลลัพธ์จะเห็นได้ว่าค่าเฉลี่ยของอายุที่เข้าร่วมงานสัมมนาคือ 28.54
- Median (มัธยฐาน): เป็นค่าที่อยู่กลางของข้อมูล หากจำนวนของข้อมูลเป็นเลขคู่ จะเลือกค่าเฉพาะกลางสองค่ามาหาค่าเฉลี่ย
19, 20, 25, 25, 27, 28, 29, 31, 32, 35, 41
จากนั้นจึงหาค่ากลางได้เป็น 27 และ 28 จึงนำค่าเฉลี่ยของ 27 และ 28 มาหาค่าเฉลี่ยของค่ากลาง ได้
Median = (27+28)/2 = 27.5
จากผลลัพธ์จะเห็นได้ว่าค่ากลางของอายุที่เข้าร่วมงานสัมมนาคือ 27.5
- Mode (ฐานนิยม): เป็นค่าซ้ำกันมากที่สุด ค่าที่มีความถี่สูงสุด ค่าที่มีความนิยมมากที่สุด
19, 20, 25, 25, 27, 28, 29, 31, 32, 35, 41
จากนั้นจึงหาค่าที่ซ้ำกันมากที่สุด
Mode = 25
เทคนิคการใช้ Mean Median Mode มาวิเคราะห์ข้อมูลในการทำ Machine Learning มีหลายวิธี โดยทั่วไปแล้วเราจะใช้เทคนิคนี้ในการสรุปข้อมูล และวิเคราะห์การกระจายของข้อมูล ดังนี้
-
การใช้ Mean : เป็นวิธีการหาค่ากลางของข้อมูลที่นิยมใช้มากที่สุด เพราะสามารถรวมข้อมูลทุกตัวเข้าด้วยกันแล้วหารด้วยจำนวนข้อมูลได้เลย จึงช่วยให้เราเข้าใจค่าตัวเลขรวม ความเข้าใจและการวิเคราะห์ข้อมูลได้ง่ายขึ้น แต่ถ้ามี outliers หรือข้อมูลผิดปกติอาจทำให้ค่าเฉลี่ยของข้อมูลไม่แสดงผลลัพธ์ที่ดี
-
การใช้ Median : เป็นวิธีการหาค่ากลางของข้อมูลที่มีความเสถียรสูงกว่า Mean เนื่องจาก Median จะเป็นตัวแทนของข้อมูลที่อยู่ตรงกลาง ที่ไม่ได้ถูกมีอิทธิพลโดยค่าข้อมูลที่มีค่ามากหรือน้อยมาก แต่มันยังสามารถทำงานได้ดีแม้ข้อมูลจะมี outliers หรือข้อมูลผิดปกติ
-
การใช้ Mode : เป็นวิธีการหาค่ากลางของข้อมูลที่เหมาะสำหรับข้อมูลประเภท categorical หรือข้อมูลที่มีการแบ่งส่วนตามประเภท เช่น สี ลักษณะ หรือการเป็นของอะไรบางอย่าง เนื่องจากมันช่วยให้เราหาข้อมูลที่ได้รับความนิยมหรือการเกิดขึ้นบ่อยที่สุด
ตัวอย่าง การคำนวณ Mean ด้วย Python สามารถใช้ฟังก์ชั่น mean()
จากโมดูล statistics
ได้ ดังนี้
import statistics
data = [25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32]
mean = statistics.mean(data)
print(mean)
ผลลัพธ์ที่ได้ คือ
28.90909090909091
จากตัวอย่าง ค่า Mean ของชุดข้อมูล data
คือ 28.91 ทศนิยม 2 ตำแหน่ง (rounded off)
ตัวอย่าง การคำนวณ Median ด้วย Python สามารถใช้ฟังก์ชัน median() จากไลบรารี่ (library) statistics ของภาษา Python ได้ ดังนี้
from statistics import median
data = [25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32]
result = median(data)
print("Median is: ", result)
ผลลัพธ์ที่ได้ คือ
Median is: 28
จากตัวอย่างนี้ มีข้อมูลเป็น [25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32] และ Median ที่ได้คือ 28 ซึ่งเป็นค่ากลางของชุดข้อมูลนี้ เนื่องจากเมื่อเรียงลำดับข้อมูลจะได้ [19, 20, 25, 25, 27, 28, 29, 31, 32, 35, 41] และตำแหน่งของค่ากลางคือตำแหน่งที่ 6 ที่มีค่าเป็น 28
ตัวอย่าง การคำนวณ Mode ด้วย Python จะใช้ฟังก์ชัน statistics.mode()
import statistics
data = [25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32]
mode = statistics.mode(data)
print("Mode =", mode)
ผลลัพธ์ที่ได้ คือ
Mode = 25
จากตัวอย่าง ข้อมูลที่กำหนดมีค่าเท่ากับ [25, 28, 35, 41, 20, 19, 25, 31, 29, 27, 32]
โดย Python จะนำข้อมูลที่กำหนดไปคำนวณหา Mode และแสดงผลลัพธ์ออกมาเป็นค่า Mode คือ 25
ตัวอย่าง คำนวณ Mean, Median, Mode โดยการใช้ไลบรารี NumPy และ SciPy ถ้าเรามีข้อมูลการขายสินค้าของร้านค้าออนไลน์ ซึ่งมีการแบ่งตามวันที่ และมียอดขาย (unit) ดังนี้
sales_data = {
'2022-02-01': 50,
'2022-02-02': 75,
'2022-02-03': 120,
'2022-02-04': 90,
'2022-02-05': 105,
'2022-02-06': 75,
'2022-02-07': 60
}
สามารถคำนวณ Mean, Median, Mode ของข้อมูลนี้ได้ดังนี้
import numpy as np
from scipy import stats
# แปลงข้อมูลจาก Dictionary เป็น List
sales = list(sales_data.values())
# คำนวณ Mean ด้วย NumPy
mean_sales = np.mean(sales)
# คำนวณ Median ด้วย NumPy
median_sales = np.median(sales)
# คำนวณ Mode ด้วย SciPy
mode_sales = stats.mode(sales)
print("Mean:", mean_sales)
print("Median:", median_sales)
print("Mode:", mode_sales.mode[0])
ผลลัพธ์ที่ได้ คือ
Mean: 85.0
Median: 75.0
Mode: 75
ดังนั้น Mean ของข้อมูลการขายในร้านค้าคือ 85 หน่วย Median ของข้อมูลคือ 75 หน่วย และ Mode ของข้อมูลคือ 75 หน่วย