การนำการถดถอยเชิงเส้นไปใช้ใน Python: คู่มือฉบับสมบูรณ์

เผยแพร่แล้ว: 2019-11-18

ไม่ว่าคุณจะกำลังศึกษาแมชชีนเลิร์นนิงหรือสถิติด้วย Python คุณจะพบกับการถดถอยเชิงเส้น การถดถอยเชิงเส้นเป็นส่วนสำคัญของหลักสูตรการรับรองการเรียนรู้ของเครื่อง

มันคืออะไร? คุณจะทำการถดถอยเชิงเส้นด้วย Python ได้อย่างไร

ในบทความนี้ เราจะค้นพบคำตอบสำหรับคำถามเหล่านี้ หลังจากอ่านบทความนี้ คุณจะคุ้นเคยกับ:

  • การถดถอยและมันคืออะไร
  • การถดถอยเชิงเส้นคืออะไร
  • วิธีฝึกตัวแบบการถดถอยเชิงเส้น
  • การประยุกต์ใช้การถดถอยเชิงเส้น

มาเริ่มกันเลย.

สารบัญ

การถดถอยคืออะไร?

การวิเคราะห์การถดถอยหมายถึงกระบวนการทางสถิติเฉพาะที่คุณใช้ในการประมาณความสัมพันธ์ระหว่างตัวแปรตามและตัวแปรอิสระ

เป็นที่นิยมในหลายอุตสาหกรรม เช่น การเงินและการธนาคาร เมื่อใช้การวิเคราะห์การถดถอย คุณจะเข้าใจความสัมพันธ์ระหว่างตัวแปรสองตัวในสภาพแวดล้อมเฉพาะได้

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

สิ่งที่ราคาบ้านจะขึ้นอยู่กับเรียกว่า คุณสมบัติ และปัญหาที่ปัจจัยที่เกี่ยวข้องกับต้นทุนของบ้านแต่ละหลังคือการสังเกต ในตัวอย่างนี้ สันนิษฐานว่าสถานที่ สิ่งอำนวยความสะดวก และปัจจัยอื่นๆ ส่งผลต่อราคาบ้านแต่ละหลัง

พูดง่ายๆ ก็คือ คุณทำการสังเกตสองสามเรื่องเกี่ยวกับหัวข้อเฉพาะในการวิเคราะห์การถดถอย การสังเกตของคุณมีลักษณะเฉพาะและข้อสันนิษฐานบางประการก่อนที่คุณจะเริ่มสร้างความสัมพันธ์ระหว่างพวกเขา

มีคุณลักษณะสองประเภทในการวิเคราะห์การถดถอย พวกเขาเป็น:

  • คุณลักษณะที่ขึ้นต่อกัน ซึ่งเรียกว่าผลลัพธ์ที่ขึ้นต่อกัน ตัวแปร หรือการตอบสนอง
  • คุณสมบัติอิสระ ซึ่งเรียกว่าผลลัพธ์ ตัวแปร หรือการตอบสนองอิสระ

โดยทั่วไป ปัญหาการถดถอยมีตัวแปรตามอย่างต่อเนื่องหนึ่งตัว อินพุตแตกต่างกันไป

คุณสามารถระบุผลลัพธ์ด้วย y และอินพุตด้วย x ไม่มีกฎเกณฑ์ที่ยากและรวดเร็ว แต่เป็นวิธีปฏิบัติทั่วไปในการใช้ y และ x เพื่อแสดงถึงเอาต์พุตและอินพุตเหล่านี้

หากคุณมีตัวแปรอิสระหลายตัว คุณสามารถแสดงเป็น x = (x1,…,xr) โดยที่ r หมายถึงจำนวนอินพุต

รับหลักสูตรแมชชีนเลิร์นนิงที่ดีที่สุดทางออนไลน์จากมหาวิทยาลัยชั้นนำของโลก – ปริญญาโท, หลักสูตร Executive Post Graduate และหลักสูตรประกาศนียบัตรขั้นสูงใน ML & AI เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

การถดถอยเชิงเส้นคืออะไร?

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

ในบทความนี้ เราจะเรียก 'คุณสมบัติ' ของผลลัพธ์อิสระและ 'การตอบสนอง' ของผลลัพธ์ที่ขึ้นต่อกัน

หากการถดถอยเชิงเส้นมีคุณลักษณะเดียวเท่านั้น จะเรียกว่าการถดถอยเชิงเส้นแบบตัวแปรเดียว ในทำนองเดียวกัน หากมีคุณสมบัติหลายอย่าง คุณจะเรียกมันว่าการถดถอยเชิงเส้นพหุคูณ

ข้อได้เปรียบที่โดดเด่นที่สุดของการถดถอยเชิงเส้นคือความง่ายในการตีความผลลัพธ์ คำถามสัมภาษณ์เชิงเส้นถดถอย

