• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

regplot 사용 시 2015.5 와 같은 표현 관련 질문

20.07.26 19:04 작성 조회수 310

2

안녕하세요.

좋은 강의 감사합니다.

3분 강의 내용과 다르게, 저는 regplot 시 년도가 2015.5등으로 나오던데, 어떤 옵션을 바꾸어야 강의와 같이 나누어 떨어지는 년도만 나오고, 데이터가 없는 2013~2014, 2020~2021이 나오게 표현할 수 있나요?

답변 1

답변을 작성해보세요.

3

안녕하세요.

버전이 변경되면서 내부 옵션이 변경된 것 같은데요.

lmplot 의 내부는 scatterplot, regplot 으로 되어 있어요.

scatterplot  은 수치vs수치데이터를 표현하는 것을 기본으로 하고요.

regplot은 수치vs수치 데이터에 대한 회귀선을 그려줍니다.

lmplot은  regplot의 서브플롯을 그려주는 역할을 하게 됩니다.

regplot을 그릴 때 기본 가정은 x, y축이 모두 수치데이터입니다.

하지만 여기에서 "연도"는 숫자로 되어 있지만 "범주형(카테고리)" 형태에 가깝습니다.

그래서 이렇게 범주형 데이터의 scatterplot을 그릴 때는 해당 실습 아래에 있는 swarmplot을 사용합니다.

여기에서 x 축 값에 소숫점이 들어가는 이유는 버전이 변경되면서 x축에 표기되는 값이 변경되었는데요.

소스코드 내부를 보면 x_bins 와 x_estimator 라는 옵션이 있습니다.

x_estimator 옵션을 보면 np.mean으로 label 값을 표현할 때 평균값을 구해서 표현을 하게 되어 있어요.

그런데 평균을 구하다보면 소숫점이 발생하기 때문에 x축에 소숫점이 표현이 된 것이고요.

여기에서 소숫점을 제외하고 그리고자 한다면 가장 간단한 방법은 x_jitter 옵션을 사용하시는 겁니다.

regplot을 그리게 되면 x 축 값이 같기 때문에 하나의 point 에 여러 점이 찍히게 되는데 그러면 여기에 중복이 되어 점이 찍히기 때문에 점의 갯수가 많은지 적은지 확인이 어렵습니다. 그래서 이걸 조금 흩어지게 그리면 빈도수를 함께 표현할 수 있는게 x_jitter 입니다.

해당 값을 조정해 보시면 몰려있는 값을 흩어지게 표현해서 빈도수를 좀 더 자세히 표현해 보실 수 있습니다.

이지현님의 프로필

이지현

2021.11.03

감사합니다 :)