Vẽ biểu đồ xác suất Python

Biểu đồ Matplotlib được sử dụng để trực quan hóa phân bố tần số của mảng số bằng cách chia nó thành các thùng nhỏ có kích thước bằng nhau. Trong bài viết này, chúng tôi khám phá các kỹ thuật thực tế cực kỳ hữu ích trong việc phân tích và vẽ sơ đồ dữ liệu ban đầu của bạn.

Nội dung

  1. một biểu đồ là gì?
  2. Làm cách nào để vẽ biểu đồ cơ bản trong python?
  3. Biểu đồ được nhóm theo danh mục trong cùng một cốt truyện
  4. Biểu đồ được nhóm theo danh mục trong các ô con riêng biệt
  5. Seaborn Histogram và Density Curve trên cùng một biểu đồ
  6. Biểu đồ và Đường cong mật độ trong các khía cạnh
  7. Sự khác biệt giữa Biểu đồ và Biểu đồ thanh
  8. Thực hành tập thể dục
  9. Phần kết luận

1. Biểu đồ là gì?

Biểu đồ là biểu đồ phân bố tần số của mảng số bằng cách chia nó thành các ngăn nhỏ có kích thước bằng nhau

Nếu bạn muốn phân chia toán học một mảng đã cho thành các thùng và tần số, hãy sử dụng phương thức numpy

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
3 và in đẹp như bên dưới

import numpy as np
x = np.random.randint[low=0, high=100, size=100]

# Compute frequency and bins
frequency, bins = np.histogram[x, bins=10, range=[0, 100]]

# Pretty Print
for b, f in zip[bins[1:], frequency]:
    print[round[b, 1], ' '.join[np.repeat['*', f]]]

Đầu ra của đoạn mã trên trông như thế này

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *

Tuy nhiên, biểu diễn ở trên sẽ không thực tế trên các mảng lớn, trong trường hợp đó, bạn có thể sử dụng biểu đồ matplotlib

2. Làm cách nào để vẽ biểu đồ cơ bản trong python?

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
4 trong matplotlib cho phép bạn vẽ biểu đồ. Nó yêu cầu mảng là đầu vào bắt buộc và bạn có thể chỉ định số lượng thùng cần thiết

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
Biểu đồ

3. Biểu đồ được nhóm theo danh mục trong cùng một cốt truyện

Bạn có thể vẽ nhiều biểu đồ trong cùng một ô. Điều này có thể hữu ích nếu bạn muốn so sánh phân phối của một biến liên tục được nhóm theo các danh mục khác nhau

Hãy sử dụng bộ dữ liệu kim cương từ gói ggplot2 của R

import pandas as pd
df = pd.read_csv['//raw.githubusercontent.com/selva86/datasets/master/diamonds.csv']
df.head[]
Bảng kim cương

Hãy so sánh phân phối của

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
5 cho 3 giá trị khác nhau của
10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
6 trong cùng một ô

x1 = df.loc[df.cut=='Ideal', 'depth']
x2 = df.loc[df.cut=='Fair', 'depth']
x3 = df.loc[df.cut=='Good', 'depth']

kwargs = dict[alpha=0.5, bins=100]

plt.hist[x1, **kwargs, color='g', label='Ideal']
plt.hist[x2, **kwargs, color='b', label='Fair']
plt.hist[x3, **kwargs, color='r', label='Good']
plt.gca[].set[title='Frequency Histogram of Diamond Depths', ylabel='Frequency']
plt.xlim[50,75]
plt.legend[];
Đa biểu đồ

Chà, các bản phân phối cho 3 lần cắt khác nhau là khác nhau rõ rệt. Nhưng kể từ đó, số lượng điểm dữ liệu nhiều hơn đối với việc cắt giảm

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
7, nó chiếm ưu thế hơn

Vậy, làm thế nào để vừa chấn chỉnh giai cấp thống trị mà vẫn giữ được tính riêng biệt của các bản phân phối?

Bạn có thể chuẩn hóa nó bằng cách thiết lập

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
8 và
10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
9. Bằng cách này, tổng diện tích dưới mỗi phân phối trở thành 1

import numpy as np
x = np.random.randint[low=0, high=100, size=100]

# Compute frequency and bins
frequency, bins = np.histogram[x, bins=10, range=[0, 100]]

# Pretty Print
for b, f in zip[bins[1:], frequency]:
    print[round[b, 1], ' '.join[np.repeat['*', f]]]
2
Đa biểu đồ 2

4. Biểu đồ được nhóm theo danh mục trong các ô con riêng biệt

Các biểu đồ có thể được tạo dưới dạng các khía cạnh bằng cách sử dụng

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
0

Dưới đây tôi vẽ một biểu đồ của

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
5 cho mỗi loại của
10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
6. Thật thuận tiện để làm điều đó trong một vòng lặp for

import numpy as np
x = np.random.randint[low=0, high=100, size=100]

# Compute frequency and bins
frequency, bins = np.histogram[x, bins=10, range=[0, 100]]

# Pretty Print
for b, f in zip[bins[1:], frequency]:
    print[round[b, 1], ' '.join[np.repeat['*', f]]]
