0Pricing
Learn AI with Python · บทเรียน

การวิเคราะห์ตัวแปรเดียว

กราฟการแจกแจง ฮิสโตแกรม กราฟกล่อง และกราฟนับเพื่อทำความเข้าใจคุณลักษณะแต่ละรายการ

การวิเคราะห์ตัวแปรเดียว เป็นบทเรียน Learn AI with Python ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Learn AI with Python และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

การวิเคราะห์ตัวแปรเดียวคืออะไร

การวิเคราะห์ตัวแปรเดียว จะตรวจสอบตัวแปรทีละตัวเพื่อทำความเข้าใจการกระจายของตัวแปรนั้น ได้แก่ ค่ากลาง การกระจาย รูปร่าง และค่าที่ผิดปกติ

กราฟที่เหมาะสมขึ้นอยู่กับชนิดของตัวแปร:

  • เชิงตัวเลข → ฮิสโตแกรม, KDE, แผนภาพกล่อง, แผนภาพไวโอลิน
  • เชิงหมวดหมู่ → แผนภูมิความถี่ (แผนภูมิแท่งที่แสดงความถี่)

การเตรียมไลบรารีสำหรับสร้างกราฟ

เราใช้ไลบรารี แมทพลอตลิบ (plt) และ ซีบอร์น (sns) โดยซีบอร์นทำงานอยู่บนแมทพลอตลิบและมีค่าเริ่มต้นที่เหมาะกับกราฟเชิงสถิติมากกว่า

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

sns.set_theme(style="whitegrid")
df = pd.read_csv("data.csv")

ฮิสโตแกรมด้วย plt.hist

ฮิสโตแกรม จะแบ่งค่าตัวเลขออกเป็นช่วงและนับว่ามีกี่ค่าที่ตกอยู่ในแต่ละช่วง จึงช่วยให้เห็นรูปร่างโดยรวมของการกระจาย

อาร์กิวเมนต์ bins จะควบคุมความละเอียด หากมีช่วงน้อยเกินไปจะซ่อนโครงสร้างของข้อมูลไว้ แต่หากมีมากเกินไปจะเพิ่มสัญญาณรบกวน

plt.hist(df["age"], bins=30, edgecolor="black")
plt.xlabel("Age")
plt.ylabel("Count")
plt.title("Age Distribution")
plt.show()

กราฟ KDE — ความหนาแน่นแบบเรียบ

การประมาณความหนาแน่นด้วยเคอร์เนล (sns.kdeplot) จะแสดงเส้นโค้งเรียบที่ประมาณการกระจายของข้อมูล ซึ่งอาจอ่านได้ง่ายกว่าแท่งฮิสโตแกรมที่ขรุขระ

ใช้ทั้งสองแบบร่วมกันด้วย sns.histplot(..., kde=True) เพื่อวางเส้นโค้งเรียบบนแท่งกราฟ

sns.kdeplot(df["age"], fill=True)
plt.show()

sns.histplot(df["age"], bins=30, kde=True)
plt.show()

การตรวจจับ skew

skew ใช้วัดความไม่สมมาตร หากมีหางยาวไปทางขวา เรียกว่า skew ทางขวา (เป็นบวก) หากมีหางยาวไปทางซ้าย เรียกว่า skew ทางซ้าย (เป็นลบ)

รายได้ ราคา และจำนวนต่าง ๆ มักมี skew ทางขวา คุณสามารถคำนวณค่าได้ด้วย df[col].skew() โดยค่าที่ห่างจาก 0 มากบ่งบอกว่ามี skew

print(df["income"].skew())   # e.g. 2.3 -> strong right skew
sns.histplot(df["income"], bins=40, kde=True)
plt.show()

การตรวจจับการกระจายแบบสองยอด

การกระจายแบบสองยอดมีจุดสูงสุดสองจุด ซึ่งมักบ่งบอกว่ามีสองกลุ่มที่แตกต่างกันปะปนอยู่ด้วยกัน เช่น สินค้าสองประเภทในคอลัมน์ราคาเดียวกัน

กราฟ KDE ช่วยให้เห็นการกระจายแบบสองยอดได้ชัดเจน ให้มองหายอดโค้งสองยอด นี่เป็นสัญญาณว่าตัวแปรเชิงหมวดหมู่ที่ซ่อนอยู่อาจอธิบายการแบ่งกลุ่มนี้ได้

sns.kdeplot(df["price"], fill=True)
plt.title("Two peaks suggest two subpopulations")
plt.show()

แผนภาพกล่องด้วย sns.boxplot

แผนภาพกล่องแสดงค่ามัธยฐาน (เส้นตรงกลาง) พิสัยระหว่างควอร์ไทล์ (IQR หรือกล่อง) และหนวดที่ยื่นออกไปประมาณ 1.5 เท่าของ IQR จุดที่อยู่นอกหนวดจะถูกระบุว่าเป็นค่าผิดปกติ

