วิธีสร้างแผนภูมิกระจายด้วยเส้นการถดถอยใน python


บ่อยครั้ง เมื่อทำการถดถอยเชิงเส้นอย่างง่าย คุณอาจต้องการสร้างแผนภาพกระจายเพื่อให้เห็นภาพการผสมค่า x และ y แบบต่างๆ รวมถึงเส้นการถดถอยโดยประมาณ

โชคดีที่มีสองวิธีง่ายๆ ในการสร้างพล็อตประเภทนี้ใน Python บทช่วยสอนนี้จะอธิบายทั้งสองวิธีโดยใช้ข้อมูลต่อไปนี้:

 import numpy as np 

#createdata
x = np.array([1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9])
y = np.array([13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33])

วิธีที่ 1: ใช้ Matplotlib

รหัสต่อไปนี้แสดงวิธีสร้าง Scatterplot ด้วยเส้นการถดถอยโดยประมาณสำหรับข้อมูลนี้โดยใช้ Matplotlib:

 import matplotlib.pyplot as plt

#create basic scatterplot
plt.plot(x, y, 'o')

#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)

#add linear regression line to scatterplot 
plt.plot(x, m*x+b) 

พล็อตกระจายพร้อมเส้นถดถอยใน Python

คุณสามารถเปลี่ยนสีของแผนภูมิได้ตามต้องการ ตัวอย่างเช่น ต่อไปนี้เป็นวิธีเปลี่ยนแต่ละจุดเป็นสีเขียวและเส้นเป็นสีแดง:

 #use green as color for individual points
plt.plot(x, y, 'o', color=' green ')

#obtain m (slope) and b(intercept) of linear regression line
m, b = np.polyfit(x, y, 1)

#use red as color for regression line
plt.plot(x, m*x+b, color=' red ') 

Scatterplot ที่มีเส้นการถดถอยเป็นตัวเลข

วิธีที่ 2: ใช้ Seaborn

คุณยังสามารถใช้ฟังก์ชัน regplot() ของไลบรารีการแสดงภาพ Seaborn เพื่อสร้าง Scatterplot ด้วยเส้นการถดถอย:

 import seaborn as sns

#create scatterplot with regression line
sns.regplot(x, y, ci=None) 

พล็อตกระจายพร้อมเส้นถดถอยใน Seaborn Python

โปรดทราบว่า ci=None บอกให้ Seaborn ซ่อนแถบช่วงความเชื่อมั่นบนโครงเรื่อง อย่างไรก็ตาม คุณสามารถเลือกแสดงได้หากต้องการ:

 import seaborn as sns

#create scatterplot with regression line and confidence interval lines
sns.regplot(x,y) 

คุณสามารถดูเอกสารฉบับเต็มสำหรับฟังก์ชัน regplot() ได้ที่นี่

แหล่งข้อมูลเพิ่มเติม

วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน Python
วิธีสร้างพล็อตที่เหลือใน Python

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *