Cho đến nay, chúng tôi đã xem xét sự phân phối dữ liệu với cả biểu đồ phân phối và biểu đồ hộp - chúng tôi không xem xét bản thân các con số mà là tần suất của các số [tần suất xuất hiện của một giá trị nhất định] nhưng chúng tôi đã xem xét các biến liên tục trong cả hai
Nếu chúng ta xem xét bộ dữ liệu kim cương [có sẵn với gói 'seaborn'], thì cũng có một số thuộc tính phân loại, bên dưới là ảnh chụp nhanh của bộ dữ liệu này
Biểu đồ thanh trung bình
Bạn có thể chuyển bất kỳ toán tử Numpy nào cho đối số
sns.barplot[x="channel", y="history", data=df, estimator=sum, palette="husl"]
8, vì vậy, để tạo biểu đồ thanh trung bình hiển thị chi tiêu trung bình theo kênh, bạn có thể thay đổi %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
31 thành %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
32%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
7%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Đếm ô
Không giống như các biểu đồ thanh, có hai giá trị - một cột
sns.barplot[x="channel", y="history", data=df, estimator=sum, palette="husl"]
3 và một cột sns.barplot[x="channel", y="history", data=df, estimator=sum, palette="husl"]
4 - một biểu đồ đếm có một giá trị cột. Đối với mỗi giá trị phân loại duy nhất được tìm thấy trong cột, biểu đồ đếm sẽ hiển thị số mục được tìm thấy. Đây là một ví dụ đếm số lượng khách hàng theo %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
35df = pd.read_csv['data.csv']
df.head[]
2%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3dải ô
Biểu đồ dải về cơ bản là biểu đồ phân tán cho các biến phân loại. Chúng có thể được sử dụng theo nhiều cách nhưng yêu cầu giá trị
sns.barplot[x="channel", y="history", data=df, estimator=sum, palette="husl"]
3 [phân loại] và sns.barplot[x="channel", y="history", data=df, estimator=sum, palette="husl"]
4 [số] là yêu cầu tối thiểu. Đây là một biểu đồ dải hiển thị lịch sử mua hàng của khách hàng trong ba kênh. Lưu ý rằng dữ liệu đa kênh bắt đầu trên 0, bởi vì bạn phải mua sắm ở hai kênh để trở thành đa kênhdf = pd.read_csv['data.csv']
df.head[]
6%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Bạn cũng có thể thêm một
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38 để tách các ô để hiển thị một biến phân loại bổ sung. Trong ví dụ bên dưới, tôi đã thêm %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
39 làm %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
1%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3ô hộp
Ở dạng tiêu chuẩn [xem bên dưới], biểu đồ hộp hoặc sơ đồ hộp và râu, thường được sử dụng để hiển thị phân phối giá trị trong một cột. Chúng là một cách tuyệt vời để xem phần lớn dữ liệu nằm ở đâu và để xác định các giá trị ngoại lệ
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Tuy nhiên, các ô vuông đặc biệt hữu ích để so sánh sự lan truyền của dữ liệu phân loại. Đây là cột
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
71 cho mỗi %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
72 trong tập dữ liệu. Nó cho thấy rõ ràng rằng khách hàng trực tuyến và qua điện thoại rất giống nhau, nhưng khách hàng đa kênh có giá trị cao hơn%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
5%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Bạn cũng có thể chuyển đối số
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38 bổ sung cho boxplots. Đây là dữ liệu trên với một đối số %config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38 bổ sung phân chia các ô kênh theo loại ưu đãi. Như bạn có thể thấy, khách hàng được cân đối cẩn thận giữa các loại ưu đãi để thử và đảm bảo chiến dịch tiếp thị tạo ra kết quả hợp lệ%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
7%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3ô vĩ cầm
Biểu đồ vĩ cầm giống như biểu đồ hộp, vì chúng hiển thị phân phối định lượng của dữ liệu. Chiều rộng của biểu đồ vĩ cầm biểu thị số lượng giá trị trong khu vực đó, vì vậy chúng có thể trực quan hơn một chút so với biểu đồ hình hộp để diễn giải
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
9%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Như với boxplot, đó là khi bạn thêm các cột phân loại vào các ô violin mà chúng thực sự trở nên hữu ích. Đây là biểu đồ hiển thị mức độ lan truyền của dữ liệu
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
75 cho mỗi kênh. Điều này cho thấy các kênh trực tuyến và điện thoại gần như giống hệt nhau, nhưng các khách hàng đa kênh có tần suất truy cập gần đây cao hơn nhiềudf = pd.read_csv['data.csv']
df.head[]
1%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Tách âm mưu violon
Với các biểu đồ vĩ cầm, việc thêm đối số
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38 bổ sung xác định một cột phân loại bổ sung sẽ tạo ra một thứ gọi là biểu đồ vĩ cầm tách. Biểu đồ bên dưới hiển thị lần truy cập gần đây theo kênh, nhưng phân chia biểu đồ vĩ cầm theo việc khách hàng có mua hay không. Gần đây dường như tạo ra sự khác biệt lớndf = pd.read_csv['data.csv']
df.head[]
3%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Lô hộp
Cuối cùng, biểu đồ hộp hoặc biểu đồ giá trị chữ cái. Đây là loại giống như sự giao thoa giữa biểu đồ hộp và biểu đồ, vì nó hiển thị dữ liệu được chia thành các lượng tử. Một lần nữa, theo mặc định, chúng hiển thị dải giá trị trong một cột, nhưng có thể rất hữu ích khi thêm một cột khác
df = pd.read_csv['data.csv']
df.head[]
5%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Đây là biểu đồ hình hộp cho các cột kênh và cột lần gần đây, hiển thị hình dạng gần như giống hệt nhau của kênh điện thoại và kênh web cũng như hình dạng khác nhau của khách hàng đa kênh, trong đó có nhiều khách hàng gần đây hơn
df = pd.read_csv['data.csv']
df.head[]
7%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
3Như với các biểu đồ khác, cũng có thể đưa vào một đối số
%config InlineBackend.figure_format = 'retina'
sns.set_context['notebook']
sns.set[rc={'figure.figsize':[15, 6]}]
38 bổ sung để hiển thị một biến phân loại khác. Giống như biểu đồ hộp, đây cũng là một cách hay để hình dung sự hiện diện của các giá trị ngoại lai thường có thể ảnh hưởng đến hiệu suất của mô hình