creștere bazată pe date cu Python
predicție putinei cu Xgboost clasificare binară
această serie de articole a fost concepută pentru a explica modul de utilizare a Python într-un mod simplist pentru a alimenta creșterea companiei dvs. prin aplicarea abordării predictive a tuturor acțiunilor dvs. Va fi o combinație de programare, analiză a datelor și învățare automată.
voi acoperi toate subiectele din următoarele nouă articole:
1 – Cunoaște – ți valorile
2 – segmentarea clienților
3 – Predicția valorii pe viață a clienților
4 – Predicția putinei
5 – prezicerea următoarei zile de achiziție
6 – prezicerea vânzărilor
7 – modele de răspuns pe piață
8 – uplift modeling
9-A/B Testarea proiectării și execuției
articolele vor avea propriile fragmente de cod pentru a vă face să le aplicați cu ușurință. Dacă sunteți super nou în programare, puteți avea o introducere bună pentru Python și Panda (o bibliotecă faimoasă pe care o vom folosi pe toate) aici. Dar totuși, fără o introducere de codificare, puteți învăța conceptele, cum să utilizați datele dvs. și să începeți să generați valoare din ea:
uneori trebuie să fugi înainte de a putea merge — Tony Stark
ca o condiție prealabilă, asigurați-vă că Jupyter Notebook și Python sunt instalate pe computer. Fragmentele de cod vor rula numai pe notebook Jupyter.
bine, să începem.
în ultimele trei secțiuni ale seriei de creștere bazată pe date, am descoperit urmărirea valorilor esențiale, segmentarea clienților și prezicerea programatică a valorii duratei de viață. Deoarece ne cunoaștem cei mai buni clienți prin segmentarea și predicția valorii pe viață, ar trebui să lucrăm din greu la păstrarea lor. Asta face ca rata de retenție să fie una dintre cele mai critice valori.
rata de retenție este o indicație a cât de bună este piața dvs. de produse fit (PMF). Dacă PMF-ul dvs. nu este satisfăcător, ar trebui să vă vedeți clienții care se agită foarte curând. Unul dintre instrumentele puternice pentru îmbunătățirea ratei de retenție (de aici și PMF) este predicția putinei. Folosind această tehnică, puteți afla cu ușurință cine este probabil să se rătăcească în perioada dată. În acest articol, vom folosi un set de date Telco și vom parcurge următorii pași pentru a dezvolta un model de predicție putinei:
- analiza datelor Exploratorii
- Ingineria caracteristicilor
- investigarea modului în care caracteristicile afectează reținerea prin utilizarea regresiei logistice
- construirea unui model de clasificare cu XGBoost
analiza datelor Exploratorii
începem cu verificarea modului în care arată datele noastre și vizualizăm modul în care interacționează cu eticheta noastră (churned sau nu?). Să începem cu importul datelor noastre și să tipărim primele zece rânduri:
df_data = pd.read_csv('churn_data.csv')
df_data.head(10)
ieșire:
o modalitate mai bună de a vedea toate coloanele și tipul lor de date utilizează metoda. info ():
se pare că datele noastre se încadrează în două categorii:
- caracteristici categorice: sex, streaming tv, metoda de plată & etc.
- caracteristici numerice: Titularizare, taxe lunare, taxe totale
acum pornind de la cele categorice, aruncăm lumină asupra tuturor caracteristicilor și vedem cât de utile sunt pentru a identifica dacă un client va putinei.
ca notă laterală, în setul de date pe care îl avem, coloana putinei este șir cu valori Da/Nu. Îl convertim în întreg pentru a fi mai ușor de utilizat în analiza noastră.
df_data.loc = 0
df_data.loc = 1
gen
folosind blocul de cod de mai jos, vizualizăm cu ușurință cum arată rata de putinei (1-Rata de retenție) pentru fiecare valoare:
df_plot = df_data.groupby('gender').Churn.mean().reset_index()
plot_data = ,
y=df_plot,
width = ,
marker=dict(
color=)
)
]plot_layout = go.Layout(
xaxis={"type": "category"},
yaxis={"title": "Churn Rate"},
title='Gender',
plot_bgcolor = 'rgb(243,243,243)',
paper_bgcolor = 'rgb(243,243,243)',
)
fig = go.Figure(data=plot_data, layout=plot_layout)
pyoff.iplot(fig)
ieșire:
defalcarea pe gen pentru rata putinei:
clienții de sex feminin sunt mai predispuși să se rătăcească față de clienții de sex masculin, dar diferența este minimă (~0,8%).
să reproducem acest lucru pentru toate coloanele categorice. Pentru a nu repeta ceea ce am făcut pentru sex, puteți găsi codul necesar pentru toate de mai jos:
acum trecem peste caracteristicile care arată cea mai semnificativă diferență între valorile lor:
serviciu de Internet
această diagramă dezvăluie clienții care au fibra optica ca serviciu de Internet sunt mai susceptibile de a putinei. În mod normal, mă aștept clienții de fibră optică pentru a putinei mai puțin din cauza ei folosesc un serviciu mai premium. Dar acest lucru se poate întâmpla din cauza prețurilor ridicate, a concurenței, a serviciului pentru clienți și din multe alte motive.
Contract
așa cum era de așteptat, contractul mai scurt înseamnă o rată mai mare de putinei.
suport tehnic
clienții nu folosesc suport tehnic sunt mai mult ca să putinei (~25% diferență).
metoda de plată
automatizarea plății face clientul mai probabil să păstreze în platforma dvs. (~30% diferență).
altele