การถดถอยเชิงเส้นใน Python

การถดถอยเชิงเส้นใน Python

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

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

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

สารบัญ

การใช้แบบจำลองการถดถอยเชิงเส้น

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

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

การถดถอยเชิงเส้นใน Python

มาดูชุดข้อมูลค่าประกันกัน ฉันต้องการอธิบายสิ่งนี้ด้วยสถานะผู้สูบบุหรี่ เพศ ภูมิภาค เด็ก ค่าดัชนีมวลกาย และอายุ

การถดถอยเชิงเส้นใน Python

ปัจจุบัน ผู้มีอิทธิพลหลักแสดงตัวแปรที่มีอิทธิพลมากที่สุด เมื่อผู้สูบบุหรี่ตอบว่าใช่ ค่าใช้จ่ายเฉลี่ยจะสูงกว่า $23,615 หน่วยเมื่อเทียบกับค่าอื่นๆ ของผู้สูบบุหรี่

มันเป็นภาพที่ยอดเยี่ยม แต่มันไม่ได้ให้ตัวแปรอื่นใดที่อาจส่งผลต่อค่าใช้จ่าย

การถดถอยเชิงเส้นใน Python

มาเจาะลึกกันโดยเปลี่ยนเมนูแบบเลื่อนลงจากเพิ่มเป็นลด

คราวนี้กลับตรงกันข้าม หากคุณไม่สูบบุหรี่ ค่าใช้จ่ายเฉลี่ยจะต่ำกว่า $23,615 ต่อหน่วยเมื่อเทียบกับค่าอื่นๆ ของผู้สูบบุหรี่

การถดถอยเชิงเส้นใน Python

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

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

การถดถอยเชิงเส้นใน Python

ข้ามไปที่ Jupiter Notebook กัน เพื่อความเข้าใจที่ดีขึ้นผมขออธิบายทีละส่วน

การถดถอยเชิงเส้นใน Python

Python Libraries ที่ใช้

ส่วนแรกคือที่ที่ฉันโหลดไลบรารี่ทั้งหมดที่ต้องการใช้ หากคุณไม่คุ้นเคยกับไลบรารี่ ไลบรารีเหล่านี้คือคอลเลกชันของโค้ดและฟังก์ชันที่นักพัฒนาสร้างไว้ให้เรา

ฉันนำเข้าแพนด้าเป็น pdซึ่งเป็นไลบรารีการจัดการข้อมูล และnumpy เป็น npเพื่อให้เราทำการคำนวณเชิงเส้นและเงื่อนไข

รุ่นที่ใช้

มาพูดถึงรุ่นที่เคยใช้กันบ้าง ฉันนำsklearn.linear_modelซึ่งเป็นและใช้โมเดลการถดถอยเชิงเส้น ในกรณีที่เราต้องการ ฉันยังนำsklearn.preprocessing import StandardScaler มาด้วย ซึ่งจะช่วยให้เราสามารถปรับขนาดข้อมูลของเราได้

รุ่นอื่นที่ฉันใช้เรียกว่าxgboost import XGBRegressor เป็นแบบจำลองการถดถอยที่มีแผนผังการตัดสินใจและแง่มุมที่เป็นประโยชน์อื่นๆ

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

ฉันยังนำ mean_squared_error มาใช้เพื่อกำหนดโมเดลและ ไลบรารี matplotlib.pyplotในกรณีที่เราต้องการสร้างภาพ

เราอาจใช้สิ่งเหล่านี้ไม่ทั้งหมด แต่อาจมีประโยชน์ ดังนั้นฉันจึงใส่ทั้งหมดเข้าไป

การถดถอยเชิงเส้นใน Python

ชุดข้อมูลที่ใช้

ต่อไป มาดูชุดข้อมูลกันอย่างรวดเร็ว ฉันใช้ ฟังก์ชัน df = pd.read_csvเพื่อนำเข้าชุดข้อมูลประกันภัย จากนั้นฉันแปลงข้อมูลเป็นตัวแปรจำลองโดยใช้ df1 = pd.get_dummies (df, drop_first = True)

