본문 바로가기
파이썬/파이썬기본문법

파이썬 판다스 데이터 상관관계

by flycoding 2024. 1. 26.
반응형

파이썬 판다스 관계 찾기

Pandas 모듈의 가장 큰 특징은 corr() 방식이다.

corr() 메소드는 데이터 집합의 각 열 사이의 관계를 계산한다.

 

 

Duration Pulse Maxpulse Calories
60 110 130 409.1
60 117 145 479
60 103 135 340
45 109 175 282.4
45 117 148 406
60 102 127 300
60 110 136 374
45 104 134 253.3
30 109 133 195.1
60 98 124 269
60 103 147 329.3
60 100 120 250.7
60 106 128 345.3
60 104 132 379.3
60 98 123 275
60 98 120 215.2
60 100 120 300
45 90 112
60 103 123 323
45 97 125 243
60 108 131 364.2
45 100 119 282
60 130 101 300
45 105 132 246
60 102 126 334.5
60 100 120 250
60 92 118 241
60 103 132
60 100 132 280
60 102 129 380.3
60 92 115 243
45 90 112 180.1
60 101 124 299
60 93 113 223
60 107 136 361
60 114 140 415
60 102 127 300
60 100 120 300
60 100 120 300
45 104 129 266
45 90 112 180.1
60 98 126 286
60 100 122 329.4
60 111 138 400
60 111 131 397
60 99 119 273
60 109 153 387.6
45 111 136 300
45 108 129 298
60 111 139 397.6
60 107 136 380.2
80 123 146 643.1
60 106 130 263
60 118 151 486
30 136 175 238
60 121 146 450.7
60 118 121 413
45 115 144 305
20 153 172 226.4
45 123 152 321
210 108 160 1376
160 110 137 1034.4
160 109 135 853
45 118 141 341
20 110 130 131.4
180 90 130 800.4
150 105 135 873.4
150 107 130 816
20 106 136 110.4
300 108 143 1500.2
150 97 129 1115
60 109 153 387.6
90 100 127 700
150 97 127 953.2
45 114 146 304
90 98 125 563.2
45 105 134 251
45 110 141 300
120 100 130 500.4
270 100 131 1729
30 159 182 319.2
45 149 169 344
30 103 139 151.1
120 100 130 500
45 100 120 225.3
30 151 170 300
45 102 136 234
120 100 157 1000.1
45 129 103 242
20 83 107 50.3
180 101 127 600.1
45 107 137
30 90 107 105.3
15 80 100 50.5
20 150 171 127.4
20 151 168 229.4
30 95 128 128.2
25 152 168 244.2
30 109 131 188.2
90 93 124 604.1
20 95 112 77.7
90 90 110 500
90 90 100 500
90 90 100 500.4
30 92 108 92.7
30 93 128 124
180 90 120 800.3
30 90 120 86.2
90 90 120 500.3
210 137 184 1860.4
60 102 124 325.2
45 107 124 275
15 124 139 124.2
45 100 120 225.3
60 108 131 367.6
60 108 151 351.7
60 116 141 443
60 97 122 277.4
60 105 125
60 103 124 332.7
30 112 137 193.9
45 100 120 100.7
60 119 169 336.7
60 107 127 344.9
60 111 151 368.5
60 98 122 271
60 97 124 275.3
60 109 127 382
90 99 125 466.4
60 114 151 384
60 104 134 342.5
60 107 138 357.5
60 103 133 335
60 106 132 327.5
60 103 136 339
20 136 156 189
45 117 143 317.7
45 115 137 318
45 113 138 308
20 141 162 222.4
60 108 135 390
60 97 127
45 100 120 250.4
45 122 149 335.4
60 136 170 470.2
45 106 126 270.8
60 107 136 400
60 112 146 361.9
30 103 127 185
60 110 150 409.4
60 106 134 343
60 109 129 353.2
60 109 138 374
30 150 167 275.8
60 105 128 328
60 111 151 368.5
60 97 131 270.4
60 100 120 270.4
60 114 150 382.8
30 80 120 240.9
30 85 120 250.4
45 90 130 260.4
45 95 130 270
45 100 140 280.9
60 105 140 290.8
60 110 145 300
60 115 145 310.2
75 120 150 320.4
75 125 150 330.4

 

열 사이의 관계를 표시한다:

import pandas as pd

df = pd.read_csv('data.csv')

print(df.corr())

위의 코드를 실행하면 아래 그림과 같다.

파이썬 판다스 데이터 상관관계 corr() 함수 활용 예제

 

corr() 메소드의 결과는 두 열 사이의 관계가 얼마나 양호한지를 나타내는 숫자가 많은 표이다.

숫자는 -1부터 1까지 다양하다.

1은 1 대 1의 관계(완벽한 상관 관계)가 있음을 의미하며, 이 데이터 집합의 경우 첫 번째 열에서 값이 올라갈 때마다 다른 값도 함께 상승한다.

0.9도 좋은 관계이고, 하나의 값을 증가시키면 다른 값도 증가할 것이다.

-0.9는 0.9만큼 좋은 관계일 것이지만, 한 값을 높이면 다른 값은 아마도 내려갈 것이다.

0.2는 좋은 관계가 아님을 의미하며, 한 값이 올라간다고 해서 다른 값이 올라가는 것은 아니다.

좋은 상관관계란 무엇인가? 용도에 따라 다르지만, 적어도 0.6(또는 -0.6)은 있어야 좋은 상관관계라고 해도 무방할 것 같이다.

 

완벽한 상관관계

우리는 "Duration"과 "Duration"이 1.000000이라는 숫자를 얻었음을 알 수 있는데, 각 열은 항상 자신과 완벽한 관계를 가지고 있다.

 

좋은 상관관계

'Duration'과 'Calories'는 상관관계가 0.922721로 매우 좋은 상관관계를 나타내데, 운동을 오래 할수록 칼로리를 소모하게 되고, 반대로 칼로리를 많이 소모하게 되면 아마 운동을 오래 했을 것이라고 예측할 수 있다.

 

나쁜 상관관계

"Duration"과 "Maxpulse"는 0.009403의 상관관계를 얻었는데, 이것은 매우 나쁜 상관관계이다. 즉, 운동 기간만 보고는 최대 펄스를 예측할 수 없으며, 그 반대의 경우도 마찬가지이다.

 

이번 글에서는 파이썬 판다스 모듈에서 데이터 상관관계를 알아보는 방법에 대해서 실습해 보았다.

파이썬 판다스에 데이터 상관관계를 알기 위해서는 corr() 메소드를 실습하였고, 그 결과를 분석하여 완벽한 상관관계, 좋은 상관관계, 나쁜 상관관계 등의 의미를 유추하고 해석하는 실습을 하였다.

꼭 손으로 눈으로 머리로 익히며 실습하기를 바란다.

모두 화이팅입니다.!!!

 

출처 : 이 글의 출처는 w3schools사이트를 참고하였으며 필자가 추가하여 정리한 글입니다.

반응형

댓글