matplotlib 그래프 그리기 scatterplot 산점도 소득과 행복간의 관계

 matplotlib 는 통계적으로 분석 할 수 있는 그래프가  있다. 대표적인 것이  scatterplot 산점도이다.  산점도는 변수간의 관계성이 있는지에 관한 이야기이다.    아래는 소득과 행복간의 관계를 따지는 산점도를 그릴 것이다. 

산점도 (Scaaterplot)
  1) 선형 산점도
    산점도를 그리는 목적은 각 변수간의 상관도를 보기 위함이다.  산점도의 분포가 넒게 퍼저 있다면,  상관도가 낮은 것이고,  선형으로 좁게 모여 있으면, 상관도가 높은 것이다. 

데이터의 관계성을 보기 위해 산점도를 보는데,  특히 회귀 분석을 할때, 데이터의 상관도를 보고 그래프를 그린 것이다. 

   아래의 샘플 데이터는 회귀 분석 샘플 데이터 예제로 소득과 행복과의 관계를 나타낸 것이다.  그래프를 보았을때,  과연 상관관계가 높을까?

아래와 같이 pandas, seaborm, matplotib.pypot 모듈을 import 한다. 

# pandas, seaborn, matplotlib.pypot import

import pandas as pd

import seaborn as sns

import matplotlib.pyplot as plt

df = pd.read_csv('https://docs.google.com/uc?export=download&id=1np9xoiOEVg-aVk7lfvmJ7Z-QAWUQB2du')


데이터 구조를 본다.  shape는 행과 열을 볼 수 있다. 

df.shape

(498, 2)


데이터를 head 함수를 이용해서 본다.

df.head()

데이터 셋 소득과 행복간의 관계

산점도를 matplotlib의 scatter 함수를 이용하여 산점도를 그린다. 아래의 코드는 매우 직관적인데, x라벨을 붙이고 싶으면 xlabel, y라벨을 붙이고 싶으면 ylablel을 이용한다.


# matplotlib로 산점도 그리기

plt.scatter(df["income"],df["happiness"])

plt.xlabel('income')

plt.ylabel('happiness')

plt.show()

[산점도] 행복과 소득관계

seaborn에서는 regplot함수를 이용해서 산점도(sctterplot)를 그릴 수 있다. 아래에 데이터 프레임에서 특정 필드를 불러 보고 싶다면 df["필드명"]을 사용하면 된다. 이것은 매우 간단하게 그릴 수 있고, 예측 곡선도 같이 볼 수 있다.


# seaborn regplot 함수를 이용해서 산점도(scatterplot) 그리기

sns.regplot(x= df["income"], y = df["happiness"] )

소득과 행복관계 예측선


예측선의  색을 바꾸거나 오차 범위를 바꾸어 가면서 그래프를 그릴 수 있다. 

댓글 없음:

댓글 쓰기

공무 스케줄 AI Agem에 대한 생각

     지금 상황이 아비 규환이다.  어느 부서든 회사가 인수 합병되고 나서  투자를 기획하는 경영기획이 특히 않이 정신이 없고, 우리부서도 전부 미국 필리 조선소로 인원이 나가 있어,  사실상 10년 이상 고기량자는 거의 없다.   우리부서에 남아...