Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python


Tương quan là một dấu hiệu về những thay đổi giữa hai biến. Trong các chương trước của chúng tôi, chúng tôi đã thảo luận về các hệ số tương quan Pearson, và tầm quan trọng của mối tương quan. Chúng ta có thể vẽ ma trận tương quan để hiển thị biến nào có mối tương quan cao hoặc thấp đối với biến khác.

Thí dụ

Trong ví dụ sau, tập lệnh Python sẽ tạo ra và âm mưu ma trận tương quan cho bộ dữ liệu tiểu đường Ấn Độ PIMA. Nó có thể được tạo ra với chức năng trợ giúp của Corr () trên Pandas DataFrame và được vẽ với sự trợ giúp của pyplot.

from matplotlib import pyplot
from pandas import read_csv
import numpy
Path = r"C:\pima-indians-diabetes.csv"
names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class']
data = read_csv(Path, names = names)
correlations = data.corr()
fig = pyplot.figure()
ax = fig.add_subplot(111)
cax = ax.matshow(correlations, vmin=-1, vmax=1)
fig.colorbar(cax)
ticks = numpy.arange(0,9,1)
ax.set_xticks(ticks)
ax.set_yticks(ticks)
ax.set_xticklabels(names)
ax.set_yticklabels(names)
pyplot.show()

Đầu ra

Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python

Từ đầu ra ở trên của ma trận tương quan, chúng ta có thể thấy rằng nó là đối xứng, tức là phía dưới bên trái giống như trên cùng bên phải. Nó cũng được quan sát thấy rằng mỗi biến có mối tương quan tích cực với nhau.

Machine_Learning_With_Python_Undermed_Data_With_Visualization.htm


Ma trận tương quan

Một ma trận là một mảng các số được sắp xếp theo hàng và cột.

Một ma trận tương quan chỉ đơn giản là một bảng hiển thị các hệ số tương quan giữa các biến.

Ở đây, các biến được biểu diễn trong hàng đầu tiên và trong cột đầu tiên:

Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python

Bảng trên đã sử dụng dữ liệu từ bộ dữ liệu sức khỏe đầy đủ.

Observations:

  • Chúng tôi quan sát thấy rằng thời lượng và calo_burnage có liên quan chặt chẽ, với hệ số tương quan là 0,89. Điều này có ý nghĩa khi chúng ta tập luyện càng lâu, chúng ta càng đốt cháy nhiều calo
  • Chúng tôi quan sát thấy rằng hầu như không có mối quan hệ tuyến tính giữa trung bình_pulse và calo_burnage (hệ số tương quan là 0,02)
  • Chúng ta có thể kết luận rằng trung bình_pulse không ảnh hưởng đến calo_burnage không? Không. Chúng tôi sẽ quay lại để trả lời câu hỏi này sau!

Ma trận tương quan trong Python

Chúng ta có thể sử dụng hàm corr() trong Python để tạo ma trận tương quan. Chúng tôi cũng sử dụng hàm round() để làm tròn đầu ra vào hai số thập phân:

Thí dụ

Corm
print(Corr_Matrix)

Hãy tự mình thử »

Output:

Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python



Sử dụng một bản đồ nhiệt

Chúng ta có thể sử dụng bản đồ nhiệt để hình dung mối tương quan giữa các biến:

Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python

Hệ số tương quan càng gần với 1, hình vuông càng xanh.

Hệ số tương quan càng gần -1, các hình vuông hơn.


Sử dụng Seaborn để tạo bản đồ nhiệt

Chúng ta có thể sử dụng Thư viện Seaborn để tạo bản đồ nhiệt tương quan (Seaborn là một thư viện trực quan dựa trên matplotlib):

Thí dụ

Corm
import seaborn as sns

Hãy tự mình thử »

Sử dụng một bản đồ nhiệt
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)

plt.show()

Hãy tự mình thử »

Sử dụng một bản đồ nhiệt

  • Chúng ta có thể sử dụng bản đồ nhiệt để hình dung mối tương quan giữa các biến:
  • Hệ số tương quan càng gần với 1, hình vuông càng xanh.
  • Hệ số tương quan càng gần -1, các hình vuông hơn.
  • Sử dụng Seaborn để tạo bản đồ nhiệt
  • Chúng ta có thể sử dụng Thư viện Seaborn để tạo bản đồ nhiệt tương quan (Seaborn là một thư viện trực quan dựa trên matplotlib):
  • Nhập matplotlib.pyplot dưới dạng pltimport seeborn như SNS


Bước 1: Thu thập dữ liệu. ....

  • Bước 2: Tạo một khung dữ liệu bằng gấu trúc. .... larger the magnitude, stronger the correlation.
  • Bước 3: Tạo một ma trận tương quan bằng gấu trúc. .... if positive, there is a regular correlation. If negative, there is an inverse correlation.

Bướ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 ..

  1. Làm thế nào để bạn tìm thấy hệ số tương quan của một ma trận trong Python?
  2. Hệ số tương quan Pearson có thể được tính toán trong Python bằng phương pháp CorrCoef () từ Numpy. Đầu vào cho hàm này thường là một ma trận, nói về kích thước MXN, trong đó: mỗi cột đại diện cho các giá trị của một biến ngẫu nhiên. Mỗi hàng đại diện cho một mẫu duy nhất của n biến ngẫu nhiên.

Tại sao chúng ta cần ma trận tương quan trong học máy?

Một ma trận tương quan là một bảng cho thấy các hệ số tương quan giữa các biến. Mỗi ô trong bảng cho thấy mối tương quan giữa hai biến. Một ma trận tương quan được sử dụng để tóm tắt dữ liệu, như là một đầu vào vào phân tích nâng cao hơn và là một chẩn đoán cho các phân tích nâng cao.

Ví dụ 1: Giả sử một cửa hàng kem theo dõi tổng doanh số của kem so với nhiệt độ vào ngày hôm đó.Suppose an ice cream shop keeps track of total sales of ice creams versus the temperature on that day.

Python3

import numpy as np

x

[[1.         0.95750662]
 [0.95750662 1.        ]]
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
1
[[1.         0.95750662]
 [0.95750662 1.        ]]
2
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
4
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
6
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
8
[[1.         0.95750662]
 [0.95750662 1.        ]]
3__

Các

Dataframe is : 
    x   y   z
0  45  38  10
1  37  31  15
2  42  26  17
3  35  28  21
4  39  33  12
Correlation matrix is :
          x         y         z
x  1.000000  0.518457 -0.701886
y  0.518457  1.000000 -0.860941
z -0.701886 -0.860941  1.000000
7
[[1.         0.95750662]
 [0.95750662 1.        ]]
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
1
Correlation Matrix is : 
                     AVG temp C  Ice Cream production
AVG temp C              1.000000              0.718032
Ice Cream production    0.718032              1.000000
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
3____422

[[1.        0.5298089]
 [0.5298089 1.       ]]
6corr()3
[[1.         0.95750662]
 [0.95750662 1.        ]]
3corr()5
[[1.         0.95750662]
 [0.95750662 1.        ]]
3corr()7
[[1.         0.95750662]
 [0.95750662 1.        ]]
3corr()9
[[1.         0.95750662]
 [0.95750662 1.        ]]
3round()1
[[1.         0.95750662]
 [0.95750662 1.        ]]
3round()3round()4

round()5

[[1.         0.95750662]
 [0.95750662 1.        ]]
0 round()7

round()8round()9

Đầu ra

[[1.         0.95750662]
 [0.95750662 1.        ]]

Từ ma trận trên, nếu chúng ta thấy ô (0,1) và (1,0) đều có cùng giá trị bằng 0,95750662 khiến chúng ta kết luận rằng bất cứ khi nào nhiệt độ cao, chúng ta có doanh số cao hơn.

Ví dụ 2: Giả sử chúng ta được cho mức glucose ở cậu bé tương ứng với tuổi. Tìm mối tương quan giữa tuổi (x) và mức glucose trong cơ thể (y).Suppose we are given glucose level in boy respective to age. Find correlation between age(x) and glucose level in body(y).

Python3

import numpy as np

x

[[1.         0.95750662]
 [0.95750662 1.        ]]
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
1
[[1.         0.95750662]
 [0.95750662 1.        ]]
