การแสดงข้อมูลใน Python: อธิบายพล็อตพื้นฐาน [พร้อมภาพประกอบกราฟิก]

เผยแพร่แล้ว: 2021-02-08

สารบัญ

หลักการออกแบบขั้นพื้นฐาน

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

ในฐานะนักวิทยาศาสตร์ด้านข้อมูล เราทุกคนมีภาระหน้าที่ในการรักษาสิ่งที่เป็นความจริง

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

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

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

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

โครงเรื่องพื้นฐานบางส่วน

ตอนนี้เรามีความเข้าใจพื้นฐานเกี่ยวกับหลักการออกแบบแล้ว มาเจาะลึกเทคนิคการสร้างภาพข้อมูลพื้นฐานโดยใช้ไล บรารี่ matplotlib ใน python

รหัสทั้งหมดด้านล่างสามารถดำเนินการได้ในสมุดบันทึก Jupyter

%matplotlib สมุดบันทึก

# สิ่งนี้ให้สภาพแวดล้อมแบบโต้ตอบและตั้งค่าส่วนหลัง ( %matplotlib inline สามารถใช้ได้แต่ไม่สามารถโต้ตอบได้ ซึ่งหมายความว่าการเรียกใช้ฟังก์ชันการวางแผนเพิ่มเติมใดๆ จะไม่อัปเดตการแสดงภาพต้นฉบับของเราโดยอัตโนมัติ)

นำเข้า matplotlib.pyplot เป็น plt # การนำเข้าโมดูลไลบรารีที่จำเป็น

พล็อตจุด

ฟังก์ชัน matplotlib ที่ง่ายที่สุด ในการลงจุดคือ plot( ) อาร์กิวเมนต์แสดงถึงพิกัด X และ Y จากนั้นเป็นค่าสตริงที่อธิบายว่าควรแสดงข้อมูลอย่างไร

plt.figure()

plt.plot( 5, 6, '+' ) # เครื่องหมาย + ทำหน้าที่เป็นเครื่องหมาย

โปรยปราย

scatterplot เป็นพล็อตสองมิติ ฟังก์ชัน scatter() ยังรับค่า X เป็นอาร์กิวเมนต์แรก และค่า Y เป็นค่าที่สอง พล็อตด้านล่างเป็นเส้นทแยงมุม และ matplotlib จะปรับขนาดของทั้งสองแกนโดยอัตโนมัติ ที่นี่ พล็อตกระจายไม่ถือว่าไอเท็มเป็นชุดข้อมูล ดังนั้นเราจึงสามารถให้รายการสีที่ต้องการซึ่งสอดคล้องกับแต่ละจุดได้

นำเข้า numpy เป็น np

x = np.array( [1, 2, 3, 4, 5, 6, 7, 8] )

y = x

plt.figure()

plt.กระจาย( x, y )

แผนภาพเส้น

พล็อตเส้นถูกสร้างขึ้นด้วย ฟังก์ชัน plot() และพล็อตชุดข้อมูลหลายจุด เช่น พล็อตแบบกระจาย แต่จะเชื่อมต่อชุดจุดแต่ละชุดกับเส้น

นำเข้า numpy เป็น np

linear_data = np.array( [1, 2, 3, 4, 5, 6, 7, 8] )

squared_data = linear_data**2

plt.figure()

plt.plot ( linear_data, '-o', squared_data, '-o')

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

plt.xlabel('ค่า X')

plt.ylabel('ค่า Y')

plt.title('แผนผังเส้น')

plt.legend( ['เชิงเส้น', 'กำลังสอง'] )

plt.gca().fill_between( range ( len ( linear_data ) ), linear_data, squared_data, facecolor = 'blue', alpha = 0.25)

นี่คือลักษณะของกราฟที่แก้ไขแล้ว-

แผนภูมิแท่ง

เราสามารถพล็อตแผนภูมิแท่งโดยส่งอาร์กิวเมนต์สำหรับค่า X และความสูงของแต่ละแท่งไปยัง ฟังก์ชัน bar() ด้านล่างนี้คือพล็อตแท่งของอาร์เรย์ข้อมูลเชิงเส้นเดียวกันกับที่เราใช้ด้านบน

plt.figure()

x = ช่วง (เลน ( linear_data ))

plt.bar( x, linear_data )

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

ใหม่_x = []

สำหรับข้อมูลใน x:

new_x.append(ข้อมูล+0.3)

