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"] )

소득과 행복관계 예측선


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

댓글 없음:

댓글 쓰기

css cheat sheet 클래스 선택자, margin(마진), display , center 조정 간단한 구성 요소

 앞에서는 html의 간단한 sheet를 소개 하였습니다.   html은  주로 골격을 나타나는 것이라, 디자인을 하는데는 css로 하여야 합니다.  아래 코드와 같이 css 관련 하여 매우 간단하게 코딩 하겠습니다.  body 부분의 css 코딩  ...