มันเป็นรูปแบบการถดถอยที่ง่ายที่สุด

สมมติฐาน

หาก y เป็นค่าที่คาดการณ์ไว้ 0 คือค่าความเอนเอียง xn และเป็นค่าคุณลักษณะ และคุณจะแทนตัวแบบการถดถอยเชิงเส้นด้วยสมการต่อไปนี้

Y = 0 + 1 x 1 + 2 x 2 +…. + x

ที่นี่ n หมายถึงพารามิเตอร์ของแบบจำลอง

รหัสหลามถดถอยเชิงเส้น

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

เราแนะนำให้ศึกษา Python และทำความคุ้นเคยกับไลบรารี python ก่อนที่คุณจะเริ่มทำงานในเรื่องนี้

สามารถช่วยคุณสร้างแบบจำลองการถดถอยเชิงเส้นพื้นฐานได้

การฝึกอบรมแบบจำลองการถดถอย

คุณจะต้องค้นหาพารามิเตอร์ที่จำเป็นสำหรับแบบจำลอง ดังนั้นจึงเหมาะสมกับข้อมูลมากที่สุด คุณจะต้องหาเส้นที่พอดีที่สุด (หรือเส้นถดถอย)

เส้นถดถอยคือเส้นที่ข้อผิดพลาดระหว่างตัวเลขที่สังเกตได้และตัวเลขที่คาดการณ์มีค่าน้อยที่สุด อีกชื่อหนึ่งสำหรับข้อผิดพลาดเหล่านี้คือส่วนที่เหลือ

สำหรับการวัดข้อผิดพลาด คุณจะต้องกำหนดฟังก์ชันต้นทุน:

J ( ) = 1 2m i=1 m (h( x i ) – y i ) 2

ที่นี่ h(x) หมายถึงฟังก์ชันสมมติฐาน ซึ่งแสดงโดยสมการที่เราพูดถึงก่อนหน้านี้:

h(x) = 0 + 1 x 1 + 2 x 2 +…. + ฉัน x ฉัน

m หมายถึงจำนวนตัวอย่างทั้งหมดในชุดข้อมูลของเรา

คุณสามารถใช้สมการเหล่านี้และอัลกอริธึมการปรับให้เหมาะสมเพื่อฝึกแบบจำลองการถดถอยเชิงเส้นของคุณ

มีหลายวิธีในการวิเคราะห์การถดถอยของ Python ซึ่งเราได้กล่าวถึงด้านล่าง:

ทำการถดถอยเชิงเส้นด้วยแพ็คเกจ Python

คุณสามารถใช้ NumPy ซึ่งเป็นแพ็คเกจ Python ที่แพร่หลายและเป็นพื้นฐาน ใช้สำหรับดำเนินการที่มีประสิทธิภาพสูง เป็นโอเพ่นซอร์สและมีรูทีนทางคณิตศาสตร์มากมาย

คุณสามารถดูคู่มือผู้ใช้ NumPy เพื่อค้นหาข้อมูลเพิ่มเติม คุณต้องเรียนรู้เกี่ยวกับ scikit-learn ด้วย ซึ่งเป็นไลบรารี Python ยอดนิยมที่ใช้ NumPy นิยมใช้สำหรับแมชชีนเลิร์นนิงและกิจกรรมที่คล้ายคลึงกัน

สำหรับการพัฒนาตัวแบบการถดถอยเชิงเส้นและการนำไปใช้ คุณควรเรียนรู้เกี่ยวกับตัวแบบสถิติด้วย เป็นแพ็คเกจ Python ที่ทรงพลังอีกตัวหนึ่งซึ่งใช้สำหรับการทดสอบและประมาณค่าแบบจำลองทางสถิติ

การประยุกต์ใช้การถดถอยเชิงเส้นคืออะไร?

การถดถอยเชิงเส้นพบการใช้งานในหลายอุตสาหกรรม ต่อไปนี้คือการประยุกต์ใช้การถดถอยเชิงเส้นบางส่วน:

1) เข้าใจเทรนด์

การถดถอยเชิงเส้นสามารถช่วยบริษัทต่างๆ ในการทำความเข้าใจแนวโน้มของตลาดได้ ด้วยวิธีนี้ พวกเขาสามารถวางแผนกลยุทธ์ได้ดีขึ้นและหลีกเลี่ยงความผิดพลาดได้ นอกจากบริษัท ผู้ค้า และองค์กรวิจัยยังสามารถใช้เทคนิคนี้ในการประเมินแนวโน้มได้อีกด้วย

2) การวิเคราะห์การเปลี่ยนแปลงราคา

