Machine Learning in Action ch.9.5 ~ 9.7 Regression Tree
9.5 모델 트리
각각의 단말 노드를 간단한 상수 값으로 처리하는 것처럼 데이터를 모델링하는 방법으로 각각의 단말 노드에 구간별로 선현 모델을 적용하는 모델링 방법이 있다.
구간별 선형이란 여러가지 선형적인 부분들로 구성된 모델을 의미한다.
의사결정 트리가 다른 기계학습 알고리즘보다 좋은 것은 결과를 이애하기 쉽기 때문이다.
여러 개의 직선은 상수 값으로 이루어진 큰 트리보다 해석하기 쉽다.
def linearSolve(dataSet): #helper function used in two places
m,n = shape(dataSet)
X = mat(ones((m,n))); Y = mat(ones((m,1)))#create a copy of data with 1 in 0th postion
X[:,1:n] = dataSet[:,0:n-1]; Y = dataSet[:,-1]#and strip out Y
xTx = X.T*X
if linalg.det(xTx) == 0.0:
raise NameError('This matrix is singular, cannot do inverse,\n\
try increasing the second value of ops')
ws = xTx.I * (X.T * Y)
return ws,X,Y
def modelLeaf(dataSet):#create linear model and return coeficients
ws,X,Y = linearSolve(dataSet)
return ws
def modelErr(dataSet):
ws,X,Y = linearSolve(dataSet)
yHat = X * ws
return sum(power(Y - yHat,2))
9.6 파이썬에서 GUI를 생성하기 위해 Tkinter 사용하기
기계 학습은 이해하기 어려운 데이터에서 정보를 추출해 내는 몇 가지 강력한 도구를 제공한다. 사람들이 이해하기 쉬운 방법으로 제공할 수 있다는 것이다.
책에서 간추리다보니 너무 정보가 부족하다..
그냥 따로 라이브러리를 공부하는 편이 맘 편하고 좋겠다..
댓글
댓글 쓰기