머신러닝 R을 통한 선형 회귀
3526 단어 기계 학습
R에서lm 명령을 사용하여 선형 회귀 분석을 할 수 있습니다.
lm(モデル関数、学習用データ)
목적: Tyrosine에 따라 카펫의 나이를 예측한다.1. 데이터 세트 읽기
#データセットの読み込み
> carpet.data<-read.csv("http://www.stat.ufl.edu/~winner/data/carpet_age.csv", header=TRUE)
# 最後の2行は年齢が入ってないため削除
> carpet.data<-carpet.data[1:(nrow(carpet.data)-2),]
sample_id:絨毯ID
age:絨毯年齢
cys_acid: Cysteic Acidのレベル ※システイン酸
met:Methoionineのレベル ※メチニオン
tyr: Tyrosineのレベル ※チロシン
2. 분류기(머신러닝 모드) 만들기
y = a + bx
age = a + b*tyr
# carpet.model.lm1にモデルオブジェクトが保存される
> carpet.model.lm1 <- lm(age ~ tyr, carpet.data)
3. 예측치 얻기
모델 대상(carpet.model.lm1)과 데이터(carpet.data)를 바탕으로 예측치를 계산하여 결과를 계산한다.predicted.Im1 열에 저장합니다.
predit 함수를 통해 예측치를 얻다.
> carpet.data$age.predicted.lm1 <- predict(carpet.model.lm1,carpet.data)
#予測値を確認
> head(carpet.data$age.predicted.lm1)
[1] 1772.335 1772.335 1682.160 1652.101 1652.101 1591.985
4. 결과 시각화
> plot(x=carpet.data$tyr, y=carpet.data$age)
> points(x=carpet.data$tyr, y=carpet.data$age.predicted.lm1,col="red")
> abline(a=carpet.model.lm1$coefficients[1],b=carpet.model.lm1$coefficients[2],col="blue")
#以下でも同じ結果が得られる
> abline(carpet.model.lm1,col="blue")
예측치는age=a+b×tyr에 기재되어 있다.
모델 예측이 순조롭다면 빨간색 선(기울기 1, 슬라이스 0에 가까운 선)에 그립니다.
> plot(x=carpet.data$age,y=carpet.data$age.predicted.lm1)
> abline(a=0,b=1,col="red")
5. 추정 정밀도의 검증
확정 계수는 종종 정량으로 모델에서 정밀도를 예측하는 지표로 사용된다.
다음 함수를 통해 확정 계수를 계산할 수 있다. 목표 변수의 측정 값과 예측 값은 매개 변수이다.
※ 계수를 모형의 정밀도로 결정
다음 함수를 통해 확정 계수를 계산할 수 있다. 목표 변수의 측정 값과 예측 값은 매개 변수이다.
> coef.det <- function(measured, predicted){
1-sum((measured-predicted)^2) / sum((measured-mean(measured))^2)
}
#モデルの決定係数を上記関数を使って求める
> coef.det(carpet.data$age,carpet.data$age.predicted.lm1)
[1] 0.9805863
확정 계수가 1에 가까울수록 모델의 정밀도가 좋다는 뜻이다.온라인 회귀 모델의 경우 다음과 같은 결정 계수를 얻을 수 있다
> summary(carpet.model.lm1)$r.squared
[1] 0.9805863
변한 거 없어요.6. 다른 모델 함수 사용하기
아래의 모델 함수로 시험해 보세요.
y = a +bx + cx^2
# モデルオブジェクトを作成
> carpet.model.lm2 <- lm(age ~ poly(tyr,2), carpet.data)
# 予測値を求める
> carpet.data$age.predicted.lm2 <- predict(carpet.model.lm2,carpet.data)
# 決定係数を求める
> summary(carpet.model.lm2)$r.squared
[1] 0.98508
Reference
이 문제에 관하여(머신러닝 R을 통한 선형 회귀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/t-yotsu/items/f6444610b5bfcc1d571b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)