6
Các khía cạnh biểu đồ

5. Seaborn Histogram và Density Curve trên cùng một biểu đồ

Nếu bạn muốn có cả biểu đồ và mật độ trong cùng một ô, gói seaborn [được nhập dưới dạng

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
3] cho phép bạn thực hiện điều đó thông qua
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
4. Vì seaborn được xây dựng trên matplotlib, nên bạn có thể sử dụng lần lượt
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
3 và
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
6

Nhận khóa học Python hoàn chỉnh miễn phí

Đối mặt với tình huống tương tự như những người khác?

Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị

Nhận khóa học Python hoàn chỉnh miễn phí

Xây dựng sự nghiệp khoa học dữ liệu của bạn với bằng cấp được ngành công nhận trên toàn cầu. Có được tư duy, sự tự tin và các kỹ năng khiến Nhà khoa học dữ liệu trở nên có giá trị

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
1
Mật độ biểu đồ

6. Biểu đồ và Đường cong mật độ trong các khía cạnh

Ví dụ dưới đây cho thấy cách vẽ biểu đồ và mật độ [

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
7] trong các khía cạnh

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
3
Các khía cạnh mật độ biểu đồ

7. Sự khác biệt giữa Biểu đồ và Biểu đồ thanh

Một biểu đồ được vẽ trên các mảng lớn. Nó tính toán phân phối tần số trên một mảng và tạo biểu đồ từ nó

Mặt khác, biểu đồ thanh được sử dụng khi bạn đã cho cả X và Y và có số điểm dữ liệu hạn chế có thể được hiển thị dưới dạng thanh

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
4
Diamonds_Cut
10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
0
Barplots

8. Thực hành tập thể dục

Tạo mật độ sau trên tập dữ liệu

import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
8 của
import matplotlib.pyplot as plt
%matplotlib inline
plt.rcParams.update[{'figure.figsize':[7,5], 'figure.dpi':100}]

# Plot Histogram on x
x = np.random.normal[size = 1000]
plt.hist[x, bins=50]
plt.gca[].set[title='Frequency Histogram', ylabel='Frequency'];
9 trên Jupyter Notebook của bạn

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
1 Hiển thị giải pháp

10.0 * * * * * * * * *
20.0 * * * * * * * * * * * * *
30.0 * * * * * * * * *
40.0 * * * * * * * * * * * * * * *
50.0 * * * * * * * * *
60.0 * * * * * * * * *
70.0 * * * * * * * * * * * * * * * *
80.0 * * * * *
90.0 * * * * * * * * *
100.0 * * * * * *
2

Biểu đồ mống mắt

9. Tiếp theo là gì

Xin chúc mừng nếu bạn có thể tái tạo cốt truyện

Bạn có thể quan tâm đến hướng dẫn matplotlib, 50 biểu đồ matplotlib hàng đầu và các hướng dẫn vẽ biểu đồ khác

bài viết liên quan

  1. Ô con Matplotlib
  2. 50 trực quan hóa Matplotlib hàng đầu
  3. Hướng dẫn Matplotlib
  4. Matplotlib Pyplot
  5. Biểu đồ Matplotlib
  6. Biểu đồ thanh trong Python
  7. Biểu đồ hộp trong Python

Selva Prabhakaran

Selva là Tác giả chính và Biên tập viên của Machine Learning Plus, với hơn 4 triệu độc giả. Anh ấy là tác giả của các khóa học và sách với hơn 100 nghìn sinh viên và là Nhà khoa học dữ liệu chính của một công ty toàn cầu

Bạn có thể vẽ biểu đồ bằng Python không?

Nếu bạn có kiến ​​thức cơ bản đến trung cấp về Python và số liệu thống kê, thì bạn có thể sử dụng bài viết này như một điểm dừng duy nhất để xây dựng và vẽ biểu đồ trong Python bằng cách sử dụng các thư viện từ khoa học của nó. . .

Biểu đồ xác suất là gì?

Biểu đồ xác suất đại diện cho cơ hội . Khu vực phía trên khoảng thời gian lớp biểu thị cơ hội cho khoảng thời gian lớp đó. • Ví dụ. tung hai con xúc xắc và nhìn vào tổng số điểm.

Làm cách nào để vẽ đường cong phân phối chuẩn trên biểu đồ trong Python?

Để vẽ cái này, chúng ta sẽ sử dụng. .
ngẫu nhiên. phương pháp normal[] để tìm phân phối bình thường của dữ liệu. Nó có ba tham số. .
Hàm hist[] trong mô-đun Pyplot của thư viện Matplotlib được sử dụng để vẽ biểu đồ. Nó có các thông số như. dữ liệu. Tham số này là một chuỗi dữ liệu

Làm cách nào để vẽ biểu đồ phân phối tần số trong Python?

MatPlotLib với Python .
Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô con
Tạo một hình và một tập hợp các ô con
Tạo dữ liệu dạng bảng hai chiều, có thể thay đổi kích thước, có khả năng không đồng nhất
Trả về một Sê-ri chứa số lượng giá trị duy nhất
Để hiển thị hình, sử dụng phương thức show[]

Chủ Đề