linearRegression

개요

지도학습을 하는 선형회귀 알고리즘입니다.

설명

지도학습을 하는 선형회귀 알고리즘입니다.

Example

집값에 대한 샘플데이터 입니다.

crim(범죄율) age(연식) tax(세금) medv(집값)
0.671909988 90.30000305 307 16.60000038
1.002449989 87.30000305 307 21
8.055789948 95.40000153 666 13.80000019

fit으로 LinearRegression을 적용해 feature와 label의 선형 상관관계를 모델링하는 명령어 예제입니다.

crim, age, tax을 feature로, medv을 label로 학습하고 modelA로 저장합니다. (옵션은 100번 반복, feature 표준화입니다.)

* | fit linearregression FEATURES crim, age, tax LABEL medv maxIter=100 standardization=True INTO modelA
features estimate coefficientStandardErrors space meanAbsoluteError rootMeanSquaredError r2
intercept 33.470874208 0.050606818157

5.6438527876 7.8910514027 0.26239019966
crim -0.17025122296 0.014574116347

None None None
age -0.057344502576 0.0028028265109

None None None
tax -0.015653811458 1.1493026629

None None None

predict로 modelA에 샘플 데이터를 다시 넣어 예측하는 명령어 예제입니다.

* | predict modelA crim, age, tax
crim age tax medv prediction
0.671909988 90.30000305 307 16.60000038 23.372551835
1.002449989 87.30000305 307 21 23.488310504
8.055789948 95.40000153 666 13.80000019 21.022852399

fit_predict로 LinearRegression을 적용해 feature와 label의 선형 상관관계를 모델링 후 예측하는 명령어 예제입니다.

* | fit_predict linearregression features lstat,tax LABEL medv maxIter=100 standardization=True INTO modelA

Parameters

SparkLinearRegression_command : FEATURES fields LABEL l_field params INTO model
이름 설명 필수/옵션
FEATURES fields 학습에 사용될 특징 column을 입력 받습니다. 필수
LABEL l_field 학습에 사용될 라벨 column을 입력 받습니다. 필수
params *알고리즘 옵션을 지정해줍니다. 필수
INTO model 모델을 저장해주는 예약어 입니다.
경로 (/B-IRIS/USERS/dani/ML/)에 모델, 모델 메타 데이터가 저장됩니다.
예 : into modelA
옵션

*알고리즘 옵션

이름 설명 기본값
maxIter 학습 반복 수 100
regParam 정규화 계수 값 0.0
elasticNetParam 정규화 함수 타입으로 0.0~1.0의 범위
1.0에 가까울수록 ‘L1’ 타입, 0.0에 가까울수록 ‘L2’ 타입
0.0
fitintercept 훈련 데이터에 대한 증간된 표현을 사용할지 안 할지 정해주는 Boolean (편향을 학습에 사용할지 안 할지) True
tol 최적화 함수에 대한 반복 수렴 오차 값. 1e-06
standardization 모델 fitting 전에 training 특징들을 표준화 해줄지 안 해줄지 정합니다. False
solver 최적화 알고리즘을 정합니다. (Normal, l-bfgs, auto) auto

Parameters BNF

SparkLinearRegression_command : FEATURES fields LABEL l_field params INTO_model
fields : field
       | fields COMMA field
field : WORD
      | TIMES
      | MINUS WORD
l_field : WORD
params : param
       | params param
       |
param : WORD EQUALS WORD
      | WORD EQUALS DOUBLE
      | WORD EQUALS LBRACKET words RBRACKET
      | WORD EQUALS LBRACKET doubles RBRACKET
words : WORD
      | words COMMA WORD
doubles : DOUBLE
        | doubles COMMA DOUBLE
INTO_model : INTO WORD
           |

WORD = \w+
COMMA = \,
FEATURES = FEATURES | features
LABEL = LABEL | label
INTO = INTO
EQUALS = \=
TIMES = \*
MINUS = -
LBRACKET = \[
RBRACKET = \]
DOUBLE = [-+]?[0-9]+(\.([0-9]+)?([eE][-+]?[0-9]+)?|[eE][-+]?[0-9]+)