단변량 분석 - 숫자형

if

  • 20명의 나이 데이터 가 존재 한다고 보자 한눈에 파악할려면 무엇을 해야 할까요?

숫자형 변수 정리 방법

대푯값 으로 요약하기

  • mean : 평균 / 산술 평균 / 기하 평균 / 조화 평균
  • median : 자료의 순서상 가운데 위치한 값
  • mode(최빈값) : 자료중에 가장 빈번한 값
  • 사분위수

조화 평균

  • 분자가 동일한 두 비율이 평균
    2/(1/a+1/b)=2ab/a+b2/(1/a + 1/b) = 2ab / a+b

대푯값 구하는 방법

  • numpy 를 이용한 방법도 있고 pandas 로도 구할수 있다.

평균

np.mean(titanic['Fare'])

titanic['Fare'].mean()

중앙값

np.median(titanic['Fare'])

titanic['Fare'].median()

최빈값

titanic['Pclass'].mode()

사분위수

  • 데이터를 오름차순으로 정렬한 후 전체를 4등분 하고 경계값을 부여한다
  • 경계 값은 (25% , 50% , 75% ) 을 의미한다.

구간을 나누고 빈도수 구하기

  • ex) 나이
  • 10대 / 20대 / 30대 / 40대
  • 빈도수를 구해본다 (cut)
  • 이러한 도수분포표 라고 부른다

기초 통계량 시각화

  • 기초 통계량은 -> describe()

  • box plot : 사분위수

  • histogram : 도수분포표

histogram

  • 연속된 숫자형 데이터의 분포를 알기 위해서 사용하는 그래프
  • barplot 이랑 헷갈리면 안된다.
  • 주의 할점은 bins 를 적절하게 조절 안하면 내용이 달라진다
  • tip ) 최소와 최대값을 보고 나누기 쉬운 단위로 나누고 서서히 늘리는것이 좋다
plt.hist(titanic.Fare , bins = 30 , edgecolor = 'gray')
plt.xlabel('Fare')
plt.ylabel('Frequency')

plt.show()

  • hist 함수에 그래프를 넣을 데이터를 변수명으로 넣고 bins 는 구간별 간격

seaborn 의 histogram

sns.histplot(x= 'Fare', data = titanic, bins = 20)
plt.show()

밀도함수(kde plot)

  • 히스토그램은 구간의 너비를 어떻게 잡는지에 따라 전혀 모량이 다를수 있다
  • 막대의 너비를 가정하지 않고 모든 점에서 데이터의 밀도를 추정하는 커널 밀도 추정 방식을 사용하여 이러한 단덤을 해결
  • 밀도함수 그래프 아래 면적은 1
sns.kedplot(titanic['Fare'])
plt.show()

boxplot

  • 사전에 반드시 NaN 을 제외

  • vert 옵션 : 횡(False) , 종 (True)

  • 박스 플롯은 box 와 whisker (수염) 으로 구성되어있다.

  • box는 = 4분위수를 나타낸다.

  • 양 끝에 맨 처음은 min 맨 끝값이 max 이다.

IQR
3사분위수 - 1사분위수 사이 범위를 IQR 이라고 부른다.

1.5 *IQR

  • 1.5를 곱한 값의 길이에서 양쪽 수염의 길이를 측정 할수 있다
  • 1.5 * IQR 안에서 가장 작은값과 가장 큰값이 수염의 길이이다.
  • 수염 밖에 데이터 가 있다면 -> 이상치 라고 한다.
plt.boxplot(temp['Age']) # vert 기본이 True
plt.grid()
plt.show()

plt.boxplot(temp['Age'] , vert = False) # 가로로 누워서 그려라 vert = False
plt.grid()
plt.show()

sns.boxplot(x = titanic['Age'])
plt.grid()
plt.show()

  • sns.boxplot 은 nan 값을 신경 안써도 된다. (자동으로 삭제해줌)
sns.boxplot(y = titanic['Age'])
plt.grid()
plt.show()

profile
개발자 되고 싶어요

0개의 댓글

Powered by GraphCDN, the GraphQL CDN