การถดถอยเชิงเส้นใน Python

ในการทำเช่นนี้ เรามาสร้างเซลล์ใหม่โดยกดEsc + Bบนแป้นพิมพ์ของเรา แล้วพิมพ์df.headเพื่อประเมินข้อมูล

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

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

การถดถอยเชิงเส้นใน Python

ในการทำเช่นนั้น ฉันใช้ ฟังก์ชัน pd.get_dummiesแล้วเปลี่ยนสิ่งนี้เป็นคอลัมน์ตัวเลขด้วยการเปลี่ยนdf.headเป็นdf1.head ให้คลิก ปุ่ม Runเพื่อแสดงหน้าตา

การถดถอยเชิงเส้นใน Python

ตอนนี้เราสามารถเห็นคอลเลกชันใหม่ของคอลัมน์ เช่นsex_male , smoker_yes , region_northwestและอื่น ๆ อัลกอริทึมรู้โดยอัตโนมัติว่าถ้าเป็น1หมายถึงใช่ และ0หมายถึงไม่ใช่

เห็นได้ชัดว่าไม่มีsex_femaleและregion_northeastเนื่องจากเราไม่ต้องการทำให้โมเดลซับซ้อนเกินไป เราทิ้งสิ่งเหล่านี้โดยใช้ฟังก์ชันdrop_first = True

สิ่งต่อไปที่ฉันทำคือนำ ฟังก์ชัน LinearRegressionและบันทึกไว้ในโมเดลตัวแปร 

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

การถดถอยเชิงเส้นใน Python

สำหรับตัวแปร X เราใช้df1.drop ('charges', axis=1)เพื่อปล่อยประจุ ในทางกลับกัน เราต้องการค่าธรรมเนียมสำหรับตัวแปร Y นั่นคือเหตุผลที่เราใส่df1['charges']

ด้วยฟังก์ชันด้านล่าง ฉันได้สร้างชุดการฝึกและการทดสอบสำหรับทั้ง X และ Y โดยใช้ ฟังก์ชัน train_test_splitและส่งผ่านไปยังตัวแปร X และ Y

นอกจากนี้ ฉันใช้model.fitเพื่อให้พอดีกับข้อมูลการฝึกอบรมกับแบบจำลองของเรา ซึ่งหมายความว่าโมเดลการถดถอยเชิงเส้นจะเรียนรู้ข้อมูลการฝึกอบรม 

การถดถอยเชิงเส้นใน Python

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

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

ในการสร้างตารางที่เรามีคุณสมบัติและค่าสัมประสิทธิ์ ฉันใช้pd.DataFrameเพื่อนำค่าสัมประสิทธิ์มาไว้ในตารางและสร้างภาพ

การถดถอยเชิงเส้นใน Python

การถดถอยเชิงเส้นใน Python

การใช้โมเดลที่แตกต่างกันสำหรับวิชวลอินฟลูเอนเซอร์หลัก

ขอแนะนำให้ใช้โมเดลที่แตกต่างกันเพื่อรับผู้มีอิทธิพลหลักโดยนำXGB.Regressor  เข้า มา

เมื่อเราแสดงโมเดล มันก็แค่การถดถอยเชิงเส้นอย่างง่าย แต่เมื่อเรานำ XGB.Regressor เข้ามา มีพารามิเตอร์มากมายที่เราสามารถใช้เพื่อปรับโมเดลให้เหมาะสม

การถดถอยเชิงเส้นใน Python

ฉันยังได้จำลองฟังก์ชันเหล่านี้เมื่อฉันสร้าง data frame ด้านล่าง ค่าสัมประสิทธิ์เหล่านี้แตกต่างกันมากเมื่อเทียบกับสิ่งที่เราเห็นในการถดถอยเชิงเส้น

การถดถอยเชิงเส้นใน Python

ตารางนี้เลขแม่นๆ ตัวอย่างเช่น หากคุณสูบบุหรี่ ค่าใช้จ่ายของคุณจะเพิ่มขึ้น $23,787 หากคุณมีลูก 1 คน จะเพิ่มขึ้น 472 ดอลลาร์ และต่อไปเรื่อยๆ

