나는 어떻게 기계 학습을 배웠는가--5주:python과 matplotlib(제1부분)
17193 단어 programmingaimachinelearningpython
디렉토리:
Making a figure with plots in it
matplotlib 가져오기
matplotlib에서 최대값을 얻으려면 가져오기만 할 수 없으며 특수한 줄을 추가해야 합니다.
%matplotlib inline
드로잉 또는 그래픽이 수첩에 표시됩니다(나중에 자세히 설명하겠습니다). 이러한 항목이 없는 경우 일련의 특이한 숫자만 출력됩니다.matplotlib의 주요 기능은 plot입니다. 간단한 x와 y 도형을 표시하는 데 사용됩니다.
네모난 괄호나 다른 추가 줄을 보지 않기 위해서 우리는 ";"을 추가했다.마지막:
그러나 우리가 해야 할 일은 빈 그림을 만드는 것이 아니라 그림의 실제 예를 살펴보자.
3가지 작도 방법
matplotlib에서는 그림을 그리는 방법이 다양하고 사람마다 특정한 목적을 가지지만 추천하는 방법이 가장 간단하다.
plt.plot(x, y)
우리는 이미 보았다.두 번째 방법은 다음과 같다.ax = plt.subplot()
ax.plot(x, y)
동일한 드로잉에 여러 그래프를 표시할 수 있습니다.세 번째 방법은 다음과 같습니다.figure = plt.figure()
axes = fig.add_axes ([5, 10, 15, 20])
ax.plot (x, y)
plt.show()
이 모든 것은 현재 같은 결과를 초래할 것이다.첫 번째 방법과 두 번째 방법은 나중에 결합하여 강력하고 고도로 사용자 정의가 가능한 드로잉을 생성합니다.만약 당신이 그들에 대한 더 많은 정보를 알고 싶다면, 당신은 [이 문제]를 볼 수 있습니다.( https://stackoverflow.com/questions/37970424/what-is-the-difference-between-drawing-plots-using-plot-axes-or-figure-in-matpl )
그림과 그림
matplotlib에는 드로잉과 그래픽 사이의 차이점이 있습니다.
드로잉은 데이터를 표시하는 그래픽일 뿐 그래픽은 드로잉의 컨테이너입니다.이렇게 하면 단일 도면을 사용자정의하면서 동일한 도면에 더 많은 도면을 가질 수 있습니다.
이 모든 것은 Daniel Bourke가 그의 제로에서 교과 과정에 정통한 이미지로 정리한 것이다.
source
여기서 우리는 대상을 대상으로 하는 방법을 소개하여 실제적으로 그림과 하위 그림을 만들 수 있다.
인터넷에서 가장 흔히 볼 수 있는 줄은 다음과 같다.
fig, ax = plt.subplots()
여기에서, 우리는 도형과 axis 대상을 만들고 있습니다.Axis는 캔버스로서 모든 데이터를 배치하고 사용자 정의할 수 있으며 모든 Axis는 하나의 도형에만 속할 수 있습니다.우리는 두 대상에서subplot 함수를 호출합니다. 왜냐하면 이것은 하나를 되돌려주기 때문입니다. tuple
그림% 1개의 캡션을 편집했습니다. 그림% 1개의 캡션을 편집했습니다.
ax.plot(x, y)
이렇게 하면 이전에 본 것과 동일한 그래픽이 표시되며, 현재 그래픽은 사용자 정의가 가능합니다.ax.set(title = "example plot", xlabel = "x_axis", ylabel = "y_axis")
이러한 명령을 통해 우리는 내부에 줄거리가 있는 인물을 창조했다.그러나 프로젝트 종료 시 중요한 기능 중 하나는 savefig입니다.fig.savefig("images/example-figure.png")
일반적인 경우, 이것은 서로 다른 절차를 통해 이루어진 것이지만, 지금은 한 입만 물면 알 수 있다.분산도 그리기
matplotlib의 기초 지식에 대해 충분히 알고 있는 이상 우리는 진실한 숫자를 만들기 시작할 수 있다.우선 우리는 산점도를 볼 것이다.우리는 linspace 함수를 사용하여 그룹을 만들 것입니다.이것은 지정한 간격 내의 등거리 숫자를 되돌려줍니다.50 기본값:
주의, 당신은 [:10] 또는 당신이 원하는 숫자를 사용하여 앞의 10개를 볼 수 있습니다.
다른 드로잉을 수행할 때는 오류를 방지하기 위해 도면을 초기화하고 다시 그려야 합니다.
우리는 x의 지수를 y로 입력하는 것이 아니라
ax.scatter(x, np.exp(x))
를 입력할 수 있었지만, 더욱 명확하게 하기 위해서, 나는 이렇게 하는 것을 더욱 좋아한다.막대그래프를 그리다
matplotlib에서 스트라이프를 그리는 것은 사전으로도 스트라이프를 그릴 수 있다는 것을 알 수 있는 좋은 방법이다.
막대 그래프 그리기
기둥모양도를 설명하는 가장 좋은 방법은randn 함수를 통해 이 함수normal distribution개의 무작위 수를 생성하는 것이다.다음 예는 documentation의 예와 유사하지만 보다 직접적이고 간단합니다.
줄거리가 있는 인물을 만들다
우리가 전에 말했듯이 도형은 그림을 그리는 용기이다. 이제 이 점을 어떻게 하는지 보자.
도형을 만드는 데는 두 가지 선택이 있다.너는 내가 발견한 더욱 읽을 수 있는 내용을 보게 될 것이다. 보통 프로그래밍의 좋은 실천이다.
먼저 드로잉의 모든 값을 정의하여 모든 컨텐트를 보다 선명하게 만듭니다.
np.random.seed(100)
x_first_plot = [5, 10, 100, 200]
y_first_plot = [3, 6, 60, 120]
x_second_plot = np.random.random(15)
y_second_plot = np.random.random(15)
#third plot
new_car_prices = { "Honda civic": 32000,
"BMW": 45000,
"Ferrari": 80000}
x_fourth_plot = np.random.randn(100)
모든 데이터를 설명한 후,shift+enter에 따라 도형을 만들 것입니다. 첫 줄에서:figure, ((first_plot, second_plot), (third_plot, fourth_plot)) = plt.subplots(nrows = 2, ncols = 2, figsize = (12, 6))
여기서 우리가 발표한 숫자와 축.각 축은 별도의 그림입니다.하위 그림은 두 개의 값을 포함하는 원조인 그림과 그림을 되돌려줍니다. 따라서 그림을 만들기 위해서는 함수가 정한 값에 전달해야 합니다.이 예에서 우리는 두 줄("nrows=2")과 두 열("ncols=2")의 도형, 그리고 너비 8, 높이 4의 도형("figsize=(12,6)"이 필요하다.그림 크기의 값은 임의입니다. 그림이 될 그림의 크기를 결정합니다.현재 우리는 우리의 모든 axis를 발표했고, 우리는 그것들 중 하나를 맞춤형으로 만들 수 있다.
first_plot.plot(x_first_plot, y_first_plot);
second_plot.scatter(x_second_plot, y_second_plot);
third_plot.set(title= "car seller prices", ylabel="price ($)");
third_plot.bar(new_car_prices.keys(), new_car_prices.values());
fourth_plot.hist(x_fourth_plot);
이제 우리는 모든 것을 했다. 우리는 최종 결과를 볼 수 있다.실제 상황에서 우리는 더 큰 숫자를 얻을 수 있다. 여기는 작은 화면 캡처이다.
그런 다음 최종 제품이 다음과 유사할 수 있도록 이미지를 작성합니다.
두 번째 숫자 만드는 방법.
도형을 만드는 두 번째 방법은 하나의 수조/매트릭스 그림만 그리고 그의 색인을 사용하여 각종 그림을 인용하는 것이다. 이런 방법은 사용이 비교적 적지만 여전히 중요하다.실제로 그것은 다음과 같이 보인다.
figure, plot = plt.subplots(nrows = 2,
ncols = 2,
figsize = (15, 10))
plot[0, 0].plot(x_first_plot, y_first_plot);
plot[0, 1].scatter(x_second_plot, y_second_plot);
plot[1, 0].set(title= "car seller prices", ylabel="price ($)");
plot[1, 0].bar(new_car_prices.keys(), new_car_prices.values());
plot[1, 1].hist(x_fourth_plot);
이것은 우리가 이미 본 것과 같은 결과를 만들어 낼 것이다.마지막 생각
오늘 우리는 matplotlib의 기초를 보았다.다음 주에 우리는 이 모든 것이 어떻게 판다와 numpy와 함께 진행되는지 보게 될 것이다.
궁금한 사항이 있으면 언제든지 의견을 달아 주십시오.
Reference
이 문제에 관하여(나는 어떻게 기계 학습을 배웠는가--5주:python과 matplotlib(제1부분)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/gabrieleboccarusso/how-i-am-learning-machine-learning-week-5-python-and-matplotlib-part-one-2664텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)