การเปลี่ยนแปลงราคาในสินค้าโภคภัณฑ์อาจมีผลกระทบอย่างมีนัยสำคัญต่อผลกำไรของธุรกิจผลิตผล การถดถอยเชิงเส้นสามารถช่วยบริษัทในงานนี้ได้เช่นกัน เนื่องจากพวกเขาสามารถค้นหาความสัมพันธ์ระหว่างการเปลี่ยนแปลงของราคาและปัจจัยที่ส่งผลต่อพวกเขา

3) การประเมินความเสี่ยง

บริษัทประกันภัยและนักลงทุน สามารถใช้การถดถอยเชิงเส้นเพื่อค้นหาความผิดปกติได้ นักลงทุนสามารถค้นหาการลงทุนที่อ่อนแอและวางแผนกลยุทธ์ตามความเหมาะสมพร้อมทั้งลดความเสี่ยง

สรุปความคิด

การถดถอยเชิงเส้นเป็นหนึ่งในอัลกอริธึม AI ที่สำคัญ และเราหวังว่าคุณจะพบว่าคู่มือนี้เกี่ยวกับการถดถอยเชิงเส้นด้วย Python มีประโยชน์ การถดถอยของ Python นั้นค่อนข้างน่ากลัวสำหรับผู้เริ่มต้น นั่นเป็นเหตุผลที่เราแนะนำให้ทำความคุ้นเคยกับแพ็คเกจ Python และอัลกอริทึมก่อน

หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับแมชชีนเลิร์นนิง โปรดดูที่ IIIT-B & upGrad's Executive PG Program in Machine Learning & AI ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 450 ชั่วโมง กรณีศึกษาและการมอบหมายมากกว่า 30 รายการ IIIT -B สถานะศิษย์เก่า 5+ โครงการหลักที่ปฏิบัติได้จริง & ความช่วยเหลืองานกับ บริษัท ชั้นนำ

การรู้เกี่ยวกับสองสิ่งนี้เพียงอย่างเดียวจะเป็นประโยชน์ต่อคุณอย่างมากในการนำการถดถอยเชิงเส้นมาใช้

เราใช้การถดถอยเมื่อใด

เมื่อมีตัวแปรหลายตัวอยู่ในปัญหา เราอาจต้องการทำความเข้าใจความสัมพันธ์ระหว่างตัวแปรทั้งหมด เราสามารถใช้เมทริกซ์เพื่อค้นหาความสัมพันธ์ที่เป็นไปได้ระหว่างคู่ตัวแปรเฉพาะ การใช้วิธีสหสัมพันธ์ เราสามารถวัดความสัมพันธ์เชิงเส้นระหว่างตัวแปรคู่ใดๆ ก็ได้ อย่างไรก็ตาม วิธีนี้ไม่เพียงพอเมื่อเราต้องการค้นหาความสัมพันธ์ที่ซับซ้อนซึ่งเกี่ยวข้องกับตัวแปรหลายตัว ในกรณีเช่นนี้ การถดถอยเป็นวิธีที่มีประสิทธิภาพมากกว่าในการทำความเข้าใจความสัมพันธ์ที่ซับซ้อนระหว่างตัวแปรหลายตัว การถดถอยช่วยให้เราทราบว่าตัวแปรใดบ้างที่ส่งผลต่อการตอบสนองที่เฉพาะเจาะจง และวิธีที่ตัวแปรเหล่านั้นสามารถอธิบายผลลัพธ์เฉพาะได้

แมชชีนเลิร์นนิงใช้การถดถอยกี่ประเภท

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

ข้อดีของการใช้ Python คืออะไร?

Python เป็นหนึ่งในภาษาโปรแกรมที่ใช้กันมากที่สุดในการเรียนรู้ของเครื่อง มันมาพร้อมกับข้อดีหลายประการ ประการแรก ไวยากรณ์ของ Python ตรงไปตรงมา ง่ายต่อการเรียนรู้และทำความเข้าใจ ซึ่งทำให้เป็นที่นิยมอย่างมากในหมู่ผู้เริ่มต้นและโปรแกรมเมอร์ที่ช่ำชอง ต่อไปเป็นโอเพ่นซอร์สและใช้งานได้ฟรีและมาพร้อมกับชุมชนนักพัฒนาและนักวิจัยจำนวนมาก ไลบรารี่ของฟังก์ชันที่มีอยู่ภายในแกนหลักของ Python ให้การสนับสนุนอย่างครอบคลุมแก่นักพัฒนา ดังนั้นจึงไม่จำเป็นต้องพึ่งพาไลบรารีภายนอกหรือของบุคคลที่สาม นอกจากนี้ Python ยังมีความยืดหยุ่นสูงและเป็นอิสระจากระบบ ไม่เหมือนกับภาษาโปรแกรมอื่นๆ เช่น C และ C++