파이썬에는 신기한 시각화 도구가 많았다.
사용법 자체는 어렵지 않았고, 내용도 그렇게 많지 않았다.
코드를 바꿔가면서 이것저것 해보느라 시간이 좀 많이 걸렸다.
앞으로 큰 어려움 없이 유용하게 사용할 수 있을 것 같다.
import matplotlib.pyplot as plt
X = range(100)
Y = [value**2 for value in X]
plt.plot(X, Y)
plt.show()
fig = plt.figure() # figure 반환
fig.set_size_inches(10, 5) # 크기 지정(가로, 세로)
ax_1 = fig.add_subplot(1, 2, 1) # (row, column, index)
ax_2 = fig.add_subplot(1, 2, 2) # 두개의 plot 생성
ax_1.plot(X_1, Y_1, c="b") # color까지 설정
ax_2.plot(X_2, Y_2, c="g")
plt.show()
import matplotlib.pyplot as plt
X = range(100)
Y_1 = [value + 50 for value in X]
Y_2 = [value + 100 for value in X]
plt.style.use("ggplot") # 스타일 적용
plt.plot(X, Y_1, c='b', ls='dashed', label='Y1')
plt.plot(X, Y_2, c='r', ls='dotted', label='Y2')
plt.title("$y = \\frac{ax + b}{test}$") # Latex 문법 가능
plt.legend(shadow=True, fancybox=True, loc="lower right") # 범례
plt.show()
import matplotlib.pyplot as plt
import numpy as np
data_1 = np.random.rand(512, 2) # 512 X 2 크기
data_2 = np.random.rand(512, 2)
plt.scatter(data_1[:, 0], data_1[:, 1], c='b', marker='x')
plt.scatter(data_2[:, 0], data_2[:, 1], c='r', marker='^')
plt.show()
import matplotlib.pyplot as plt
import numpy as np
data = [[5., 25., 50., 20.],
[4., 23., 51., 17.],
[6., 22., 52., 19.]]
X = np.arange(4)
plt.bar(X + 0.00, data[0], color='b', width=0.25)
plt.bar(X + 0.25, data[1], color='g', width=0.25)
plt.bar(X + 0.50, data[2], color='r', width=0.25)
plt.xticks(X + 0.25, ("A","B","C","D"))
plt.show()
import matplotlib.pyplot as plt
import numpy as np
X = np.random.randn(1000)
plt.hist(X,bins=100) # 히스토그램을 몇개로 나누냐
plt.show()
import matplotlib.pyplot as plt
import numpy as np
data = np.random.randn(100, 5)
plt.boxplot(data)
plt.show()
40분짜리 강의를 듣는데 3시간이 필요했다.
그런데도 이해를 완벽하게 하지 못했다.
주말동안 통계학도 공부해야겠다.
5/5 Solve
Q) 다음과 같은 표본 X가 있을 때, X의 평균을 구하시오 (정수값으로 입력).
X = {1, 2, 3, 4, 5}
A) 3
(1 + 2 + 3 + 4 + 5) / 5 = 15 / 5 = 3
Q) 다음과 같은 표본 X가 있을 때, X의 표본분산을 구하시오 (소수점 첫째자리까지 입력).
X = {1, 2, 3, 4, 5}
A) 2.5
(4 + 1 + 0 + 1 + 4) / (5 - 1) = 10 / 4 = 2.5
Q) 다음과 같은 표본 X가 있을 때, X의 표본표준편차를 구하시오 (정수로 입력).
X = {2, 4, 6}
A) 2
sqrt{ (4 + 0 + 4) / 2 } = sqrt(8 / 2) = sqrt(4) = 2
Q) 정답 레이블을 one-hot 벡터로 표현한다면 하나의 정답 레이블 벡터의 크기는 1이다.
A) 아니오. (레이블의 길이)
Q) KL(P || Q) 는 KL(Q || P) 와 같다.
A) 아니오. (교환법칙 성립 x)