Để tạo ma trận tương quan bằng Pandas:
df.corr()Tiếp theo, bạn sẽ thấy một ví dụ với các bước để tạo ma trận tương quan cho một bộ dữ liệu nhất định.
Bước 1: Thu thập dữ liệu
Đầu tiên, thu thập dữ liệu sẽ được sử dụng cho ma trận tương quan.
Để minh họa, hãy để sử dụng dữ liệu sau đây về 3 biến:
Một | B | C |
45 | 38 | 10 |
37 | 31 | 15 |
42 | 26 | 17 |
35 | 28 | 21 |
39 | 33 | 12 |
Bước 2: Tạo một khung dữ liệu bằng gấu trúc bằng cách sử dụng gấu trúc
Tiếp theo, hãy tạo một khung dữ liệu để ghi dữ liệu trên trong Python:
import pandas as pd data = {'A': [45, 37, 42, 35, 39], 'B': [38, 31, 26, 28, 33], 'C': [10, 15, 17, 21, 12] } df = pd.DataFrame(data) print(df)Khi bạn chạy mã, bạn sẽ nhận được DataFrame sau:
A B C 0 45 38 10 1 37 31 15 2 42 26 17 3 35 28 21 4 39 33 12Bước 3: Tạo ma trận tương quan bằng cách sử dụng gấu trúc
Bây giờ, hãy tạo một ma trận tương quan bằng cách sử dụng mẫu này:
df.corr()Đây là mã Python hoàn chỉnh mà bạn có thể sử dụng để tạo ma trận tương quan cho ví dụ của chúng tôi:
import pandas as pd data = {'A': [45, 37, 42, 35, 39], 'B': [38, 31, 26, 28, 33], 'C': [10, 15, 17, 21, 12] } df = pd.DataFrame(data) corr_matrix = df.corr() print(corr_matrix)Chạy mã trong Python và bạn sẽ nhận được ma trận sau:
A B C A 1.000000 0.518457 -0.701886 B 0.518457 1.000000 -0.860941 C -0.701886 -0.860941 1.000000Bước 4 (Tùy chọn): Nhận biểu diễn trực quan của ma trận tương quan bằng cách sử dụng Seaborn và Matplotlib
Bạn có thể sử dụng các gói SeaBorn và Matplotlib để có được biểu diễn trực quan của ma trận tương quan.
Đầu tiên, nhập các gói Seaborn và Matplotlib:
import seaborn as sn import matplotlib.pyplot as pltSau đó, thêm cú pháp sau ở dưới cùng của mã:
sn.heatmap(corr_matrix, annot=True) plt.show()Vì vậy, mã Python hoàn chỉnh sẽ trông như thế này:
import pandas as pd import seaborn as sn import matplotlib.pyplot as plt data = {'A': [45, 37, 42, 35, 39], 'B': [38, 31, 26, 28, 33], 'C': [10, 15, 17, 21, 12] } df = pd.DataFrame(data) corr_matrix = df.corr() sn.heatmap(corr_matrix, annot=True) plt.show()Bạn cũng có thể muốn xem lại nguồn sau giải thích các bước để tạo ma trận nhầm lẫn bằng Python. Ngoài ra, bạn có thể kiểm tra hướng dẫn này về việc tạo một ma trận hiệp phương sai trong Python.
Ngạc nhiên khi thấy không ai đề cập đến các lựa chọn thay thế có khả năng, tương tác và dễ sử dụng hơn.
A) Bạn có thể sử dụng Plotly:
Chỉ cần hai dòng và bạn nhận được:
interactivity,
quy mô trơn tru,
Màu sắc dựa trên toàn bộ dữ liệu thay vì các cột riêng lẻ,
Tên cột & chỉ số hàng trên trục,
Phóng to,
panning,
Khả năng một cú nhấp chuột tích hợp để lưu nó dưới dạng định dạng PNG,
auto-scaling,
so sánh về di chuột,
Bong bóng hiển thị các giá trị để HeatMap vẫn có vẻ tốt và bạn có thể thấy các giá trị bất cứ nơi nào bạn muốn:
B) Bạn cũng có thể sử dụng Bokeh:
Tất cả các chức năng giống nhau với một chút rắc rối. Nhưng vẫn đáng giá nếu bạn không muốn chọn tham gia vào âm mưu và vẫn muốn tất cả những điều này:
import pandas as pd data = {'A': [45, 37, 42, 35, 39], 'B': [38, 31, 26, 28, 33], 'C': [10, 15, 17, 21, 12] } df = pd.DataFrame(data) print(df) 0