- NumPy - 수학/과학 연산을 위한 파이썬 패키지
- NumPy 기초
- NumPy 어레이 만들기
- NumPy 어레이 출력하기
- NumPy 기본 연산
- NumPy 범용 함수 (ufunc)
- NumPy 인덱싱/슬라이싱/이터레이팅
- NumPy 어레이 형태 다루기
- NumPy 난수 생성 (Random 모듈)
- NumPy 다양한 함수들
- numpy.absolute
- numpy.add
- numpy.allclose
- numpy.amax
- numpy.amin
- numpy.append
- numpy.arange
- numpy.arccos
- numpy.arccosh
- numpy.arcsin
- numpy.arcsinh
- numpy.arctan
- numpy.arctanh
- numpy.argmax
- numpy.argsort
- numpy.around
- numpy.array_equal
- numpy.array_split
- numpy.array
- numpy.cbrt
- numpy.ceil
- numpy.clip
- numpy.concatenate
- numpy.copy
- numpy.cos
- numpy.cosh
- numpy.cumsum
- numpy.deg2rad
- numpy.delete
- numpy.digitize
- numpy.divide
- numpy.dot
- numpy.dsplit
- numpy.empty_like
- numpy.empty
- numpy.equal
- numpy.exp
- numpy.exp2
- numpy.expm1
- numpy.fabs
- numpy.fix
- numpy.floor_divide
- numpy.floor
- numpy.full_like
- numpy.full
- numpy.greater_equal
- numpy.greater
- numpy.hsplit
- numpy.identity
- numpy.insert
- numpy.isclose
- numpy.less_equal
- numpy.less
- numpy.linspace
- numpy.loadtxt
- numpy.log
- numpy.log1p
- numpy.log2
- numpy.log10
- numpy.matmul
- numpy.mean
- numpy.mod
- numpy.multiply
- numpy.ndarray.astype
- numpy.ndarray.flatten
- numpy.ndarray.shape
- numpy.negative
- numpy.nonzero
- numpy.not_equal
- numpy.ones_like
- numpy.ones
- numpy.polyfit
- numpy.positive
- numpy.power
- numpy.prod
- numpy.rad2deg
- numpy.random.rand
- numpy.random.randint
- numpy.random.randn
- numpy.random.seed
- numpy.random.standard_normal
- numpy.reciprocal
- numpy.remainder
- numpy.repeat
- numpy.reshape
- numpy.rint
- numpy.round_
- numpy.savetxt
- numpy.set_printoptions
- numpy.sign
- numpy.sin
- numpy.sinh
- numpy.split
- numpy.sqrt
- numpy.square
- numpy.std
- numpy.subtract
- numpy.sum
- numpy.take
- numpy.tan
- numpy.tanh
- numpy.tile
- numpy.transpose
- numpy.tril
- numpy.triu
- numpy.true_divide
- numpy.trunc
- numpy.var
- numpy.vsplit
- numpy.where
- numpy.zeros_like
- numpy.zeros
- NumPy 상수
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
numpy.polyfit¶
numpy.polyfit 함수는 주어진 데이터에 대해 최소 제곱을 갖는 다항식 피팅 (least squares polynomial fit)을 반환합니다.
예제1¶
import numpy as np
x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z = np.polyfit(x, y, 3)
print(z)
[ 0.08703704 -0.81349206 1.69312169 -0.03968254]
주어진 데이터 어레이 x와 y에 대한 다항식 피팅 데이터를 얻어보겠습니다.
np.polyfit() 함수에 피팅할 데이터 x, y를 입력해주고 다항식의 차수를 지정해줍니다.
3차 다항식의 계수를 반환합니다.
p = np.poly1d(z)
y_fit = p(x) # [p(0.0), p(1.0), p(2.0), p(3.0), p(4.0), p(5.0)]
print(y)
print(y_fit)
[ 0. 0.8 0.9 0.1 -0.8 -1. ]
[-0.03968254 0.92698413 0.78888889 0.06825397 -0.71269841 -1.03174603]
numpy.poly1d 객체를 사용하면 다항식을 편리하게 다룰 수 있습니다.
x 값에 대한 y 값들과 3차 다항식 피팅을 통해 얻은 값들을 출력합니다.
예제2¶
import matplotlib.pyplot as plt
import numpy as np
x = np.array([0.0, 1.0, 2.0, 3.0, 4.0, 5.0])
y = np.array([0.0, 0.8, 0.9, 0.1, -0.8, -1.0])
z = np.polyfit(x, y, 3)
p = np.poly1d(z)
xp = np.linspace(-2, 6, 100)
_ = plt.plot(x, y, '.', xp, p(xp), '-')
plt.ylim(-2, 2)
plt.show()
matplotlib을 이용해서 그래프로 나타내보겠습니다.
pyplot.plot() 함수에 x, y 데이터를 입력하고, 마커와 선의 종류를 지정해주었습니다.
결과는 아래와 같습니다.
이전글/다음글
이전글 : numpy.ones
다음글 : numpy.positive