เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การถดถอยเชิงเส้นพหุตัวแปร

โดยทั่วไป การถดถอยเชิงเส้นแบบตัวแปรเดียวมักไม่เพียงพอสำหรับการทำนายที่แม่นยำ ในแบบฝึกหัดนี้ จะได้ลองใช้การถดถอยแบบพหุตัวแปร ซึ่งใช้ฟีเจอร์มากกว่าหนึ่งตัว

จะใช้ price_log เป็นตัวแปรเป้าหมาย และ size_log กับ bedrooms เป็นฟีเจอร์ โดยเทนเซอร์เหล่านี้ถูกกำหนดไว้แล้วและพร้อมใช้งาน นอกจากนี้ยังเปลี่ยนจากการใช้ mean squared error มาเป็น mean absolute error แทน ด้วยฟังก์ชัน keras.losses.mae() และค่าที่ทำนายได้คำนวณตามสูตร: params[0] + feature1*params[1] + feature2*params[2] โดยกำหนดเวกเตอร์พารามิเตอร์ params เป็นตัวแปรเดียว แทนที่จะใช้สามตัวแปรแยกกัน ทั้งนี้ params[0] คือค่าคงที่ (intercept) ส่วน params[1] และ params[2] คือค่าความชัน (slopes)

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

TensorFlow เบื้องต้นใน Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนดโมเดลการถดถอยเชิงเส้นที่คืนค่าที่ทำนายได้
  • กำหนดให้ loss_function() รับเวกเตอร์พารามิเตอร์เป็น input
  • ใช้ mean absolute error เป็น loss
  • เขียนโค้ดส่วนการ minimization ให้ครบถ้วน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Define the linear regression model
def linear_regression(params, feature1 = size_log, feature2 = bedrooms):
	return params[0] + feature1*____ + feature2*____

# Define the loss function
def loss_function(____, targets = price_log, feature1 = size_log, feature2 = bedrooms):
	# Set the predicted values
	predictions = linear_regression(params, feature1, feature2)
  
	# Use the mean absolute error loss
	return keras.losses.____(targets, predictions)

# Define the optimize operation
opt = keras.optimizers.Adam()

# Perform minimization and print trainable variables
for j in range(10):
	opt.minimize(lambda: loss_function(____), var_list=[____])
	print_results(params)
แก้ไขและรันโค้ด