R - 선형 회귀: 초보자 가이드

안녕하세요, 데이터 과학자 지망생 여러분! 오늘 우리는 R를 사용하여 선형 회귀의 세계에 흥미로운 여정을 떠납니다. 프로그래밍을 nunca 해본 적이 없어도 걱정하지 마세요 - 저는 여러분과 함께 설명을 단계별로 진행할 것입니다. 이 튜토리얼의 끝을 맺을 때, 여러분은 단 몇 줄의 코드로 무엇을 할 수 있는지 놀라게 될 것입니다!

R - Linear Regression

선형 회귀는 무엇인가요?

R 코드에 뛰어들기 전에, 선형 회귀가 무엇인지 이해해 보겠습니다. 외부의 온도에 따라 얼음을 얼마나 팔 수 있을지 예측하려고 할 때를 상상해 보세요. 온도가 올라갈수록 얼음 판매량도 증가할 것을 발견할 수 있습니다. 선형 회귀는 이러한 관계를 수학적으로 찾아 설명해 주는 도구입니다.

회귀를 설정하는 단계

이제 R에서 선형 회귀를 수행하는 과정을 단계별로 쉽게 설명해 보겠습니다:

1. 데이터 준비

먼저, 작업을 위한 데이터가 필요합니다. R에서는 우리 자신의 데이터셋을 만들거나 가져올 수 있습니다. 간단한 온도와 얼음 판매 데이터셋을 만들어 보겠습니다:

temperature <- c(20, 22, 25, 27, 30, 32, 35)
ice_cream_sales <- c(50, 55, 65, 70, 80, 85, 95)

# 데이터 프레임으로 결합
ice_cream_data <- data.frame(temperature, ice_cream_sales)

# 데이터를 보기
print(ice_cream_data)

이 코드를 실행하면, 우리의 온도와 얼음 판매 데이터를 담은 깔끔한 테이블을 볼 수 있습니다. 멋지죠?

2. 데이터 시각화

분석을 시작하기 전에, 항상 데이터를 확인하는 것이 좋습니다. R은 그래프 그리기 기능을 통해 이를 매우 쉽게 할 수 있습니다:

plot(ice_cream_data$temperature, ice_cream_data$ice_cream_sales,
main = "Ice Cream Sales vs Temperature",
xlab = "Temperature (°C)", ylab = "Ice Cream Sales",
pch = 19, col = "blue")

이 코드는 우리의 데이터를 산점도로 그립니다. main 인수는 제목을 설정하고, xlabylab은 축을 레이블링하고, pch = 19는 점을 실제 원으로 만들고, col = "blue"는 점을 파란색으로 칠합니다. 이 옵션들을 조금씩 변형해 보세요 - 당신만의 스타일을 만들어 보세요!

3. 선형 회귀 수행

이제 흥미로운 부분입니다 - 실제로 선형 회귀를 수행하는 것입니다. R에서는 lm() 함수를 사용하여 "선형 모델"을 의미합니다:

ice_cream_model <- lm(ice_cream_sales ~ temperature, data = ice_cream_data)

이 줄은 간단해 보이지만, 데이터 포인트를 통과하는 가장 적합한 선을 찾는 등 많은 작업을 배경에서 수행합니다.

4. 결과 검토

우리 모델이 무엇을 찾았는지 살펴보겠습니다:

summary(ice_cream_model)

이 명령은 모델에 대한 자세한 요약을 제공합니다. 몇 가지 어려운 부분이 보일 수 있지만, 중요한 부분에 집중하겠습니다:

  • 계수(Coefficients) 부분은 우리의 선의 기울기와切片을 보여줍니다.
  • R-squared 값은 우리의 모델이 데이터에 얼마나 잘 맞는지 알려줍니다.

5. 회귀선 시각화

이제 우리의 회귀선을 산점도에 추가해 보겠습니다:

plot(ice_cream_data$temperature, ice_cream_data$ice_cream_sales,
main = "Ice Cream Sales vs Temperature",
xlab = "Temperature (°C)", ylab = "Ice Cream Sales",
pch = 19, col = "blue")

abline(ice_cream_model, col = "red")

abline() 함수는 우리의 회귀선을 그래프에 추가합니다. 이 선이 포인트를 통과하는 것을 보는 것은 만족스러운 일이 아닐 수 없습니다.

lm() 함수: 당신의 새로운 최고 친구

우리는 이미 lm() 함수를 사용했습니다만, 조금 더 깊이 탐구해 보겠습니다. 이 함수는 R에서 선형 회귀의 핵심입니다. 기본 구조를 분해해 보겠습니다:

lm(formula, data)
  • formula: 이는 변수 간의 관계를 지정합니다. 우리의 경우, 그것은 ice_cream_sales ~ temperature 였습니다.
  • data: 이는 사용하는 데이터셋입니다.

~ 기호는 "는...의 함수로 모델링된다"는 의미로 읽혀집니다. 그래서 우리의 공식은 "얼음 판매량은 온도의 함수로 모델링된다"는 의미입니다.

predict() 함수: 예측 만들기

이제 우리의 모델을 사용하여 예측을 만들 수 있습니다. 여기서 predict() 함수가 유용합니다:

new_temperatures <- data.frame(temperature = c(23, 28, 33))
predicted_sales <- predict(ice_cream_model, newdata = new_temperatures)
print(predicted_sales)

이 코드는 23°C, 28°C, 33°C의 온도에 대한 얼음 판매 예측을 합니다. 멋지죠?

유용한 함수 표

여기서 사용한 주요 함수의 빠른 참조 표를 제공합니다:

함수 목적 예시
lm() 선형 회귀 수행 lm(y ~ x, data)
summary() 자세한 모델 결과 얻기 summary(model)
plot() 산점도 생성 plot(x, y)
abline() 회귀선 그래프에 추가 abline(model)
predict() 예측 만들기 predict(model, newdata)

기억하시기, 연습이 완벽을 만듭니다! 이 함수들을 다양한 데이터셋에서 실험해 보지 마세요. 얼마 지나지 않아 선형 회귀의 달인이 될 것입니다!

결론적으로, 선형 회귀는 변수 간의 관계를 이해하고 예측을 만드는 강력한 도구입니다. R을 사용하면 이러한 도구를 손쉽게 활용할 수 있습니다. 계속 탐구하고 배우며, 무엇보다 재미있게 하세요!

Credits: Image by storyset