01. mpg์ ์์งํฌ๊ธฐ(displ)๊ฐ ๊ณ ์๋๋ก์ฃผํ๋ง์ผ(hwy)์ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋๊ฐ?
<์กฐ๊ฑด1> ๋จ์์ ํํ๊ท๋ชจ๋ธ ์์ฑ
<์กฐ๊ฑด2> ํ๊ท์ ์๊ฐํ
<์กฐ๊ฑด3> ํ๊ท๋ถ์ ๊ฒฐ๊ณผ ํด์ : ๋ชจ๋ธ ์ ์์ฑ๊ฒ์ , ์ค๋ช
๋ ฅ, x๋ณ์ ์ ์์ฑ ๊ฒ์
library(ggplot2)
data(mpg) # ์๋์ฐจ์ฐ๋น
str(mpg)
x = mpg$displ # ๋
๋ฆฝ๋ณ์
y = mpg$hwy # ์ข
์๋ณ์
๋ฐ์ดํฐํ๋ ์ ๋ง๋ค๊ธฐ
df = data.frame(x, y)
head(df)
mpg_lm = lm(y ~ x, data = df)
mpg_lm
mpg_lm$fitted.values[1:6]
plot(x, y, data = df)
abline(mpg_lm, col = 'red')
summary(mpg_lm)
๋ชจ๋ธ ์ ์์ฑ๊ฒ์ : ํต๊ณ์ ์ผ๋ก ์ ์ํจ
์ค๋ช
๋ ฅ : 0.585
x๋ณ์ ์ ์์ฑ ๊ฒ์ : ์ ์๋ฏธํ ์์ค์์ ์์งํฌ๊ธฐ๋ ์ฃผํ๋ง์ผ์์ ์ํฅ์ ๋ฏธ์น๋ค.
02. product ๋ฐ์ดํฐ์
์ ์ด์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ก ๋ค์คํ๊ท๋ถ์์ ์ํํ์์ค.
product = read.csv("product.csv", header=TRUE)
๋จ๊ณ1 : ํ์ต๋ฐ์ดํฐ(train),๊ฒ์ ๋ฐ์ดํฐ(test)๋ฅผ 7 : 3 ๋น์จ๋ก ์ํ๋ง
idx <- sample(1:nrow(product), 0.7*nrow(product))
train <- product[idx,] # result์ค 70%
dim(train) # [1] 184 3
train # ํ์ต๋ฐ์ดํฐ
test <- product[-idx, ]
dim(test) # 80 3
๋จ๊ณ2 : ํ์ต๋ฐ์ดํฐ ์ด์ฉ ํ๊ท๋ชจ๋ธ ์์ฑ
๋ณ์ ๋ชจ๋ธ๋ง) y๋ณ์ : ์ ํ_๋ง์กฑ๋, x๋ณ์ : ์ ํ_์ ์ ์ฑ, ์ ํ_์น๋ฐ๋
model = lm(formula = ์ ํ_๋ง์กฑ๋ ~ ., data = train)
๋จ๊ณ3 : ๊ฒ์ ๋ฐ์ดํฐ ์ด์ฉ ๋ชจ๋ธ ์์ธก์น ์์ฑ
y_pred = predict(model, test)
y_true = test$'์ ํ_๋ง์กฑ๋'
๋จ๊ณ4 : ๋ชจ๋ธ ํ๊ฐ : cor()ํจ์ ์ด์ฉ
cor(y_true, y_pred)^2
y_true[1:10]
y_pred[1:10]
mse <- mean( (y_true - y_pred)^2 )
cat('MSE =', mse)
03. ggplot2ํจํค์ง์์ ์ ๊ณตํ๋ diamonds ๋ฐ์ดํฐ ์
์ ๋์์ผ๋ก carat, table, depth ๋ณ์ ์ค ๋ค์ด์๋ชฌ๋์ ๊ฐ๊ฒฉ(price)์ ์ํฅ์ ๋ฏธ์น๋ ๊ด๊ณ๋ฅผ ๋ค์คํ๊ท ๋ถ์์ ์ด์ฉํ์ฌ ์์ธกํ์์ค.
์กฐ๊ฑด1) ๋ค์ด์๋ชฌ๋ ๊ฐ๊ฒฉ ๊ฒฐ์ ์ ๊ฐ์ฅ ํฐ ์ํฅ์ ๋ฏธ์น๋ ๋ณ์๋?
์กฐ๊ฑด2) ๋ค์คํ๊ท ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ (+)๊ณผ ๋ถ(-) ๊ด๊ณ๋ก ํด์ค
library(ggplot2)
data(diamonds)
diamonds์์ ๋น์จ์ฒ๋ ๋์์ผ๋ก ์ ์์ฑ
formula = price ~ carat + table + depth
head(diamonds)
model = lm(formula, data=diamonds)
summary(model) #ํ๊ท๋ถ์ ๊ฒฐ๊ณผ
[ํด์ค] carat์ price์ ์ (+)์ ์ํฅ์ ๋ฏธ์น๊ณ , table๊ณผ depth๋ ๋ถ(-)์ ์ํฅ์ ๋ฏธ์น๋ค.
'๊ฐ์ธ๊ณต๋ถ > R' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
34. R ๋ถ๋ฅ๋ถ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.19 |
---|---|
33. R ๋ก์ง์คํฑํ๊ท๋ถ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.18 |
30. R ์ฃผ์ฑ๋ถ๋ถ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.14 |
29. R ์๊ด๋ถ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.13 |
28. R T๊ฒ์ ์ฐ์ต๋ฌธ์ (0) | 2021.10.12 |