Seaborn - Phân phối các quan sát

Trong các biểu đồ phân tán phân loại mà chúng ta đã đề cập trong chương trước, cách tiếp cận trở nên hạn chế về thông tin mà nó có thể cung cấp về sự phân bố các giá trị trong mỗi danh mục. Bây giờ, đi xa hơn, chúng ta hãy xem điều gì có thể tạo điều kiện cho chúng tôi thực hiện so sánh với trong danh mục.

Ô hộp

Boxplot là một cách thuận tiện để trực quan hóa việc phân phối dữ liệu thông qua các phần tư của chúng.

Ô hộp thường có các đường thẳng đứng kéo dài từ ô được gọi là râu. Những râu này biểu thị sự thay đổi bên ngoài phần tư trên và dưới, do đó Ô Hộp còn được gọi làbox-and-whisker âm mưu và box-and-whisker biểu đồ. Bất kỳ giá trị ngoại lai nào trong dữ liệu được vẽ dưới dạng các điểm riêng lẻ.

Thí dụ

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()

Đầu ra

Các dấu chấm trên âm mưu cho biết ngoại lệ.

Lô đàn Violin

Lô Violin là sự kết hợp giữa ô hộp với ước tính mật độ hạt nhân. Vì vậy, những biểu đồ này dễ dàng phân tích và hiểu sự phân bố của dữ liệu hơn.

Hãy để chúng tôi sử dụng tập dữ liệu mẹo được gọi để tìm hiểu thêm về âm mưu của violin. Tập dữ liệu này chứa thông tin liên quan đến các mẹo mà khách hàng trong nhà hàng đưa ra.

Thí dụ

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()

Đầu ra

Các giá trị phần tư và râu từ ô hộp được hiển thị bên trong cây đàn violin. Khi ô violin sử dụng KDE, phần violin rộng hơn biểu thị mật độ cao hơn và vùng hẹp thể hiện mật độ tương đối thấp hơn. Phạm vi Liên phần tư trong âm mưu hình hộp và phần mật độ cao hơn tính bằng kde rơi vào cùng một vùng của mỗi loại âm mưu vĩ cầm.

Biểu đồ trên cho thấy phân phối của tổng_bill vào bốn ngày trong tuần. Tuy nhiên, ngoài điều đó, nếu chúng ta muốn xem cách phân phối hoạt động đối với tình dục, hãy khám phá nó trong ví dụ dưới đây.

Thí dụ

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()

Đầu ra

Bây giờ chúng ta có thể thấy rõ hành vi chi tiêu giữa nam và nữ. Chúng ta có thể dễ dàng nói rằng, đàn ông kiếm được nhiều tiền hơn phụ nữ bằng cách nhìn vào cốt truyện.

Và, nếu biến màu chỉ có hai lớp, chúng ta có thể làm đẹp cốt truyện bằng cách chia mỗi cây vĩ cầm thành hai thay vì hai cây vĩ cầm vào một ngày nhất định. Một trong hai bộ phận của violin đề cập đến từng lớp trong biến màu.

Thí dụ

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()

Đầu ra