การถดถอยเชิงเส้นใน Python

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

การถดถอยเชิงเส้นใน Python

การทดสอบความถูกต้องของการวิเคราะห์การถดถอยเชิงเส้น

หลังจากนั้นเราต้องการดูความ แม่นยำของโมเดลของเรา ซึ่งเป็นเหตุผลที่เราใช้y_pred = model.predict (X_test) มีการทำนายว่าปิดโดย 5885.7 

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

การถดถอยเชิงเส้นใน Python

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

การถดถอยเชิงเส้นใน Python

ฉันทำอย่างนั้นโดยไปที่Transform data

การถดถอยเชิงเส้นใน Python

จากนั้น ฉันทำซ้ำชุดข้อมูลของฉันและสามารถสร้างตารางนี้ได้ เรายังสามารถไปที่Applied Stepsเพื่อดู โค้ด Pythonและตรวจสอบตัวแปรที่เราใช้

การถดถอยเชิงเส้นใน Python

มาเปิดสคริปต์ Pythonโดยดับเบิลคลิกที่มัน 

การถดถอยเชิงเส้นใน Python

เรานำเข้าห้องสมุดของเรา เราแปลงเป็นแมชชีนเลิร์นนิง ซึ่งเป็นชุดข้อมูลก่อนการประมวลผลที่มีเพียงศูนย์และหนึ่ง 

นอกจากนี้ เราได้นำแบบจำลองการถดถอยมาสร้าง X และ Y เพื่อให้พอดีกับข้อมูล จากนั้นจึงบันทึกตารางเป็นเอาต์พุต แบบจำลองนั้นดีพอดังนั้นฉันจึงไม่ได้ใช้ชุดทดสอบการฝึกอบรม

อีกอย่างที่ฉันทำคือเปลี่ยนชุดข้อมูลเป็นdfเพราะมันเขียนง่ายกว่า ชุดข้อมูลคือตัวแปรสำหรับข้อมูลต้นฉบับ

ด้วยตารางนี้ ฉันบันทึกเป็นผลลัพธ์ นั่นคือสาเหตุที่เรามีสัมประสิทธิ์เหล่านี้

การถดถอยเชิงเส้นใน Python

เมื่อต้องการทำให้เป็นภาพ ให้คลิกปิด & นำไปใช้

การถดถอยเชิงเส้นใน Python

ตอนนี้เรามีกราฟแท่งแล้ว ฉันยังใช้การจัดรูปแบบตามเงื่อนไขเพื่อแสดงข้อดีและข้อเสีย

การถดถอยเชิงเส้นใน Python


วิธีติดตั้ง DAX Studio & Tabular Editor ใน LuckyTemplates
กำหนดการตั้งค่า Query ใน LuckyTemplates DAX Studio
พารามิเตอร์ LuckyTemplates ผ่าน Query Editor

บทสรุป

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

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

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

สิ่งที่ดีที่สุด


ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง

วิธีบันทึกและโหลดไฟล์ RDS ใน R

วิธีบันทึกและโหลดไฟล์ RDS ใน R

คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

เยี่ยมชม N วันทำการแรก – โซลูชันภาษาการเข้ารหัส DAX

ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

แสดงข้อมูลเชิงลึกโดยใช้เทคนิคการแสดงภาพแบบไดนามิกแบบหลายเธรดใน LuckyTemplates

บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ

บทนำในการกรองบริบทใน LuckyTemplates

บทนำในการกรองบริบทใน LuckyTemplates

ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

เคล็ดลับที่ดีที่สุดในการใช้แอปใน LuckyTemplates Online Service

ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

วิเคราะห์การเปลี่ยนแปลงอัตรากำไรล่วงเวลา – การวิเคราะห์ด้วย LuckyTemplates และ DAX

เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

แนวคิด Materialization สำหรับแคชข้อมูลใน DAX Studio

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

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

การรายงานทางธุรกิจโดยใช้ LuckyTemplates

หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้

เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้