내용

글번호 321
작성자 heojk
작성일 2017-02-10 14:04:03
제목 pyspark에서 numpy를 이용한 다중선형 회귀분석 소스코드
내용 import numpy as np import numpy.linalg as lin # X 매트릭스 만들기, 독립변수들을 X로 놓는다. X = np.array(jeju2.select('IN','OUT').collect()) # Y 벡터 만들기, 종속변수를 Y로 놓는다. Y = np.array(jeju2.select('INCOME').collect()) ## 회귀모형 적합 # 상수가 없는 모형 Beta0 = np.dot(lin.inv(np.dot(X.T,X)),np.dot(X.T,Y)) # 상수가 있는 모형 X1 = np.hstack([np.array([np.ones(36)]).T,X]) Beta1 = np.dot(lin.inv(np.dot(X1.T,X1)),np.dot(X1.T,Y)) ## 결정계수 # 결정계수 #R0 상수항이 없는 모형은 약 93% 설명, R1 상수항이 있는 모형은 94% 설명 R0 = np.sum((np.dot(X,Beta0)-np.mean(Y))**2)/np.sum((Y-np.mean(Y))**2) R1 = np.sum((np.dot(X1,Beta1)-np.mean(Y))**2)/np.sum((Y-np.mean(Y))**2) # 수정된 결정계수 adR0 = 1-(1-R0)*(36-1)/(36-2-1) adR1 = 1-(1-R1)*(36-1)/(36-3-1.)
첨부파일 다중선형회귀분석.txt (880byte)