plt.bar (new_x, squared_data, width = 0.3, color = 'green')

# สำหรับกราฟที่มีการวางแนวนอน เราใช้ ฟังก์ชัน barh()

plt.figure()

x = ช่วง (เลน ( linear_data ))

plt.barh ( x, linear_data, ความสูง = 0.3, สี = 'b')

plt.barh ( x, squared_data, ความสูง = 0.3, ซ้าย = linear_data, สี = 'g')

#นี่คือตัวอย่างการวางแท่งแท่งในแนวตั้ง

plt.figure()

x = ช่วง (เลน ( linear_data ))

plt.bar (x, linear_data, width = 0.3, color = 'b')

plt.bar ( x, squared_data, width = 0.3, bottom = linear_data, color = 'g')

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

บทสรุป

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

หากคุณอยากเรียนรู้เกี่ยวกับวิทยาศาสตร์ข้อมูล ให้ลองดูประกาศนียบัตร PG ด้านวิทยาศาสตร์ข้อมูลของ IIIT-B และ upGrad ซึ่งสร้างขึ้นสำหรับมืออาชีพด้านการทำงานและเสนอกรณีศึกษาและโครงการมากกว่า 10 รายการ เวิร์กช็อปภาคปฏิบัติจริง การให้คำปรึกษากับผู้เชี่ยวชาญในอุตสาหกรรม 1- on-1 กับที่ปรึกษาในอุตสาหกรรม การเรียนรู้มากกว่า 400 ชั่วโมงและความช่วยเหลือด้านงานกับบริษัทชั้นนำ

แพ็คเกจ Python ที่มีประโยชน์สำหรับการแสดงข้อมูลมีอะไรบ้าง

Python มีแพ็คเกจที่น่าทึ่งและมีประโยชน์สำหรับการแสดงข้อมูลเป็นภาพ แพ็คเกจเหล่านี้บางส่วนมีการกล่าวถึงด้านล่าง:
1. Matplotlib - Matplotlib เป็นไลบรารี Python ยอดนิยมที่ใช้สำหรับการแสดงข้อมูลในรูปแบบต่างๆ เช่น scatterplots กราฟแท่ง แผนภูมิวงกลม และแผนภูมิเส้น มันใช้ Numpy สำหรับการดำเนินการทางคณิตศาสตร์

2. Seaborn - ห้องสมุด Seaborn ใช้สำหรับการแสดงทางสถิติใน Python ได้รับการพัฒนาบน Matplotlib และรวมเข้ากับโครงสร้างข้อมูลของ Pandas
3. Altair - Altair เป็นอีกหนึ่งไลบรารี Python ยอดนิยมสำหรับการแสดงข้อมูล เป็นไลบรารีสถิติแบบเปิดเผยที่ช่วยให้คุณสามารถสร้างวิชวลด้วยการเข้ารหัสขั้นต่ำที่เป็นไปได้
4. Plotly - Plotly คือไลบรารีการสร้างภาพข้อมูลแบบโต้ตอบและโอเพนซอร์สของ Python ภาพที่สร้างขึ้นโดยไลบรารีบนเบราว์เซอร์นี้ได้รับการสนับสนุนจากหลายแพลตฟอร์ม เช่น Jupyter Notebook และไฟล์ HTML แบบสแตนด์อโลน

คุณรู้อะไรเกี่ยวกับพ้อยท์พล็อตและพล็อตกระจายบ้าง?

แผนภาพจุดเป็นแผนภาพพื้นฐานและง่ายที่สุดสำหรับการแสดงข้อมูลเป็นภาพ พล็อตจุดแสดงข้อมูลในรูปของจุดบนระนาบคาร์ทีเซียน เครื่องหมาย "+" แสดงค่าที่เพิ่มขึ้น ในขณะที่ "-" แสดงค่าที่ลดลงเมื่อเวลาผ่านไป
ในทางกลับกัน พล็อตแบบกระจายเป็นพล็อตที่ได้รับการปรับให้เหมาะสมที่สุด โดยจะแสดงข้อมูลเป็นภาพบนระนาบ 2 มิติ ถูกกำหนดโดยใช้ฟังก์ชัน scatter() ที่ใช้ค่าแกน x เป็นพารามิเตอร์แรก และค่าแกน y เป็นพารามิเตอร์ที่สอง

ข้อดีของการสร้างภาพข้อมูลคืออะไร?

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