이런 분들이 읽으면 좋아요!
멋쟁이사자처럼 그로스 마케팅 부트캠프가 어떻게 운영되는지 궁금한 분
마케터가 머신러닝·선형 회귀를 어떻게 배우고 활용하는지 궁금한 분
광고비 데이터로 신규 가입자 수를 예측하는 방법이 궁금한 분
"이 광고, 진짜 효과 있는 거 맞아요?" 마케터라면 한 번쯤 들어봤거나 직접 받아봤을 질문이에요. 감이나 경험이 아닌 데이터로 답해야 할 때, 머신러닝이 그 무기가 돼요.
멋쟁이사자처럼 부트캠프는 단순히 배우는 것에 그치지 않고, 배운 내용을 내 것으로 만드는 방법까지 함께 고민하고 있어요. 수강생들이 매일 TIL(Today I Learned) 블로그 챌린지로 학습 내용을 기록하는 것도 그 일환이에요.
오늘 소개할 TIL의 주제는 선형 회귀를 활용한 광고비 효과 예측이에요. 데이터 준비부터 탐색·모델 학습·평가·새로운 예측까지 머신러닝 5단계 전 과정을 직접 따라가며 정리한 기록이에요. 광고비와 신규 가입자 수 사이의 상관관계가 무려 99.7%에 달한다는 사실을 데이터로 직접 확인한 멋쟁이사자처럼 그로스 마케팅 부트캠프 4기 수강생의 기록을 지금 확인해 보세요!
💡
이런 분들이 읽으면 좋아요!
멋쟁이사자처럼 그로스 마케팅 부트캠프가 어떻게 운영되는지 궁금한 분
마케터가 머신러닝·선형 회귀를 어떻게 배우고 활용하는지 궁금한 분
광고비 데이터로 신규 가입자 수를 예측하는 방법이 궁금한 분
쪼꼼 어렵긴 했지만, 실습을 설명하면서 말해준다면, 대강 쉽게 이해 할 수 있을거여!
처음부터 잘하는사람은 없다는겨! 잘 따라오면 되는겨!
1단계: 데이터 준비
2단계: 데이터 탐색 (시각화 + 상관계수)
3단계: 모델 학습
4단계: 모델 평가
5단계: 새로운 예측
일단 전체적인 흐름으로는 저렇게 5단계가 되겠다~ 이말이여!
어려울 거 없는겨, 데이터 준비하고, 전처리 및 정제 하면서 시각화해보고, 이것들의 상관계수를 확인해보는겨!
이 데이터들을 탐색하는게 과연 의미가 있을지 미리보기다~~~ 이말이지!
그러고나서 모델 학습시키고, 이것들을 가지고 이제 평가를 하는것이여!
만약 얘내들의 평가가 좋다면, 예측도 잘 되겠지이~!~?

자 이제 요것은 맨날 봐서 알겠제?
한글 깨지지말라고 설정해주는거여~
표 시각화 할때 한글 깨지면 빡치자너!!!

자 이것은 이제 데이터여. 데이터는 별 거 없어.
걍 넣기만 하면 돼. 그리고 저기 CTR은 df로 계산하면 돼~
이런걸 데이터 전처리라고 하는것이여!

그럼 이렇게 잘 나온 걸 볼 수 있지?
저번에 말한 것처럼 항상 데이터는 뽑고 나서 info(), describe()를 통해서
데이터들의 이상치나 결측치가 있는지 확인해주고, 대강 어떤 너낌인지 파악해주면 되는 것이여!
지피지기면 백전백승이라고 하지 않더냐
자 이제는 준비한 데이터를 가지고, 시각화를 해보고, 상관계수를 확인해보면서
데이터들간의 상관관계를 확인할거여!
만약 얘내들의 관계가 떨어진다면 얘내를 가지고 예측하는건 시간 갖다버리는거겠지?
그런 덜떨어진 행동을 하기전에 데이터를 검증, 탐색을 해야하는것이여!

자, 먼저 광고비와 신규 가입자 수의 관계, 그리고 CTR과 신규 가입자 수의 관계를 파악해보자고
이렇게 두가지를 비교할 때는 (1,2) 로해야 도화지가 1행에 2개의 열이 생기는 거 알고있재?
까묵지말자~ 이말이여!
axes[0], axes[1]로 리스트를 정해주면서 도화지에 그림을 쫘악~ 그려주면

