문제 4. 광고 예산에 따른 일일 매출 예측
- 아래와 같은 데이터가 있다고 가정하겠습니다.데이터를 바탕으로 선형 회귀 모델을 훈련시키고, 회귀식을 작성해주세요.
- 독립 변수(X): 광고예산 (단위: 만원)
- 종속 변수(Y): 일일 매출 (단위: 만원)
- X=[10, 20, 30, 40, 60, 100]
- Y=[50, 60, 70, 80, 90, 120]
- 회귀식을통해, 새로운 광고예산이 1,000만원일 경우의 매출을 예측(계산)해주세요. 그리고 이에 대한 해석을 간략하게 설명해주세요.
- 결과 제출형태
- 회귀식
- 코드와 결과값
- 해석
💡 문제 풀이
`내 풀이`
import numpy as np
from sklearn.linear_model import LinearRegression
# 독립 변수(X): 광고예산 (단위: 만원)
X=np.array([10, 20, 30, 40, 60, 100]).reshape(-1,1)
# 종속 변수(Y): 일일 매출 (단위: 만원)
Y=np.array([50, 60, 70, 80, 90, 120])
# 선형회귀모델
model = LinearRegression()
model.fit(X, Y)
# 선형회귀식 : Y=wX+b
w = model.coef_[0] #가중치(회귀계수)
b = model.intercept_ #편향
# 새로운 광고예산이 1,000만원일 경우의 매출 예측(계산)
x = 1000
y= w*x+b #회귀식
print(f"회귀식 : {w:.2f} X + {b:.2f}")
print(f"광고 예산이 {x}만원일 때 예상 매출 : {y:.2f}만원")
# 결과 출력
# 회귀식 : 0.76 X + 45.56
# 결과 : 광고 예산이 1000만원일 때 예상 매출 : 801.81만원
# 결과 해석
# 광고비가 1만원 증가할 때마다 일일 매출은 0.76만원씩 증가하며,
# 광고를 돌리지 않았을 때의 일일 매출은 45.56만원입니다.
# 광고 예산이 1,000만원이 될 경우 예상되는 매출은 801.81만원입니다.
`오답노트`
- ❗️학습시켜야 할 X 데이터가 리스트 형태로 있을 때는 `데이터 변환`해야 함
- np.array([리스트])형태로 묶고
- `reshape함수`로 2차원으로 변형
- X.reshape(-1, 1) : -1은 자동으로 적절한 차원 크기를 계산하게 함, 1은 독립변수가 1개(단일특성)임을 뜻함 (즉 변환 후에 각각의 원소가 1차원 배열로 구성된다는 것을 의미)
- Y는 그대로 1D 배열로 둠
선형 회귀 Linear Regression 실습하기 (python)
이 코드는 데이터 분석 라이브러리인 numpy, pandas, matplotlib.pyplot을 사용하여 데이터 시각화를 수행하는 코드입니다.np.random.seed(2021) 코드는 랜덤 함수를 사용할 때, 항상 같은 결과를 출력하도록
velog.io
- 선형회귀모델 학습 `LinearRegression` : model = LinearRegression()
- 선형회귀식 : Y=wX+b
- 가중치(회귀계수) 구하기 : w = model.coef_[0]
- 편향 구하기 : b = model.intercept_