스타벅스의 성공을 예측하고 제공의 성공과 가장 관련된 요소를 찾다
7072 단어 machinelearning
프로젝트 개요
내가 이 블로그를 쓴 것은 내가 스타벅스의 Udacity 데이터 과학 나노 학위의 정점 프로젝트에서 발견한 것을 보고하기 위해서이다.
스타벅스는 판촉 활동에 대한 데이터를 제공해 분석하고 있다. 이 데이터 집합에는 스타벅스 보상 모바일 애플리케이션의 고객 행위를 모의하는 모의 데이터가 포함되어 있다.
프로젝트의 GitHub repository 를 찾을 수 있으며, 프로젝트의 Jupyter Notebook 파일에서 코드에 대한 상세한 설명을 찾을 수 있습니다.
상업적 이해
이 분석에서 나는 내가 파악한 데이터로 해결 방안을 찾으려고 시도하고 싶다.
데이터 -> 문제 -> 솔루션
문제 진술
우리는 인구 통계와 견적 정보에 근거하여 견적을 성공적으로 분류할 수 있습니까?
데이터 이해
데이터 세트는 다음 세 파일에 포함됩니다.
데이터 정리
다음은 개인 정보, 투자 조합과 성적표 데이터가 집중된 데이터 정리 절차다.
누가 돈을 더 많이 씁니까?남자예요, 여자예요?
이 점을 이해하려면 성별과 비용에 따라 도표를 그려 보세요.
이 도표에서 여성이 전체적으로 돈을 더 많이 쓴다는 것을 명확하게 분석할 수 있다.
받은, 보기, 완성된 견적, 그리고 bogo, 할인, 정보 등 모든 활동의 분포 상황을 보기 위해 도표를 그려라.
많은 사람들이 견적을 받았는데, 그 중 많은 사람들이 견적을 보았고, 단지 소수의 사람들만이 실제 거래를 통해 견적을 얻었다.견적을 보내는 것은 회사에 있어서 원가이기 때문에 적당한 사람에게 견적을 보내는 것이 매우 중요하고 더 많은 사람을 끌어들여 거래를 할 수 있다.
데이터 준비
단지 데이터 정리만으로는 부족하기 때문에 일부 상황에서 기존 데이터에 따라 새로운 데이터를 준비하여 데이터에 대한 더 많은 견해를 얻어야 할 수도 있다.
데이터셋에는 특정한 사례가 있기 때문에 이 단계가 필요합니다.
실제 견적을 검토하지 않고 견적을 완성하고 혜택을 받을 수 있습니다.따라서 이 고객들은 어떤 방식으로든 구매를 할 수 있기 때문에 이 고객들을 식별하는 것이 필요하다.
나는 데이터에서 어떤 결과가 성공 사례로 분류될 수 있는지를 정의하는 단독 칼럼을 만들 것이다.
BOGO와 할인 혜택
일반적으로 BOGO 및 할인 혜택의 가능한 활동 경로는 다음과 같습니다.
성공 견적: 견적 수신→ 쿼트 보기→ 트레이드→ 쿼트 완료
잘못된 쿼트: 쿼트 수신→ 쿼트 보기
쿼트 보기 안함: 쿼트 수신
실패한 성공: 견적 수신→ 트레이드→ 쿼트 완료
무효 견적과 조회하지 않은 견적은 모두 견적이 성공하지 못했거나 고객의 거래(또는 거래 부족)를 초래하지 않았음을 나타낸다.이것은 요약 실패로 간주될 수 있다.
그러나 중요한 것은 확인되지 않은 성공 사례가 존재할 수도 있다는 것이다. 이것은 고객이 견적을 보지 않았지만 어쨌든 견적을 완성했다는 것을 의미한다. 즉, 고객이 거래를 했고 견적에 상관없다는 것이다.
따라서 보지 못한 성공과 성공한 견적을 구분하는 것이 매우 중요하다. 그래야 적당한 고객을 찾을 수 있다.
이상적인 상황에서 스타벅스는 전시 활동 경로 1의 고객층을 겨냥하고
경로 2와 3을 가장 잘 따를 수 있는 사람들을 겨냥한 것이 아니라 거래를 하지 않기 때문이다
아니면 4, 어떻게든 거래를 하기 때문에 스타벅스가 할인을 해주거나 보고 혜택을 주면 사실상 손해를 본다.
그래서 이 단계에서 나는
success
라는 열을 만들 것이다. 만약 그것이 성공적인 견적이라면 그 값은 1이고 그렇지 않으면 0이다.현재, 나는 기계 학습 분류 모델을 제시하기 위해 모든 데이터를
full_data
라는 데이터 프레임에 통합할 것이다.분류 모델을 이용하여 견적 성공률을 예측하다
Randomforest 모델을 기본 분류기로 사용하는
Classification_model
함수를 정의하고 있습니다.사용 지표는 정확도 평점, roc 평점과 auc 평점이다.
무작위 삼림 모형에 대해 나는 다음과 같은 결과를 얻었다.
precision recall f1-score support
failure 0.70 0.70 0.70 10390
success 0.67 0.67 0.67 9561
avg / total 0.69 0.69 0.69 19951
Overall model accuracy: 0.686331512204902
Train ROC AUC score: 0.9863216113589416
Test ROC AUC score: 0.7465330713208808
AdaBoost 분류기에 대한 결과는 다음과 같습니다. precision recall f1-score support
failure 0.68 0.68 0.68 10390
success 0.66 0.66 0.66 9561
avg / total 0.67 0.67 0.67 19951
Overall model accuracy: 0.6710941807428199
Train ROC AUC score: 0.7295966493333714
Test ROC AUC score: 0.7299133701950669
그래서 저는 AdaBoostClassifier가 일치하는 것을 제공하지 않는 것이 더 좋다고 생각합니다. 그래서AdaBoost 분류 모델은 고객 및 쿼트 특성에 따라 쿼트의 성공 여부를 예측하는 데 사용됩니다.
AdaBoostClassifier에서 다음 매개변수에 대해 GridSearchCV를 실행하고 있습니다.
param_grid={'n_estimators': [50, 100, 500],
'learning_rate': [0.1,0.7, 1],
'algorithm': ['SAMME.R','SAMME']}
나는 아래의 매개 변수를 가장 좋은 매개 변수로 얻었다.{
'algorithm': 'SAMME.R',
'learning_rate': 0.1,
'n_estimators': 500
}
이러한 매개변수를 적용하면 다음과 같은 결과가 발생합니다. precision recall f1-score support
failure 0.68 0.68 0.68 10390
success 0.65 0.66 0.65 9561
avg / total 0.67 0.67 0.67 19951
Overall model accuracy: 0.6689890231066112
Train ROC AUC score: 0.7295248849870593
Test ROC AUC score: 0.7302833968483007
gridsearchcv를 통해 찾은 가장 좋은 모델의 성능은 대부분의 기본 설정을 사용한 초기 모델보다 좋지 않습니다.그래서 저는 Adaboost 분류기의 전체 모델을 사용하고 기본 설정을 가지고 있어서 더 이상 처리할 수 있습니다.내가 고려한 마지막 모델의 정확도는 67% 인데, 이것은 틀림없이 개선할 여지가 있을 것이다.
모델을 바탕으로 모델에 사용되는 데이터의 특징적 중요성을 그렸다.
이 모델을 바탕으로 한 견적 성공의 가장 큰 관련 요소는 다음과 같습니다.
어떤 오퍼가 가장 성공적입니까?
이를 이해하기 위해 BOGO와 할인 혜택의 표현을 비교한 도표를 그렸다.
차트를 보면 할인 혜택이 더 성공적이라고 할 수 있습니다. 왜냐하면
'완성 견적'의 절대 수량이 BOGO 견적보다 약간 높을 뿐만 아니라 전체 완성/수신률도 약 7% 높다.그러나 BOGO 혜택은 고객이 보거나 볼 수 있는 더 큰 기회가 있다.그러나 받은 견적을 완성된 견적으로 전환하는 것은 bogo 견적이 아닌 할인 견적을 통해 실현할 수 있다.
우리는 또한 성공적인 견적을 초래한 견적을 검사할 수 있는데 이것은 다음과 같은 경로를 따랐다는 것을 의미한다
견적을 받다→ 쿼트 보기→ 트레이드→ 쿼트가 완료되었습니다.
이는 보고 혜택보다 할인 혜택이 더 좋다는 뜻이기도 하다.
검토 및 개선 사항은 다음과 같습니다.
Reference
이 문제에 관하여(스타벅스의 성공을 예측하고 제공의 성공과 가장 관련된 요소를 찾다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kirankamatmgm/predicting-starbucks-offer-success-and-finding-most-relevant-factors-for-offer-success-2kk1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)