Python에서 지수 및 로그 곡선 피팅 수행

Lakshay Kapoor 2023년1월30일
  1. Python에서 대수 및 지수 곡선 피팅에 사용되는 라이브러리 및 모듈
  2. 로그 곡선 피팅
  3. 지수 곡선 피팅
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)

출력:

Python의 대수 곡선

위의 프로그램에서 먼저 필요한 라이브러리를 가져옵니다. 그런 다음 두 개의 NumPy 배열을 기본 데이터로 만듭니다. 그런 다음 두 배열에 있는 요소의 로그 값을 계산합니다. xy 배열의 로그 값 모두에 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)

출력:

Python의 지수 곡선

대수 곡선 피팅에서와 동일한 절차를 따릅니다. 그러나 여기에서는 로그 함수 대신 지수 함수가 사용됩니다. 따라서 polyfit() 함수에서 반환된 계수는 지수 함수 방정식으로 전달됩니다.

Lakshay Kapoor avatar Lakshay Kapoor avatar

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

관련 문장 - Python Math