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 |
모델을 저장해주는 예약어 입니다. |
옵션 |
*알고리즘 옵션
이름 |
설명 |
기본값 |
---|---|---|
maxIter |
학습 반복 수 |
100 |
regParam |
정규화 계수 값 |
0.0 |
elasticNetParam |
정규화 함수 타입으로 |
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]+)