การนำการถดถอยเชิงเส้นไปใช้ใน 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++