วิธีการคำนวณ r-squared ใน python (พร้อมตัวอย่าง)


R-squared ซึ่งมักเขียน ว่า R2 คือสัดส่วนของความแปรปรวนใน ตัวแปรตอบสนอง ที่สามารถอธิบายได้ด้วยตัวแปรทำนายใน แบบจำลองการถดถอยเชิงเส้น

ค่าของ R กำลังสองอาจแตกต่างกันตั้งแต่ 0 ถึง 1 โดยที่:

  • 0 บ่งชี้ว่าตัวแปรตอบสนองไม่สามารถอธิบายได้ด้วยตัวแปรทำนายเลย
  • 1 บ่งชี้ว่าตัวแปรตัวทำนายสามารถอธิบายตัวแปรตอบสนองได้อย่างสมบูรณ์แบบโดยไม่มีข้อผิดพลาด

ตัวอย่างต่อไปนี้แสดงวิธีคำนวณ R 2 สำหรับโมเดลการถดถอยใน Python

ตัวอย่าง: คำนวณ R-squared ใน Python

สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' hours ': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6],
                   ' prep_exams ': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2],
                   ' score ': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]})

#view DataFrame
print (df)

    hours prep_exams score
0 1 1 76
1 2 3 78
2 2 3 85
3 4 5 88
4 2 2 72
5 1 2 69
6 5 1 94
7 4 1 94
8 2 0 88
9 4 3 92
10 4 4 90
11 3 3 75
12 6 2 96

เราสามารถใช้ฟังก์ชัน LinearRegression() ของ sklearn เพื่อให้พอดีกับโมเดลการถดถอยและฟังก์ชัน Score() เพื่อคำนวณค่า R-squared ของโมเดล:

 from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
x, y = df[[" hours ", " prep_exams "]], df. score

#fit regression model
model. fit (x,y)

#calculate R-squared of regression model
r_squared = model. score (x,y)

#view R-squared value
print (r_squared)

0.7175541714105901

ตาราง R ของแบบจำลองกลายเป็น 0.7176 .

ซึ่งหมายความว่า 71.76% ของการเปลี่ยนแปลงของคะแนนสอบสามารถอธิบายได้ด้วยจำนวนชั่วโมงเรียนและจำนวนข้อสอบฝึกหัดที่สอบ

หากเราต้องการ เราก็สามารถเปรียบเทียบค่า R-squared นี้กับแบบจำลองการถดถอยอื่นที่มีชุดตัวแปรทำนายอื่นได้

โดยทั่วไป ควรใช้แบบจำลองที่มีค่า R-squared สูงกว่า เนื่องจากหมายความว่าชุดของตัวแปรทำนายในแบบจำลองสามารถอธิบายความแปรผันของตัวแปรตอบสนองได้ดี

ที่เกี่ยวข้อง: ค่า R-squared ที่ดีคืออะไร?

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

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน Python:

วิธีดำเนินการถดถอยเชิงเส้นอย่างง่ายใน Python
วิธีดำเนินการถดถอยเชิงเส้นพหุคูณใน Python
วิธีการคำนวณ AIC ของตัวแบบการถดถอยใน Python

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

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