산점도 (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"] )
소득과 행복관계 예측선 |
댓글 없음:
댓글 쓰기