Matplotlib Python에서 NumPy 선형 피팅 플로팅
Suraj Joshi
2022년1월22일
이 튜토리얼에서는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()
출력:
곡선 맞춤을 수행해야하는 데이터의 산점도를 표시합니다. 우리는X
와Y
값 사이에 완벽한 선형 관계가 없음을 알 수 있지만 데이터에서 최상의 선형 근사치를 만들려고 노력할 것입니다.
데이터에 대한 선형 피팅 플로팅
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()
메서드는 데이터에서m
및c
매개 변수를 추정하고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()
출력:
이런 식으로polyfit()
메서드의 세 번째 매개 변수를 2 차 곡선을 데이터에 맞추는 2로 설정하여 데이터에 대한 2 차 플롯을 생성 할 수 있습니다.
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn