Python에서 지수 및 로그 곡선 피팅 수행
곡선 피팅은 분석에 광범위하게 사용되는 매우 효율적인 도구입니다. 곡선 피팅 방법은 예측 변수라고도 하는 독립 변수와 응답 변수로 알려진 종속 변수 간의 관계를 연구합니다. 이 방법은 일정량의 데이터 포인트에 가장 적합한 모델을 제공하는 것을 목표로 합니다.
커브 피팅에는 두 가지 유형이 있습니다.
- 대수 곡선 피팅
- 지수 곡선 피팅
이 튜토리얼에서는 Python에서 대수 곡선 피팅과 지수 곡선 피팅을 수행하는 방법을 보여줍니다.
Python에서 대수 및 지수 곡선 피팅에 사용되는 라이브러리 및 모듈
프로그램을 실행하는 데 사용할 수 있는 가능한 라이브러리와 모듈에 대해 논의해 보겠습니다.
넘파이 라이브러리
NumPy
라이브러리에서 사용할 함수는 다음과 같습니다.
array()
- 이 함수는 동일한 유형의 값 집합이고 튜플 형태의 인덱스 값을 갖는NumPy
배열을 생성하는 데 사용됩니다.log()
- 이 함수는 숫자의 자연 로그를 계산하는 데 도움이 되는 수학 연산에 가깝습니다. 그 숫자는 입력 배열 요소의 일부입니다.exp()
- 이 함수는 입력NumPy
배열에 있는 요소의 지수를 계산하는 데 사용되는 수학 연산이기도 합니다.polyfit()
- 이 함수는 다항식 함수의 모든 데이터를 피팅하는 데 도움이 됩니다. 다항식 적합을 최소 제곱합니다.
Matplotlib 라이브러리
Matplotlib
라이브러리는 주로 Python에서 플로팅에 사용됩니다. 이 라이브러리는 일반적으로 Python에서 시각화를 만드는 데 사용됩니다. 이 튜토리얼에서는 pyplot
모듈로 알려진 이 라이브러리의 모듈을 사용합니다.
Matplotlib
라이브러리의 pyplot
모듈은 Matplotlib
라이브러리가 MATLAB처럼 작동하도록 도와주는 오픈 소스 모듈입니다. 이 모듈에는 플롯 영역 생성, 플롯에 레이블 생성 등과 같은 작업을 수행하는 데 도움이 되는 많은 기능이 있습니다.
로그 곡선 피팅
이름에서 알 수 있듯이 대수 방정식이 여기에 표시됩니다. Python에서 대수 곡선 피팅을 수행하는 코드로 직접 이동해 보겠습니다.
import numpy as np
x = np.array([5, 10, 15, 20, 25])
y = np.array([3, 6, 9, 12, 15])
log_x = np.log(x)
log_y = np.log(y)
coefficients = np.polyfit(log_x, y, 1)
print(coefficients)
출력:
[ 7.2647162 -9.64806344]
플로팅하려면 이 프로그램을 따르십시오.
import matplotlib.pyplot as plt
c = 7.26 * log_x - 9.64
plt.plot(log_x, y, "o")
plt.plot(log_x, c)
출력:
위의 프로그램에서 먼저 필요한 라이브러리를 가져옵니다. 그런 다음 두 개의 NumPy
배열을 기본 데이터로 만듭니다. 그런 다음 두 배열에 있는 요소의 로그 값을 계산합니다. x
및 y
배열의 로그 값 모두에 polyfit()
함수를 사용합니다. polyfit()
함수를 사용하여 대수 방정식의 계수가 반환됩니다.
- 계수를 얻은 후 곡선을 그리기 위해 로그 방정식에서 해당 계수를 사용합니다.
- 마지막으로
Matplotlib
라이브러리의pyplot
모듈의plot()
함수를 사용하여 그래프를 플로팅합니다.
지수 곡선 피팅
이름에서 알 수 있듯이 지수 방정식이 여기에 표시됩니다. 파이썬에서 지수 곡선 피팅을 수행할 코드로 직접 뛰어들어 봅시다.
import numpy as np
a = np.array([6, 12, 18, 24, 30])
b = np.array([4, 8, 12, 16, 20])
log_a = np.log(a)
log_b = np.log(b)
coefficients = np.polyfit(a, log_b, 1)
print(coefficients)
출력:
[0.06520038 1.17018581]
플로팅을 위해 따를 수 있는 코드 조각이 있습니다.
c = np.exp(1.17) * np.exp(0.06 * a)
plt.plot(a, b, "o")
plt.plot(a, c)
출력:
대수 곡선 피팅에서와 동일한 절차를 따릅니다. 그러나 여기에서는 로그 함수 대신 지수 함수가 사용됩니다. 따라서 polyfit()
함수에서 반환된 계수는 지수 함수 방정식으로 전달됩니다.
Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.
LinkedIn