机器学习 - 散点图
- หน้าก่อนหน้า การกระจายของข้อมูลที่แบ่งเป็นกลุ่มตามทรงร่างที่สมบูรณ์
- หน้าต่อไป การทดลองเทียบเท้าแบบเชิงเส้น
กราฟจุด (Scatter Plot)
กราฟจุดแสดงค่าของแต่ละค่าในชุดข้อมูลด้วยจุด。

มอดูล Matplotlib มีวิธีวาดกราฟจุด ซึ่งต้องการสองตัวแปลเดียวกันขนาด ตัวแปลหนึ่งใช้สำหรับค่าของตัวแปล x และตัวแปลอีกตัวใช้สำหรับค่าของตัวแปล y:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
ตัวเลข x แสดงอายุของรถยนต์แต่ละลำ。
ตัวเลข y แสดงความเร็วของรถยนต์แต่ละลำ。
ตัวอย่าง
โปรดใช้ scatter()
วิธีวาดกราฟจุด:
import matplotlib.pyplot as plt x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] plt.scatter(x, y) plt.show()
ผลลัพธ์:

การอธิบายกราฟจุด
x แบบภาพแสดงวัยรถยนต์ และ y แบบภาพแสดงความเร็ว。
จากภาพดูได้ว่า รถยนต์ที่เร็วที่สุดสองลำทั้งหมดใช้งานมา 2 ปี และรถที่ช้าที่สุดใช้งานมา 12 ปี。
หมายเหตุ:มันดูเหมือนว่ารถยนต์ที่ใหม่กว่าจะมีความเร็วขับขี่สูงกว่า แต่นี่อาจเป็นเหมือนเหตุต่างกัน เพราะเรามีการลงทะเบียนรถยนต์เพียง 13 คัน
การกระจายข้อมูลสุ่ม
ในการเรียนรู้เครื่อง ตัวเลขในคลังข้อมูลสามารถมีหลายพัน หรือแม้กระทั่งล้านตัวเลข
เมื่อทดสอบแอลกอริทึม คุณอาจไม่มีข้อมูลที่แท้จริง คุณอาจจำเป็นต้องใช้ตัวเลขที่สร้างขึ้นโดยอัตโนมัติ
เหมือนที่เราได้เรียนรู้ได้ในบทก่อนหน้านี้ มอดูล NumPy สามารถช่วยเหลือเราได้!
จะมีการสร้างสองตัวเลขที่เติมด้วยตัวเลขสุ่มจากการกระจายของข้อมูลที่แบ่งเป็นกลุ่มตามทรงร่างที่สมบูรณ์ 1000 ตัว
การตั้งค่าเฉลี่ยของอัตราส่วนที่หนึ่งเป็น 5.0 และความเป็นความเป็นมาตรฐานเป็น 1.0
การตั้งค่าเฉลี่ยของอัตราส่วนที่สองเป็น 10.0 และความเป็นความเป็นมาตรฐานเป็น 2.0
ตัวอย่าง
กราฟจุดที่มีจุด 1000 ตัว
import numpy import matplotlib.pyplot as plt x = numpy.random.normal(5.0, 1.0, 1000) y = numpy.random.normal(10.0, 2.0, 1000) plt.scatter(x, y) plt.show()
ผลลัพธ์:

การอธิบายกราฟจุด
เราสามารถเห็นได้ว่าจุดมีการมีชัดเจนในตัวเลข 5 บน x-axes และ 10 บน y-axes
เรายังสามารถเห็นได้ว่าการแพร่กระจายบน y-axes มีขนาดใหญ่กว่าบน x-axes
- หน้าก่อนหน้า การกระจายของข้อมูลที่แบ่งเป็นกลุ่มตามทรงร่างที่สมบูรณ์
- หน้าต่อไป การทดลองเทียบเท้าแบบเชิงเส้น