sns.boxplot(x=df["income"])
plt.title("Income — box plot")
plt.show()

ค่าผิดปกติและกฎ IQR

แผนภาพกล่องใช้กฎ IQR โดยจุดหนึ่งจะเป็นค่าผิดปกติหากอยู่ต่ำกว่า Q1 - 1.5*IQR หรือสูงกว่า Q3 + 1.5*IQR

คุณสามารถคำนวณขอบเขตด้วยตนเองเพื่อกรองหรือตัดค่าที่สูงหรือต่ำเกินไปได้

q1 = df["income"].quantile(0.25)
q3 = df["income"].quantile(0.75)
iqr = q3 - q1
low, high = q1 - 1.5*iqr, q3 + 1.5*iqr
outliers = df[(df["income"] < low) | (df["income"] > high)]
print(len(outliers), "outliers")

แผนภาพไวโอลินด้วย sns.violinplot

แผนภาพไวโอลินผสานแผนภาพกล่องเข้ากับ KDE แบบสะท้อนกลับ ความกว้างในแต่ละระดับแสดงความหนาแน่น ทำให้เห็นทั้งรูปร่างและค่าสถิติสรุปได้พร้อมกัน

แผนภาพไวโอลินเหมาะอย่างยิ่งสำหรับเปิดเผยความเบ้หรือการกระจายแบบสองยอดที่แผนภาพกล่องธรรมดาอาจซ่อนไว้

sns.violinplot(x=df["age"])
plt.title("Age — violin plot")
plt.show()

แผนภูมิความถี่สำหรับตัวแปรเชิงหมวดหมู่

สำหรับคอลัมน์เชิงหมวดหมู่ ให้ใช้ sns.countplot ซึ่งเป็นแผนภูมิแท่งที่แสดงความถี่ของแต่ละหมวดหมู่ และเป็นรูปแบบกราฟของ value_counts()

จัดเรียงแท่งตามความถี่เพื่อให้อ่านง่ายขึ้นด้วยอาร์กิวเมนต์ order

order = df["city"].value_counts().index
sns.countplot(y="city", data=df, order=order)
plt.title("Records per city")
plt.show()

การเลือกกราฟตัวแปรเดียวที่เหมาะสม

แนวทางการตัดสินใจอย่างรวดเร็ว:

  • รูปร่างของคอลัมน์เชิงตัวเลข → ฮิสโตแกรม หรือ KDE
  • ค่าผิดปกติและควอร์ไทล์ → แผนภาพกล่อง
  • รูปร่างและค่าสรุปร่วมกัน → แผนภาพไวโอลิน
  • ความถี่ของหมวดหมู่ → แผนภูมิความถี่

ตรวจสอบอย่างรวดเร็ว: การเลือกกราฟ

คุณต้องการดูค่ามัธยฐาน ควอร์ไทล์ และค่าผิดปกติของคอลัมน์เชิงตัวเลขเพียงคอลัมน์เดียว

สรุป: การวิเคราะห์ตัวแปรเดียว

คุณได้เรียนรู้วิธีตรวจสอบตัวแปรทีละตัวแล้ว:

  • plt.hist และ sns.kdeplot สำหรับดูรูปร่างของการกระจาย
  • .skew() สำหรับวัดความไม่สมมาตร และดูยอดของ KDE เพื่อค้นหาการกระจายแบบสองยอด
  • sns.boxplot และกฎ IQR สำหรับค้นหาค่าผิดปกติ
  • sns.violinplot สำหรับดูรูปร่างและค่าสรุปร่วมกัน
  • sns.countplot สำหรับดูความถี่ของข้อมูลเชิงหมวดหมู่

ถัดไป เราจะดูความสัมพันธ์ระหว่างตัวแปรตั้งแต่สองตัวขึ้นไป

คำถามที่พบบ่อย

บทเรียน “การวิเคราะห์ตัวแปรเดียว” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การวิเคราะห์ตัวแปรเดียว” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Learn AI with Python ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Learn AI with Python มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การวิเคราะห์ตัวแปรเดียว”

กราฟการแจกแจง ฮิสโตแกรม กราฟกล่อง และกราฟนับเพื่อทำความเข้าใจคุณลักษณะแต่ละรายการ คุณปฏิบัติ Learn AI with Python ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Learn AI with Python หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Learn AI with Python บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การวิเคราะห์ตัวแปรเดียว” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Learn AI with Python นี้ได้ไหม

ได้ บทเรียน Learn AI with Python ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เวิร์กโฟลว์ EDA และการทำโปรไฟล์ข้อมูล
  2. การวิเคราะห์ตัวแปรเดียว
  3. การวิเคราะห์สองตัวแปรและหลายตัวแปร
  4. การแจกแจงคุณลักษณะและการวิเคราะห์เป้าหมาย
← กลับไปที่ Learn AI with Python