#1에서는 리스트와 클래스, numpy에 대해서 알아보았다.
하지만, 우리는 1장의 마지막 내용을 안 했기에 지금 하려고 한다.
딥러닝에 있어서 가장 중요한 것은 성능평가이다.
내가 아무리 좋은 성능을 지니고 있는 모델을 만들었다지만, 이를 어떻게 평가하겠는가?
바로 그래프 그리기와 데이터 시각화이다.
1장의 마지막 내용으로는 그래프는 그려주는 라이브러리 matplotlib이다.
단순한 그래프 그리기
그래프를 그리려면 matplotlib에서의 pyplot 모듈을 사용해야 한다.
바로 sin 함수를 그려보자.
변수 x는 np.arange(0, 10, 0.1)이라고 나타내었다. 이 뜻은 넘 파이의 arange 메소드로 넘파이 배열로 [0, 0.1, 0.2 ... 9.9, 10.0] 을 만드는 것을 의미한다. x축을 만들었으니, 이제는 y축을 만들어야 한다. 그래서 y는 np.sin(x)로 나타내었다. 이러면 x값 하나하나를 sin함수에 넣어서 넘파이 배열식으로 y값을 나열시킬 수 있다.
x와 y를 선언했으니, 이제 plt.plot(x,y)로 x, y를 그래프로 그리면 된다.
마지막으로 plt.show()로 그래프를 화면에 출력하여 시각화하면 마무리된다.
2차원 그래프에서 가장 중요한 x,y 선언 이후, plt.plot으로 그래프를 그린 뒤 이를 화면에 표출해주는 plt.show를 중요시해야겠다.
방금 해온 작업은 sin함수를 나타내는 것이였다. sin함수가 그려졌으면 이 그래프에 cos함수도 추가해보고 싶지 않은가?그리고 서로가 구별이 되도록 나타내고 싶을 것이다.
pyplot의 기능
방금 그려본 그래프에 cos함수도 추가로 그려볼 것이다.
아까는 y값이 np.sin(x) 하나였다. 하지만, sin함수와 cos함수를 동시에 나타내려면 y1과 y2로 나타내어 두가지의 y변수를 만들어야 한다.
sin함수를 나타낼때는 단순히 sin그래프만 나오니 그래프에 따로 설명은 필요 없었으나, 동시에 sin함수와 cos함수가 나오게 하려면 서로 어떤 그래프인지 구별은 되게끔 해야 한다. 이때 필요한 매개변수로 label이다.
8번째 줄과 같이 label = "sin"이라는 매개변수를 추가로 입력하여 (x, y1)의 그래프가 sin그래프이고,
y2는 sin함수와 다른 선으로 나타내기 위해 linestyle="--"로 점선으로 나타내기위한 매개변수를 추가해주면서, label = "cos"를 입력하여 (x, y2)의 그래프가 cos그래프라고 나타내었다.
이후의 내용들은 직관적으로 알 수 있을 것이고, plt.legend는 어떤 선이 cos이고 sin인지를 알려줄 수 있는 표지판 역할을 해주는 것이다.
위와 같이 코드를 쓰면 다음과 같은 그래프가 나온다.
이렇게 해서 1장 내용을 끝마쳤다. 2장부터는 머신러닝의 기본중의 기본인 퍼셉트론에 대해서 알아볼 것이다.
인공신경망의 구조를 위한 기초를 2장부터 설명된다.
수고~!
'밑바닥부터 시작하는 딥러닝' 카테고리의 다른 글
밑바닥부터 시작하는 딥러닝 #1 (0) | 2021.07.11 |
---|