Biểu đồ ước tính mật độ hạt nhân [KDE] là một phương pháp để trực quan hóa sự phân bố của các quan sát trong tập dữ liệu, tương tự như biểu đồ. KDE biểu thị dữ liệu bằng đường cong mật độ xác suất liên tục theo một hoặc nhiều thứ nguyên
Phương pháp này được giải thích thêm trong hướng dẫn sử dụng .
Liên quan đến một biểu đồ, KDE có thể tạo ra một biểu đồ ít lộn xộn hơn và dễ hiểu hơn, đặc biệt là khi vẽ nhiều bản phân phối. Nhưng nó có khả năng gây ra biến dạng nếu phân phối cơ bản bị giới hạn hoặc không trơn tru. Giống như một biểu đồ, chất lượng của biểu diễn cũng phụ thuộc vào việc lựa chọn các tham số làm mịn tốt
Thông số . dữ liệusns.kdeplot[data=tips, y="total_bill"]8,
sns.kdeplot[data=tips, y="total_bill"]9, ánh xạ hoặc trình tự
Cấu trúc dữ liệu đầu vào. Một tập hợp các vectơ dạng dài có thể được gán cho các biến được đặt tên hoặc một tập dữ liệu dạng rộng sẽ được định hình lại bên trong
x, y vectơ hoặc khóa trongiris = sns.load_dataset["iris"] sns.kdeplot[data=iris]0
Các biến xác định vị trí trên trục x và y
hue vectơ hoặc khóa trongiris = sns.load_dataset["iris"] sns.kdeplot[data=iris]0
Biến ngữ nghĩa được ánh xạ để xác định màu của các thành phần cốt truyện
trọng số vectơ hoặc khóa trongiris = sns.load_dataset["iris"] sns.kdeplot[data=iris]0
Nếu được cung cấp, hãy cân nhắc ước tính mật độ hạt nhân bằng các giá trị này
bảng màu chuỗi, danh sách, dict hoặciris = sns.load_dataset["iris"] sns.kdeplot[data=iris]3
Phương pháp chọn màu để sử dụng khi ánh xạ ngữ nghĩa
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]4. Các giá trị chuỗi được chuyển đến
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]5. Các giá trị danh sách hoặc chính tả ngụ ý ánh xạ phân loại, trong khi một đối tượng bản đồ màu ngụ ý ánh xạ sốhue_order véc tơ dây
Chỉ định thứ tự xử lý và vẽ biểu đồ cho các cấp độ phân loại của ngữ nghĩa
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]4hue_norm tuple hoặc
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]7
Một cặp giá trị đặt phạm vi chuẩn hóa trong đơn vị dữ liệu hoặc một đối tượng sẽ ánh xạ từ đơn vị dữ liệu vào khoảng [0, 1]. Cách sử dụng ngụ ý ánh xạ số
màuiris = sns.load_dataset["iris"] sns.kdeplot[data=iris]8
Thông số kỹ thuật một màu khi không sử dụng ánh xạ màu. Nếu không, cốt truyện sẽ cố gắng nối vào chu trình thuộc tính matplotlib
điền bool hoặc Không cóNếu Đúng, hãy điền vào khu vực dưới các đường cong mật độ đơn biến hoặc giữa các đường viền hai biến. Nếu Không, giá trị mặc định phụ thuộc vào
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]9
Phương pháp vẽ nhiều phần tử khi ánh xạ ngữ nghĩa tạo tập hợp con. Chỉ phù hợp với dữ liệu đơn biến
common_norm boolNếu Đúng, chia tỷ lệ từng mật độ có điều kiện theo số lượng quan sát sao cho tổng diện tích dưới tất cả các mật độ tổng bằng 1. Mặt khác, bình thường hóa từng mật độ một cách độc lập
common_grid boolNếu Đúng, hãy sử dụng cùng một lưới đánh giá cho mỗi ước tính mật độ hạt nhân. Chỉ phù hợp với dữ liệu đơn biến
tích lũy bool, tùy chọnNếu Đúng, hãy ước tính hàm phân phối tích lũy. Yêu cầu scipy
bw_method chuỗi, vô hướng hoặc có thể gọi được, tùy chọnPhương pháp xác định băng thông làm trơn sẽ sử dụng;
bw_adjust số, tùy chọnYếu tố nhân tỷ lệ giá trị được chọn bằng cách sử dụng
sns.kdeplot[data=tips, y="total_bill"]21. Tăng sẽ làm cho đường cong mượt mà hơn. Xem ghi chúwarn_singular bool
Nếu Đúng, hãy đưa ra cảnh báo khi cố gắng ước tính mật độ dữ liệu với phương sai bằng không
log_scale bool hoặc số, hoặc cặp bool hoặc sốĐặt [các] tỷ lệ trục thành nhật ký. Một giá trị đặt trục dữ liệu cho phân phối đơn biến và cả hai trục cho phân phối hai biến. Một cặp giá trị đặt mỗi trục một cách độc lập. Các giá trị số được hiểu là cơ số mong muốn [mặc định là 10]. Nếu
sns.kdeplot[data=tips, y="total_bill"]22, hãy chuyển sang thang đo Trục hiện cócấp độ int hoặc véc tơ
Số mức đường viền hoặc giá trị để vẽ đường viền tại. Đối số vectơ phải có giá trị tăng dần trong [0, 1]. Các mức tương ứng với các tỷ lệ đồng phân của mật độ. e. g. , 20% khối lượng xác suất sẽ nằm bên dưới đường viền được vẽ cho 0. 2. Chỉ liên quan đến dữ liệu hai biến
đập số trong [0, 1]Mức tỷ lệ đồng mức thấp nhất để vẽ đường đồng mức. Bỏ qua khi
sns.kdeplot[data=tips, y="total_bill"]23 là một véc tơ. Chỉ liên quan đến dữ liệu hai chiềukích thước lưới int
Số điểm trên mỗi chiều của lưới đánh giá
cắt số, tùy chọnHệ số, nhân với băng thông làm mịn, xác định khoảng cách lưới đánh giá vượt qua các điểm dữ liệu cực đoan. Khi được đặt thành 0, cắt bớt đường cong ở giới hạn dữ liệu
Không đánh giá mật độ bên ngoài các giới hạn này
huyền thoại boolNếu Sai, hãy loại bỏ chú giải cho các biến ngữ nghĩa
cbar boolNếu Đúng, hãy thêm một thanh màu để chú thích ánh xạ màu trong biểu đồ hai biến số. Ghi chú. Hiện không hỗ trợ tốt các ô có biến
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]4cbar_ax
sns.kdeplot[data=tips, y="total_bill"]25
Các trục có sẵn cho thanh màu
cbar_kws mệnh lệnhCác tham số bổ sung được chuyển đến
sns.kdeplot[data=tips, y="total_bill"]26ax
sns.kdeplot[data=tips, y="total_bill"]25
Các trục có sẵn cho cốt truyện. Nếu không, hãy gọi nội bộ
sns.kdeplot[data=tips, y="total_bill"]28kwargs
Các đối số từ khóa khác được chuyển đến một trong các hàm matplotlib sau
sns.kdeplot[data=tips, y="total_bill"]
29 [đơn biến,iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
20],iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
21 [đơn biến,iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
22],iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
23 [hai biến số,iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
20],iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
25 [hai biến,iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]
22]
sns.kdeplot[data=tips, y="total_bill"]25
Các trục matplotlib chứa cốt truyện
Xem thêm
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]28
Giao diện cấp hình cho các chức năng sơ đồ phân phối
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]29
Vẽ một biểu đồ của số lượng được đánh dấu bằng cách chuẩn hóa hoặc làm mịn tùy chọn
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]20
Vẽ các hàm phân phối tích lũy theo kinh nghiệm
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]21
Vẽ một biểu đồ hai biến với các phân phối cận biên đơn biến
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]22
Vẽ một boxplot nâng cao bằng ước tính mật độ hạt nhân
ghi chú
Băng thông, hoặc độ lệch chuẩn của nhân làm mịn, là một tham số quan trọng. Việc xác định sai băng thông có thể tạo ra biểu diễn dữ liệu bị bóp méo. Giống như việc lựa chọn độ rộng thùng trong biểu đồ, đường cong được làm mịn quá mức có thể xóa các đặc điểm thực của phân phối, trong khi đường cong chưa được làm mịn có thể tạo ra các đặc điểm sai do biến thiên ngẫu nhiên. Quy tắc ngón tay cái đặt băng thông mặc định hoạt động tốt nhất khi phân phối thực sự trơn tru, không theo phương thức và có hình chuông gần giống. Bạn luôn nên kiểm tra hành vi mặc định bằng cách sử dụng
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]23 để tăng hoặc giảm mức độ làm mịn
Do thuật toán làm mịn sử dụng hạt nhân Gaussian, đường cong mật độ ước tính có thể mở rộng đến các giá trị không có ý nghĩa đối với một tập dữ liệu cụ thể. Ví dụ: đường cong có thể được vẽ trên các giá trị âm khi làm mịn dữ liệu dương tự nhiên. Các tham số
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]24 và
iris = sns.load_dataset["iris"] sns.kdeplot[data=iris]25 có thể được sử dụng để kiểm soát phạm vi của đường cong, nhưng các bộ dữ liệu có nhiều quan sát gần với ranh giới tự nhiên có thể được phục vụ tốt hơn bằng một phương pháp trực quan hóa khác
Các cân nhắc tương tự cũng được áp dụng khi tập dữ liệu rời rạc một cách tự nhiên hoặc "rỗng" [chứa nhiều quan sát lặp lại có cùng giá trị]. Ước tính mật độ hạt nhân sẽ luôn tạo ra một đường cong mượt mà, điều này sẽ gây hiểu lầm trong những tình huống này
Các đơn vị trên trục mật độ là nguồn gây nhầm lẫn phổ biến. Mặc dù ước tính mật độ hạt nhân tạo ra phân phối xác suất, nhưng chiều cao của đường cong tại mỗi điểm cho biết mật độ, không phải xác suất. Xác suất chỉ có thể đạt được bằng cách tích hợp mật độ trên một phạm vi. Đường cong được chuẩn hóa sao cho tích phân trên tất cả các giá trị có thể là 1, nghĩa là tỷ lệ của trục mật độ phụ thuộc vào các giá trị dữ liệu