2
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
4
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
6
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
8
[[1.         0.95750662]
 [0.95750662 1.        ]]
3__

Các

round()5

[[1.         0.95750662]
 [0.95750662 1.        ]]
0 round()7

round()8round()9

Đầu ra

[[1.        0.5298089]
 [0.5298089 1.       ]]

Từ ma trận trên, nếu chúng ta thấy ô (0,1) và (1,0) đều có cùng giá trị bằng 0,95750662 khiến chúng ta kết luận rằng bất cứ khi nào nhiệt độ cao, chúng ta có doanh số cao hơn.

Ví dụ 2: Giả sử chúng ta được cho mức glucose ở cậu bé tương ứng với tuổi. Tìm mối tương quan giữa tuổi (x) và mức glucose trong cơ thể (y).

x

[[1.         0.95750662]
 [0.95750662 1.        ]]
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
1import5
[[1.         0.95750662]
 [0.95750662 1.        ]]
3import77____13import9
[[1.         0.95750662]
 [0.95750662 1.        ]]
3numpy as np1
[[1.         0.95750662]
 [0.95750662 1.        ]]
3numpy as np3______13____855

Dataframe is : 
    x   y   z
0  45  38  10
1  37  31  15
2  42  26  17
3  35  28  21
4  39  33  12
Correlation matrix is :
          x         y         z
x  1.000000  0.518457 -0.701886
y  0.518457  1.000000 -0.860941
z -0.701886 -0.860941  1.000000
7
[[1.         0.95750662]
 [0.95750662 1.        ]]
0
[[1.         0.95750662]
 [0.95750662 1.        ]]
1x 0
[[1.         0.95750662]
 [0.95750662 1.        ]]
3x 2 ____13____94
[[1.         0.95750662]
 [0.95750662 1.        ]]
3x 6
[[1.         0.95750662]
 [0.95750662 1.        ]]
3x 8____13
[[1.         0.95750662]
 [0.95750662 1.        ]]
00round()4

Python3

Từ ma trận tương quan ở trên, 0,5298089 hoặc 52,98% có nghĩa là biến có mối tương quan tích cực vừa phải.

Phương pháp 2: Tạo ma trận tương quan bằng Thư viện Pandas & NBSP;

[[1.         0.95750662]
 [0.95750662 1.        ]]
12
[[1.         0.95750662]
 [0.95750662 1.        ]]
13
[[1.         0.95750662]
 [0.95750662 1.        ]]
14
[[1.         0.95750662]
 [0.95750662 1.        ]]
15
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
17
[[1.         0.95750662]
 [0.95750662 1.        ]]
3numpy as np1
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
21
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
23
Dataframe is : 
    x   y   z
0  45  38  10
1  37  31  15
2  42  26  17
3  35  28  21
4  39  33  12
Correlation matrix is :
          x         y         z
x  1.000000  0.518457 -0.701886
y  0.518457  1.000000 -0.860941
z -0.701886 -0.860941  1.000000
6

Để tạo một ma trận tương quan cho một bộ dữ liệu nhất định, chúng tôi sử dụng phương thức Corr () trên DataFrames.

[[1.         0.95750662]
 [0.95750662 1.        ]]
12
[[1.         0.95750662]
 [0.95750662 1.        ]]
39
[[1.         0.95750662]
 [0.95750662 1.        ]]
14
[[1.         0.95750662]
 [0.95750662 1.        ]]
41
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
43
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
45
[[1.         0.95750662]
 [0.95750662 1.        ]]
3import7
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
49round()4

[[1.         0.95750662]
 [0.95750662 1.        ]]
51

Ví dụ 1:

round()8

[[1.         0.95750662]
 [0.95750662 1.        ]]
64
[[1.         0.95750662]
 [0.95750662 1.        ]]
65
[[1.         0.95750662]
 [0.95750662 1.        ]]
66

round()8

[[1.         0.95750662]
 [0.95750662 1.        ]]
68

import

[[1.         0.95750662]
 [0.95750662 1.        ]]
08

round()8

[[1.         0.95750662]
 [0.95750662 1.        ]]