요런 상관관계를 시각화 할 수 있다는거지!
다행히도 두 그래프 모두 양의 상관관계를 가지고 있다! 아주 그냥 긍정적인 신호지!!!
일단, 양의 상관관계를 가지고 있는 것은 확인 했으니께, 정확하게 얘내들의 상관관계를 수치로 확인해보자고!!

그것은 corr을 통해 상관관계를 확인 할 수 있지!!!
아따 광고비랑 신규가입자 수 봐라잉~
99.7%면 뭐 둘이 아주 그냥 연인이여 연인~
CTR보다는 광고비와 신규가입자수의 관계가 더 강해보이지?!
이런 데이터를 우리가 인지했으니 이제는 모델을 학습해볼것이여!
자 드디어 러신머닝을 사용할 시간인데, 선형 회귀 방식을 사용할것이여. 러신머닝을 사용하기전에, 어떤 모델을 사용할건지 불러야겠지?

자 요렇게 보면, 스키런에서 라이너를 사용할거여~ 즉 선형회귀모델을 사용할거라는거지!
저렇게 선언하고 나면 별거 없어! 학습시키면 되는데 학습시키는 것도 쉽다!

자 먼저 대문자 X로 광고비, 우리가 구하고싶은 값이 y니까 y는 신규가입자수가 되어야겠지?
저렇게 형태를 프린트 해보면
X 형태 : (30, 1)
y 형태 : (30, )
요렇게 나올 것이여.
자 이렇게 변수를 지정해줬으면
이제 모델을 생성해주고 학습을 해줘야겠지?

끝 ㅋ
쉽지 쉬워 걍 저렇게 선언하면 얘 학습한겨
좋겠다 저렇게 짧게 써 넣었는데 나보다 똑똑하다는거 아녀
그럼 뭐하냐 너 움직일 수 있냐? ㅋㅋ


자 그리고 이렇게 기울기와 절편을 구할 수 있는데,
기울기와 절편으로 모델의 패턴을 찾을 수 있어.
절편이 -8이 나와서 아 뭐 잘못나온 거아녀?
절편은 상관없고, 이따가 R스퀘어 값이랑 MAE만 잘 나오면 된다고 하더라고?
자 이제는 드디어 모델을 평가할 시간이여.
# R²(설명력): 0~1 사이 값. 1에 가까울수록 좋은 모델
# MAE(평균오차): 예측이 실제와 평균적으로 몇 명 차이 나는지
R2는 1에 가까울수록 좋고~ MAE는 낮을수록 좋은거여!!!

자 위에 저렇게 3줄만 적으면 r2, MAE를 다 구할 수 있지!
R2는 0.994이야~ 엄청 좋은 모델이구만!
MAE도 4.2명도 차이나면 신규 가입자수 평균 130명 중 평균 4.2명이면
흠.... 뭐 양호하네
이를 통해! 우리는 광고비와 신규 가입자수의 엄청난 상관관계가 있다는 것을 알게 되었으니! 그리고 평가를 통해 신뢰 할만하다고 증명이 되었으니! 우리는 새로운 예측을 해볼거여!
결국 우리가 알고싶은건 미래에 대한 예측이잖아? 그니까 함 가보자고


자 시나리오의 예측하고싶은 새로운 광고비 값을 넣은 후에,
예측결과 변수를 지정해주고
for문을 사용해서 400부터 800까지의 광고비를 태웠을 때
예상 신규가입자 수를 확인하는거지!!!
사실 저기 코드 들은 아직은 나도 어려워서. 그냥 저렇게 for 반복문을 이용해서
위에 보이는 것처럼 값을 나타낸다~ 라고 생각하면된다잉
그리고 나서

자 마찬가지로 시각화를 할것이기 때문에, 적절한 도화지를 선정해주고,
원래 있는 '실제 데이터'와 '예측데이터' 를 넣어주는거여
그리고 선형회귀 모델선으로 직선 그래프를 그리면 더 이해하기 쉽겠지???

그러면 요렇게 서로 같은 양의 상관관계에서 강한 관계를 가지고 있다는 것을 확인 할 수 있지!!!!!!
"광고비를 100만원 더 쓰면 신규 가입자가 약 28명 늘어난다." 이런 문장을 감이 아닌 데이터로 직접 증명할 수 있다면, 마케터로서의 무기가 하나 더 생기는 거예요.
처음부터 잘하는 사람은 없어요. 오늘 소개한 수강생처럼 5단계를 직접 밟아보고 기록하다 보면, 어느 순간 숫자가 전략이 되는 경험을 하게 될 거예요. 그 과정을 멋쟁이사자처럼이 함께할게요.