Matplotlib Python에서 NumPy 선형 피팅 플로팅

Suraj Joshi 2022년1월22일
Matplotlib Python에서 NumPy 선형 피팅 플로팅

이 튜토리얼에서는numpy.polyfit()메서드를 사용하여 주어진 데이터에 곡선을 맞추고 Matplotlib 패키지를 사용하여 곡선을 표시하는 방법을 설명합니다.

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 1.5, 4, 2.5, 6, 4, 3, 5.5, 5, 2]
y = [3, 4, 8, 4.5, 10, 5, 15, 9, 5, 16, 13, 3]

plt.scatter(x, y)
plt.title("Scatter Plot of the data")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

출력:

곡선 피팅을위한 데이터의 Matplotlib 산점도

곡선 맞춤을 수행해야하는 데이터의 산점도를 표시합니다. 우리는XY 값 사이에 완벽한 선형 관계가 없음을 알 수 있지만 데이터에서 최상의 선형 근사치를 만들려고 노력할 것입니다.

데이터에 대한 선형 피팅 플로팅

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 1.5, 4, 2.5, 6, 4, 3, 5.5, 5, 2]
y = [3, 4, 8, 4.5, 10, 5, 15, 9, 5, 16, 13, 3]

plt.scatter(x, y, color="red")
plt.title("Scatter Plot of the data")
plt.xlabel("X")
plt.ylabel("Y")

linear_model = np.polyfit(x, y, 1)
linear_model_fn = np.poly1d(linear_model)
x_s = np.arange(0, 7)
plt.plot(x_s, linear_model_fn(x_s), color="green")

plt.show()

출력:

데이터에 대한 선형 피팅 플로팅

여기서 우리는 y=m*x+c형식의 방정식으로 주어진 데이터를 근사하려고합니다. polyfit()메서드는 데이터에서mc 매개 변수를 추정하고poly1d()메서드는 이러한 계수에서 방정식을 만듭니다. 그런 다음 녹색의 직선으로 표시되는plot()메서드를 사용하여 그림의 방정식을 플로팅합니다.

이 예에서는polyfit()메서드에서 세 번째 인수로1이 있으므로 데이터에 선형 방정식을 적합합니다. 더 높은 차수의 곡선을 데이터에 맞추기 위해 매개 변수의 다른 값을 실험 할 수도 있습니다.

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 1.5, 4, 2.5, 6, 4, 3, 5.5, 5, 2]
y = [3, 4, 8, 4.5, 10, 5, 15, 9, 5, 16, 13, 3]

plt.scatter(x, y, color="red")
plt.title("Scatter Plot of the data")
plt.xlabel("X")
plt.ylabel("Y")

linear_model = np.polyfit(x, y, 2)
linear_model_fn = np.poly1d(linear_model)
x_s = np.arange(0, 7)
plt.plot(x_s, linear_model_fn(x_s), color="green")

plt.show()

출력:

데이터에 대한 2 차 피팅 플로팅

이런 식으로polyfit()메서드의 세 번째 매개 변수를 2 차 곡선을 데이터에 맞추는 2로 설정하여 데이터에 대한 2 차 플롯을 생성 할 수 있습니다.

작가: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn