ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
บล็อกนี้จะสาธิตวิธีการใช้พล็อตการกระจายสะสมหรือที่เรียกว่าพล็อตฟังก์ชันการกระจายสะสมเชิงประจักษ์หรือ ECDF และแสดงข้อดีของการใช้พล็อตรูปแบบนี้เหนือพล็อตประเภทอื่นๆ คุณสามารถดูวิดีโอทั้งหมดของบทช่วยสอนนี้ได้ที่ด้านล่างของบล็อกนี้
คนส่วนใหญ่ชอบพล็อต ECDF มากกว่าเพื่อแสดงภาพข้อมูลในขณะที่วางแผนจุดข้อมูลทุกจุดโดยตรง และคุณสมบัตินี้ช่วยให้ผู้ใช้สามารถโต้ตอบกับพล็อตได้ง่าย วันนี้ คุณจะได้เรียนรู้วิธีใช้ ECDF ใน Python และ LuckyTemplates และปรับปรุงงานนำเสนอและรายงานของคุณเกี่ยวกับการกระจายข้อมูล
สารบัญ
ประเภทของแผนการกระจาย
ฉันจะเริ่มต้นด้วยการกรองข้อมูลของฉันในวันใดวันหนึ่ง วันเสาร์ และเราจะเห็นด้านล่างของแผน Python ทั้งหมดที่ใช้สำหรับอธิบายการแจกแจง เรามีพล็อต ECDF, ฮิสโตแกรม, พล็อต KDE และพล็อต Box ที่นี่
แผนภาพทั้งหมดเหล่านี้จะอธิบายวิธีการกระจายหรือกระจายข้อมูล ตัวอย่างเช่น หากเราลงไปดูที่ฮิสโตแกรม เราจะเห็นว่าถังขยะทรงสูงเหล่านี้ส่วนใหญ่จะเป็นตำแหน่งที่ตั้งของข้อมูลของเรา
ที่ประมาณ $3.50 เรามีถังขยะสูงสุดสำหรับ ข้อมูล เคล็ดลับ ของเรา ในชุดข้อมูลด้านล่าง
เรายังสามารถใช้พล็อต KDE ที่ให้เมตริกที่แตกต่างกันเมื่อดูการกระจาย ฮิสโตแกรมเกี่ยวข้องกับจำนวนที่จะอยู่ในถังขยะเหล่านี้ ในขณะที่ KDE เกี่ยวข้องกับความหนาแน่น
ด้วยโครงเรื่องของ KDE คุณสามารถบอกได้ว่าข้อมูลส่วนใหญ่ของเราอยู่ที่ใดโดยการระบุความหนาแน่นที่ใหญ่ที่สุดหรือส่วนนูนที่สูงที่สุดในโครงเรื่อง หากคุณต้องการ ในภาพด้านบน เราสามารถพูดได้ว่ามีการแจกจ่ายที่ไหนสักแห่งระหว่าง $2 ถึง $4
เช่นเดียวกับในโครงเรื่อง Box ซึ่งแสดงว่าการแจกแจงคือ $2 ถึง $4 และนี่คือที่ซึ่งข้อมูลส่วนใหญ่ของเราจะอยู่ มันใช้ค่ามัธยฐาน เส้นแนวนอนแบ่งกล่อง เพื่อให้เราทราบว่าการกระจายที่ใหญ่ที่สุดอยู่ที่ใด
จากนั้น เรามีพล็อต ECDF ที่ด้านซ้ายของแกน y คุณจะเห็นคำว่าProportionซึ่งเป็นตัวแทนของเปอร์เซ็นไทล์ของเรา ตามโครงเรื่องที่ $3.50 เรากำลังดูข้อมูลประมาณ 50% และที่ $5 และต่ำกว่าคือที่ 80% ของข้อมูลของเราถูกกระจาย
รหัสกราฟฮิสโตแกรม
ตอนนี้ฉันจะแสดงรหัสสำหรับแต่ละแผนภาพเหล่านี้ โดยเริ่มจากฮิสโตแกรม พวกเขาทั้งหมดมีการเข้ารหัสที่คล้ายกันมากและทำซ้ำได้ดังนั้นคุณจึงสามารถดึงขึ้นมาได้อย่างรวดเร็วโดยใช้รหัสเดียว เช่น เทมเพลต
ก่อนอื่นเราต้องนำเข้า Seaborn และบันทึกเป็น sb ตามด้วย matplotlib.pyplot เป็น plt เราจะใช้สไตล์พื้นหลังที่เรียกว่า ggplot และ ตัวแปร matplotlib เพื่อส่งผ่านในรูปแบบต่างๆ
ตัวอย่างเช่น ในภาพด้านล่าง เราจะเห็นว่าในบรรทัดที่ 11 เรากำลังเพิ่มชื่อสำหรับฮิสโตแกรมและขนาดติ๊กในบรรทัดต่อไปนี้ yticks และ xticks แทนขนาด x และ y ตามนั้น
ในบรรทัดที่ 14 เราใช้ตัวแปร Seaborn เพื่อส่งผ่านไปยังฟังก์ชันที่นำพล็อตเฉพาะนั้นเข้ามา เช่น ฮิสท์พล็อต ในตัวอย่างด้านบน ซึ่งแสดงถึงพล็อตฮิสโตแกรม จากนั้นเราจะส่งข้อมูลจากบรรทัดที่ 4 เข้าสู่ฟังก์ชันเป็นชุดข้อมูล
ทุกสิ่งที่คุณใส่เข้าไปในค่าจะแสดงถึงชุดข้อมูลของคุณและจะละทิ้งข้อมูลที่ซ้ำกัน จากนั้นเราจะใช้ x สำหรับเคล็ดลับและ สี ซึ่ง เมื่อใช้ ร่วมกับซีบอร์น จะช่วยให้คุณแยกข้อมูลตามหมวดหมู่ได้ หากเราย้อนกลับไปที่ภาพของเรา เราจะเห็นว่ามันมีหมวดหมู่ รวมถึง the เวลา หรือผู้สูบบุหรี่
พล็อต KDE
สำหรับเนื้อเรื่องของ KDE ทุกอย่างเกือบจะเหมือนกัน เราเพียงแค่ต้องผ่านพารามิเตอร์ใหม่ที่เรียกว่าเฉดสีเพื่อให้ดูเป็นเงา นอกเหนือจากนั้น เฉดสี ข้อมูล และส่วนที่เหลือจะเหมือนกัน
ด้วยโครงเรื่องแบบกล่อง ส่วนใหญ่จะคล้ายกับโครงเรื่องอื่นๆ ยกเว้นความแตกต่างเล็กน้อยเล็กน้อย เราใช้ ฟังก์ชันบอกซ์พล็อต โดยที่ x คือวันและ y คือทิป นอกจากนี้เรายังไม่ได้ใช้ สี สำหรับพล็อตนี้
ดังนั้นจึงมีโครงสร้างเดียวกันกับพล็อต ECDF และข้อแตกต่างเพียงอย่างเดียวคือในตัวแปร Seaborn ซึ่งเราผ่านในพล็อต ECDF และใช้ hue เป็นวัน แต่เราสามารถเปลี่ยนสีนั้นเป็นหมวดหมู่อื่นที่เรามีได้ เช่น ผู้สูบบุหรี่
หากเราผ่านหมวดหมู่นี้ เราจะจบลงด้วยพล็อต ECDF ที่มีสองบรรทัดที่แตกต่างกัน ในการกระจายเหล่านี้ เราจะเห็นว่าผู้สูบบุหรี่มีมากขึ้นเกี่ยวกับความกว้างของเส้นเฉพาะของเรา
ผู้ไม่สูบบุหรี่มีข้อมูล 100 เปอร์เซ็นต์ต่ำกว่า 6 ดอลลาร์ ขณะที่ผู้สูบบุหรี่มีข้อมูล 6 ดอลลาร์ น่าสนใจมาก ผู้สูบบุหรี่ของเราอาจทิ้งทิปที่ใหญ่ขึ้นในวันใดวันหนึ่ง
แปลงรูปแบบ ECDF
ตอนนี้เราสามารถจัดรูปแบบโครงร่าง ECDF ของเราเพิ่มเติมเพื่อให้ดูเรียบร้อยยิ่งขึ้น ในภาพด้านล่างเป็นแปลง ECDF ที่แตกต่างกัน ในพล็อตแรก ฉันทำให้เส้นใหญ่ขึ้นและใช้จานสีอื่น
ในพล็อตแรก ฉันใช้พารามิเตอร์ต่างๆ ภายในฟังก์ชัน อย่างที่คุณเห็นด้านล่าง ฉันใส่จานสีเป็น ฤดูร้อน และความกว้างของเส้นเป็น 5
ฉันยังเปรียบเทียบวันเสาร์และวันอาทิตย์ด้วย ซึ่งเป็นเหตุผลว่าทำไมจึงมีเส้นสีเขียวสองเส้นที่แตกต่างกัน ที่นี่เราจะเห็นว่าทิป 3 ดอลลาร์อยู่ที่เปอร์เซ็นไทล์ที่ 45 สำหรับวันอาทิตย์ และเปอร์เซ็นไทล์ที่ 70 สำหรับวันพฤหัสบดี ซึ่งบอกเราว่าผู้คนมักจะให้ทิปที่สูงขึ้นในวันอาทิตย์
เรายังสามารถสลับแกน X และ Y สลับสัดส่วนและส่วนปลายภายในพล็อตของเรา และเปลี่ยนจานสีได้เหมือนในภาพด้านล่าง
ที่นี่เราจะเห็นว่าทิป 2 ดอลลาร์อยู่ที่เปอร์เซ็นไทล์ที่ 20 สำหรับวันอาทิตย์ ซึ่งเป็นเส้นสีม่วงในแผนภาพ ดังนั้นข้อมูลจะเหมือนกันกับพล็อต ECDF ก่อนหน้า และมีเพียงการนำเสนอเท่านั้นที่แตกต่างกัน
ขณะนี้เรามีพล็อตอื่นที่มีชุดข้อมูลเดียวกันและคงตำแหน่งแกนเดิมไว้ดังที่แสดงในภาพด้านบน ความแตกต่างในครั้งนี้คือทิศทางของเส้นกลับด้าน
รูปแบบแปลง ECDF
ถ้าเราดูที่โค้ด สิ่งที่เราทำก็แค่ส่งพารามิเตอร์ เสริมเท่ากับ = จริง การดำเนินการนี้ จะช่วยให้เราสามารถพูดได้ว่าช่วง $2 ขึ้นไปคือที่ที่ 80% ของข้อมูลของเราถูกกระจาย แทนที่จะพูดว่าต่ำกว่าช่วง $2 เป็นที่ที่ 20% ของข้อมูลของเราถูกกระจาย ย้ำอีกครั้งว่าเป็นข้อมูลเดียวกันที่มีรูปลักษณ์หรือวิธีการนำเสนอที่แตกต่างกัน
และในโครงร่าง ECDF ที่สี่และสุดท้าย เราใช้การนับแทนสัดส่วน
วิธีการนี้มีประโยชน์เมื่อเรามีมากกว่าสองสามแปลง เมื่อดูที่คอลัมน์จำนวนในภาพด้านล่าง เราจะเห็นว่ามีการสังเกตไม่มากนักในวันศุกร์ ซึ่งบอกเราว่าผู้คนไม่ได้ให้ทิปจำนวนมากในวันนั้น
แผน ECDF รหัสสิ่งจำเป็น
หากเราดูโค้ดคุณจะพบว่า Seabornซึ่งเป็นสิ่งสำคัญในการสร้างพล็อตนี้โดยเฉพาะ เรายังมี matplotlib.pyplot สำหรับใส่ สไตล์ ซึ่งคุณสามารถบันทึกเป็นตัวแปรชื่อ plt
จากนั้นเราสามารถใช้ตัวแปรนั้นเพื่อสร้างสไตล์ต่างๆ สำหรับโครงเรื่องเฉพาะของเรา เช่น การเพิ่มชื่อเรื่องและขนาดตัวอักษร ส่วนหลักของโค้ดจะเป็นฟังก์ชันพล็อต ECDF ที่เรานำเข้ามาพร้อมกับ Seaborn
Scatter Plot ในสคริปต์ R: วิธีสร้างและนำเข้า
ฟังก์ชันที่ผู้ใช้กำหนดของ Python | ภาพรวม
GGPLOT2 ใน R: การสร้างภาพด้วย ESQUISSE
บทสรุป
นี่คือวิธีที่คุณสามารถใช้แผนการกระจายต่างๆ รวมถึงแผน Histogram, KDE, Box และ ECDF คุณยังได้เรียนรู้สี่วิธีในการนำเสนอพล็อต ECDF โดยใช้ชุดข้อมูลเดียวกัน คุณสามารถใช้วิธีใดก็ได้ขึ้นอยู่กับความชอบของคุณ
โปรดจำไว้เสมอว่าต้องนำไลบรารี่ที่จำเป็นสำหรับการสร้างพล็อตของคุณและเพื่อใช้ฟังก์ชันที่เหมาะสม หลังจากนั้น ก็เป็นเพียงเรื่องของการเปลี่ยนแปลงด้านภาพและสไตล์ของโครงเรื่องของคุณ เช่น การวางตำแหน่งแกนและเฉดสี
สิ่งที่ดีที่สุด
ตนเองคืออะไรใน Python: ตัวอย่างในโลกแห่งความเป็นจริง
คุณจะได้เรียนรู้วิธีการบันทึกและโหลดวัตถุจากไฟล์ .rds ใน R บล็อกนี้จะครอบคลุมถึงวิธีการนำเข้าวัตถุจาก R ไปยัง LuckyTemplates
ในบทช่วยสอนภาษาการเข้ารหัส DAX นี้ เรียนรู้วิธีใช้ฟังก์ชัน GENERATE และวิธีเปลี่ยนชื่อหน่วยวัดแบบไดนามิก
บทช่วยสอนนี้จะครอบคลุมถึงวิธีการใช้เทคนิค Multi Threaded Dynamic Visuals เพื่อสร้างข้อมูลเชิงลึกจากการแสดงข้อมูลแบบไดนามิกในรายงานของคุณ
ในบทความนี้ ฉันจะเรียกใช้ผ่านบริบทตัวกรอง บริบทตัวกรองเป็นหนึ่งในหัวข้อหลักที่ผู้ใช้ LuckyTemplates ควรเรียนรู้ในขั้นต้น
ฉันต้องการแสดงให้เห็นว่าบริการออนไลน์ของ LuckyTemplates Apps สามารถช่วยในการจัดการรายงานและข้อมูลเชิงลึกต่างๆ ที่สร้างจากแหล่งข้อมูลต่างๆ ได้อย่างไร
เรียนรู้วิธีคำนวณการเปลี่ยนแปลงอัตรากำไรของคุณโดยใช้เทคนิคต่างๆ เช่น การแยกสาขาและการรวมสูตร DAX ใน LuckyTemplates
บทช่วยสอนนี้จะหารือเกี่ยวกับแนวคิดของการทำให้แคชข้อมูลเป็นรูปธรรมและวิธีที่สิ่งเหล่านี้ส่งผลต่อประสิทธิภาพของ DAX ในการให้ผลลัพธ์
หากคุณยังคงใช้ Excel อยู่จนถึงตอนนี้ นี่เป็นเวลาที่ดีที่สุดในการเริ่มใช้ LuckyTemplates สำหรับความต้องการในการรายงานทางธุรกิจของคุณ
เกตเวย์ LuckyTemplates คืออะไร ทั้งหมดที่คุณต้องการรู้