파이썬 분류기 그래프를 그리려고 합니다.

조회수 933회

아래 코드에 어떤 코드를 추가하면 밑에 있는 그래프와 같은 그래프가 나올수 있을까요? 참고로 분류기 학습입니다. 이미지

# simple_classification_machine_book.py
import numpy as np
def p(uu):
    return 1/(1+np.exp(-uu))
def Dp(uu):
    return (np.exp(-uu)/(1+np.exp(-uu)))**2
def E(yy,tt):
    return np.sum(0.5*(yy-tt)**2)/5
x=np.array([[-2],[-1],[0],[1],[2]]);
t=np.array([[0],[0],[1],[1],[1]])
w=np.random.random();w0=np.random.random()
Tol=1.0e-5;Resid=2*Tol;eta=0.1;MaxIter=1.0e6;n=1
u=w0+w*x;y=p(u);E1=E(y,t)
print('y(0)=(%f,%f,%f,%f,%f)'%tuple(y))
print('E(y,t)=%f'%(E1))
while Resid>=Tol and n<MaxIter:
    for i in range(0,len(x)):
        u[i]=w0+w*x[i]
        y[i]=p(u[i])
        dEdw0=(y[i]-t[i])*Dp(u[i])
        dEdw=(y[i]-t[i])*Dp(u[i])*x[i]
        w0=w0-eta*dEdw0
        w=w-eta*dEdw
    u=w0+w*x; y=p(u)
    E2=E(y,t)
    Resid=abs(E2-E1)
    E1=E2; n=n+1
    if np.mod(n,100)==0:
        print('y(%d)='%(n),'(%f,%f,%f,%f,%f)'%tuple(y))
        print('E(y,t)=%f'%(E1))
print('y(%d)='%(n),'(%f,%f,%f,%f,%f)'%tuple(y))
print('E(y,t)=%f'%(E1))
  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)