Seaborn - การกระจายการสังเกตการณ์
ในรูปแบบการกระจายตามหมวดหมู่ซึ่งเราได้จัดการไว้ในบทก่อนหน้าแนวทางจะ จำกัด ในข้อมูลที่สามารถให้ได้เกี่ยวกับการกระจายของค่าในแต่ละหมวดหมู่ ตอนนี้จะไปต่อให้เราดูว่าอะไรสามารถอำนวยความสะดวกให้เราในการเปรียบเทียบกับในหมวดหมู่
พล็อตกล่อง
Boxplot เป็นวิธีที่สะดวกในการแสดงภาพการกระจายข้อมูลผ่านควอไทล์
พล็อตกล่องมักจะมีเส้นแนวตั้งยื่นออกมาจากกล่องซึ่งเรียกว่าหนวด หนวดเหล่านี้บ่งบอกถึงความแปรปรวนนอกควอไทล์บนและล่างดังนั้น Box Plots จึงถูกเรียกว่าbox-and-whisker พล็อตและ box-and-whisker แผนภาพ ค่าผิดปกติใด ๆ ในข้อมูลจะถูกพล็อตเป็นแต่ละจุด
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()
เอาต์พุต
จุดบนพล็อตระบุค่าผิดปกติ
แปลงไวโอลิน
พลอตไวโอลินคือการรวมกันของพล็อตกล่องกับการประมาณความหนาแน่นของเคอร์เนล ดังนั้นพล็อตเหล่านี้จึงง่ายต่อการวิเคราะห์และทำความเข้าใจการกระจายของข้อมูล
ให้เราใช้ชุดข้อมูลเคล็ดลับที่เรียกว่าเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับแปลงไวโอลิน ชุดข้อมูลนี้ประกอบด้วยข้อมูลที่เกี่ยวข้องกับเคล็ดลับที่ลูกค้าให้ไว้ในร้านอาหาร
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()
เอาต์พุต
ค่าควอไทล์และมัสสุจากบ็อกซ์พล็อตจะแสดงอยู่ภายในไวโอลิน เนื่องจากพล็อตไวโอลินใช้ KDE ส่วนที่กว้างขึ้นของไวโอลินจะบ่งบอกถึงความหนาแน่นที่สูงขึ้นและพื้นที่แคบแสดงถึงความหนาแน่นที่ค่อนข้างต่ำ ช่วง Inter-Quartile ใน boxplot และส่วนที่มีความหนาแน่นสูงกว่าใน kde จะตกอยู่ในภูมิภาคเดียวกันของแต่ละประเภทของไวโอลิน
พล็อตด้านบนแสดงการแจกแจงของ total_bill ในสี่วันของสัปดาห์ แต่นอกเหนือจากนั้นหากเราต้องการดูว่าการกระจายมีพฤติกรรมอย่างไรในเรื่องเพศให้สำรวจในตัวอย่างด้านล่าง
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()
เอาต์พุต
ปัจจุบันเราสามารถเห็นพฤติกรรมการใช้จ่ายระหว่างเพศชายและเพศหญิงได้อย่างชัดเจน เราสามารถพูดได้ง่ายๆว่าผู้ชายทำเงินได้มากกว่าผู้หญิงโดยดูที่พล็อต
และหากตัวแปรสีมีเพียงสองคลาสเราสามารถตกแต่งพล็อตให้สวยงามโดยการแยกไวโอลินแต่ละตัวออกเป็นสองตัวแทนที่จะเป็นไวโอลินสองตัวในวันที่กำหนด ส่วนใดส่วนหนึ่งของไวโอลินอ้างถึงแต่ละคลาสในตัวแปร hue
ตัวอย่าง
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()