64
[[1.         0.95750662]
 [0.95750662 1.        ]]
74
[[1.         0.95750662]
 [0.95750662 1.        ]]
66

round()8round()9

 Output:Output:

Dataframe is : 
    x   y   z
0  45  38  10
1  37  31  15
2  42  26  17
3  35  28  21
4  39  33  12
Correlation matrix is :
          x         y         z
x  1.000000  0.518457 -0.701886
y  0.518457  1.000000 -0.860941
z -0.701886 -0.860941  1.000000

[[1.         0.95750662]
 [0.95750662 1.        ]]
09____10
[[1.         0.95750662]
 [0.95750662 1.        ]]
11

[[1.         0.95750662]
 [0.95750662 1.        ]]
12
[[1.         0.95750662]
 [0.95750662 1.        ]]
26
[[1.         0.95750662]
 [0.95750662 1.        ]]
14
[[1.         0.95750662]
 [0.95750662 1.        ]]
28
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
30
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
32
[[1.         0.95750662]
 [0.95750662 1.        ]]
3
[[1.         0.95750662]
 [0.95750662 1.        ]]
34__

Hướng dẫn correlation matrix python machine learning - ma trận tương quan học máy python

Python3

Từ ma trận tương quan ở trên, 0,5298089 hoặc 52,98% có nghĩa là biến có mối tương quan tích cực vừa phải.

Phương pháp 2: Tạo ma trận tương quan bằng Thư viện Pandas & NBSP;

round()8

[[1.         0.95750662]
 [0.95750662 1.        ]]
68

import

[[1.         0.95750662]
 [0.95750662 1.        ]]
08

round()8

[[1.         0.95750662]
 [0.95750662 1.        ]]
64
[[1.         0.95750662]
 [0.95750662 1.        ]]
92
[[1.         0.95750662]
 [0.95750662 1.        ]]
66

round()8round()9

Output:

Correlation Matrix is : 
                     AVG temp C  Ice Cream production
AVG temp C              1.000000              0.718032
Ice Cream production    0.718032              1.000000

Ma trận tương quan trong học máy là gì?

Một ma trận là một mảng các số được sắp xếp theo hàng và cột. Một ma trận tương quan chỉ đơn giản là một bảng hiển thị các hệ số tương quan giữa các biến. Ở đây, các biến được biểu diễn trong hàng đầu tiên và trong cột đầu tiên: Bảng trên đã sử dụng dữ liệu từ tập dữ liệu sức khỏe đầy đủ.a table showing the correlation coefficients between variables. Here, the variables are represented in the first row, and in the first column: The table above has used data from the full health data set.

Làm thế nào để bạn thực hiện một ma trận tương quan trong Python?

Các bước để tạo một ma trận tương quan bằng gấu trúc..
Bước 1: Thu thập dữ liệu. ....
Bước 2: Tạo một khung dữ liệu bằng gấu trúc. ....
Bước 3: Tạo một ma trận tương quan bằng gấu trúc. ....
Bướ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 ..

Làm thế nào để bạn tìm thấy hệ số tương quan của một ma trận trong Python?

Hệ số tương quan Pearson có thể được tính toán trong Python bằng phương pháp CorrCoef () từ Numpy.Đầu vào cho hàm này thường là một ma trận, nói về kích thước MXN, trong đó: mỗi cột đại diện cho các giá trị của một biến ngẫu nhiên.Mỗi hàng đại diện cho một mẫu duy nhất của n biến ngẫu nhiên.using corrcoef() method from Numpy. The input for this function is typically a matrix, say of size mxn , where: Each column represents the values of a random variable. Each row represents a single sample of n random variables.

Tại sao chúng ta cần ma trận tương quan trong học máy?

Một ma trận tương quan là một bảng cho thấy các hệ số tương quan giữa các biến.Mỗi ô trong bảng cho thấy mối tương quan giữa hai biến.Một ma trận tương quan được sử dụng để tóm tắt dữ liệu, như là một đầu vào vào phân tích nâng cao hơn và là một chẩn đoán cho các phân tích nâng cao.to summarize data, as an input into a more advanced analysis, and as a diagnostic for advanced analyses.