기본 콘텐츠로 건너뛰기

8월, 2022의 게시물 표시

[ML] 결정트리(Decision Tree) 모델

함수의 변화 경향 작성

$\Delta x, \; \Delta y$ 그리기 $\Delta x, \; \Delta y$ 그리기 다음 그림과 같이 곡선 그래프에 대한 일정한 구간에서 x축과 y축에서의 변화량을 나타내기 위한 그림을 작성합니다. 위 그림에서 곡선의 함수는 sympy 패키지를 사용하여 생성합니다. 다음은 $y=x^3$를 생성하기 위한 코드입니다. x=symbols('x') f=x**3; f $\quad \color{navy}{\scriptstyle x^3}$ 이 함수의 그래프를 작성하면 다음과 같습니다. a=np.linspace(-3, 3, 100) b=[float(f.subs(x, i)) for i in a] plt.figure(dpi=100) plt.plot(a, b, label=r'$\mathbf{x^3}$') plt.show() 위 함수에서 소구간들을 구분하고 각 구간에서 다음 그림과 같이 작성합니다. plt.figure(dpi=100) a1=np.linspace(-3, 3, 10) b1=[float(f.subs(x, i)) for i in a] for i in range(1, 10): plt.plot([a1[i-1], a1[i]], [b1[i-1], b1[i-1]]) plt.plot([a1[i], a1[i]], [b1[i-1], b1[i]]) plt.show() 위 두 그래프를 결합하기 위해 다음 함수를 작성합니다. 이 결과는 첫번째 그래프가 됩니다. def deltaFigure(x, x1, func, symbol): x=x y=[float(func.subs(symbol, i)) for i in x] x1=x1 y1=[float(func.subs(symbol, i)) for i in x1] plt.plot(x, y) n=0 for i in range(1, len(x1)): if i==1: plt.p

미분방정식이란?

미분방정식(Differential Equation) 미분방정식이란 미분(Ordinary differential) 및 편미분(Partial differential) 방정식 선형미분방정식(Linear Differential Equations) 암시적/명시적 해(implicity/expliity solution) 미분방정식이란 미분 방정식은 미분을 포함하는 모든 방정식(상미분 또는 편미분)입니다. 모두가 알고 있는 미분 방정식이 하나 있는데, 바로 뉴턴의 운동 제2법칙입니다. 질량이 있는 물체의 경우 중 m은 가속도 a로 움직이고 있고 힘 F가 작용한다면 뉴턴의 제2법칙은 다음과 같이 나타냅니다. $$F=ma$$ 위 식을 미분방정식으로 나타내기 위해 가속도 a를 속도(v)의 미분 또는 위치(u)의 2차 미분 형태로 나타냅니다. $$a=\frac{dv}{dt}\; \text{or} \; a=\frac{d^2u}{dt^2}$$ 힘 F는 시간, 속도, 위치의 함수이므로 다음과 같이 미분항을 포함하는 미분방정식으로 나타낼 수 있습니다. $$ F(t, v)=m\frac{dv}{dt} \tag{1}$$ $$ F\left(t, u, \frac{du}{dt}\right)=m\frac{d^2u}{dt^2} \tag{2}$$ 미분방정식의 차수(order) 는 식 중에 가장 높은 차수로 결정됩니다. 위의 식 중 첫번째는 1차, 두번째 식은 2차 식이 됩니다. 차수는 미분 방정식에 상미분 또는 편도함수가 있는지 여부에 따라 달라지지 않습니다. 미분(Ordinary differential) 및 편미분(Partial differential) 방정식 미분 방정식에 일반적인 미분항(상미분항)을 가지면 상미분 방정식이라고하며 ode 로 축약됩니다. 마찬가지로, 미분 방정식에 편도함수가 있는 경우 미분방정식을 편미분방정식이라고 하며 pde 로 축약됩니다. 위에서 소개한 뉴턴 법칙의 미분방정식은 상미분방

정규분포 그리기

정규분포 (Normal Distribution) 평균이 $\mu$이고 표준편차 $\sigma$인 연속확률변수 x의 확률밀도함수가 다음과 같다면 정규분포를 따릅니다. $$f(x) = \frac{1}{\sigma \sqrt{2 \pi}}\exp\left(-\frac{1}{2}\left[\frac{x-\mu}{\sigma}\right]^2\right), \quad -\infty \lt x \lt \infty $$ import numpy as np import pandas as pd from sympy import * import matplotlib.pyplot as plt sympy를 사용 x,m,s=symbols('x, mu, sigma') fn=1/(s*sqrt(2*pi))*exp(-Rational(1,2)*((x-m)/s)**2) simplify(fn) $\frac{\sqrt{2} e^{- \frac{\left(\mu - x\right)^{2}}{2 \sigma^{2}}}}{2 \sqrt{\pi} \sigma}$ fig, ax=plt.subplots(1, 2, figsize=(15, 4)) a=np.linspace(-6, 6, 100) for j in [-2, 0, 2]: b=[float(fn.subs({x:i, m:j, s:1})) for i in a] ax[0].plot(a, b, label='['+r'$\mu:$'+str(j)+','+r'$\sigma:$'+str(1)+']') ax[0].legend(loc='best') ax[0].set_xlabel("x", size=12, weight="bold") ax[0].set_ylabel("f(x)", size=12, weight="bold") ax[0].spines['left'].set_pos