참고 도서

본문

개인적으로 데이콘에 참여할 때 고수분들의 코드를 많이 보는데 고수분들은 시각화를 정말 잘 쓰시고 좋아하는 것 같다. 나는 처음에 공부할 때 시각화가 너무 불편했다. 숫자로 보는게 더 빠르고 편한 것 같았다. 하지만 시각화를 할때 편한 점도 많았다. 예를 들어 box plot의 경우에는 이상치를 보기에 너무나 편했다.

또 남에게 이해시킬 때 시각화는 정말 좋은 수단인 것 같다. 시각화를 해주면 숫자에 친하지 않은 사람도 데이터를 한 눈에 알아볼 수 있다. 때문에 고수분들은 우리가 편하라고 시각화를 해주는 것도 있겠다는 생각이 들었다.

히스토그램

히스토그램을 그리는 것은 간단하다.

scores = np.array([42, 69, 56, 41, 57, 48, 65, 49, 65, 58])

데이터가 다음과 같이 주어졌을 때

import matplotlib.pyplot as plt

%matplotlib inline

#(10, 6) 사이즈의 그래프를 그릴 것이다.
fig = plt.figure(figsize=(10, 6))

# 참고로 “add_subplot(2, 3, 4)”는 “2×3 그리드, 네 번째 서브 플롯”을 의미합니다.
ax = fig.add_subplot(1, 1, 1)

#bins = 몇 등분 할 것인지
freq, _, _ = ax.hist(scores, bins=10, range=(0, 100))

ax.set_xlabel('score')
ax.set_ylabel('person num')

#얘도 몇 등분 할 것인지
ax.set_xticks(np.linspace(0, 100, 10+1))
ax.set_yticks(np.arange(0, freq.max()+1))

plt.show()

이런 식으로 써주면 히스토그램을 그릴 수 있다.
이것을 그려주면
다음과 같이 나온다.

상자 그림

box plot도 비슷하다. 거의 동일하다.

fig = plt.figure(figsize=(5, 6))
ax = fig.add_subplot(111)
ax.boxplot(scores, labels=['english'])
plt.show()

print(scores.mean())

요로코롬 작성해주면

이렇게 나온다. 저 맨위와 맨 아래 선을 넘어가면 이상치로 분류한다. 이 데이터에서는 이상치가 없다는 것이다. 그리고 가운데 평균과 비슷한 수치이다.

profile
안알랴줌

1개의 댓글

comment-user-thumbnail
2022년 2월 11일

통계분석 잘 모르지만 재밌어보이네요!

답글 달기