Telcon Asiakasrekisteritietojen analyysi
Okay! Tehdään tämä..
niin, valmistelin tämän jutun tutustuakseni hieman enemmän epätasapainotietoihin.
aineisto löytyy seuraavasta linkistä:
joten sukelletaan suoraan siihen.
lopullisena tavoitteena on arvioida erilaisia malleja, joilla voidaan ennustaa, “Kirnuaako” asiakas vai ei.
for ei tuttu Kirnu ilmaistaan yleisimmin niiden palvelun tilaajien prosenttiosuutena (tai lukumääränä), jotka lopettavat tilauksensa tietyn ajan kuluessa.
aloitetaan tekemällä meidän EDA (Exploratory Data Analysis)
tietotyypit näyttivät olevan ok, lukuun ottamatta seniorikansalainen, että pitäisi olla tekijä liian. (Epäilyksen mukaan tarkista dataset-linkki ja se on kirjasto)
visualisoidaan aineiston Yhteenveto
on joitakin mummeja Totalchages sarakkeessa, joten me kaivaa hieman pidemmälle noilla riveillä
koska rivien lukumäärä NaN-arvoilla on hyvin pieni (1,5% tiedoista), ja ottaen huomioon, että kaikki ne ovat churn= “ei”, joka on yliedustettuna aineistossa. Poistamme vain nämä rivit työaineistosta
katsotaan pylväspalstat kategoristen sarakkeiden jakaumalle
nyt juoni riippuvainen muuttuja
kuten edellä mainittiin, voimme nähdä nyt epätasapaino tietojen riippuvainen muuttuja. Meidän täytyy käsitellä sitä myöhemmin ennen mallintöitä.
piirretään nyt kvantitatiivisten muuttujien boksit.
boxplot ei näytä jakelussa poikkeavia arvoja.
nyt katsotaan kvantitatiivisten muuttujien korrelaatio:
kokonaiskustannusten ja kuukausimaksujen sekä kokonaiskustannusten ja hallintaoikeuden välillä on suuri positiivinen korrelaatio.
piirretäänpä nyt joitakin histogrammeja ottaen huomioon kvantitatiivisten piirteiden kirnukohteen:
yllä oleva kuva osoittaa, että kirnuaste laskee hallintaoikeuden kasvaessa, mikä on hyvä osoitus siitä, että yritys pystyy pitämään pitkäaikaisia asiakkaita.👏👏👏
yllä olevat tontit antavat meille joitakin vihjeitä ominaisuuksista, kuten:
- ilmeisesti ominaisuudet kuten sukupuoli, puhelinpalvelu, ja useita rivejä ei oikeastaan ole paljon vaikutusta Churn;
- ei näytä olevan paljon eroa ominaisuuksien Streaming TV ja Streaming elokuvia;
- Verkkoturvallisuudella, Laitesuojauksella ja teknisellä tuella on hyvin samankaltainen histogrammi ja Churn x non Churn-suhde.
lisätäksemme kaksivarioiseen analyysiin, joka sisältää kvantitatiiviset ominaisuudet (hallintaoikeus, kuukausimaksut ja kokonaismaksut), muutamme ne tekijöiksi jakamalla ne 5 eri tasoon kunkin ominaisuuden osalta 20.prosenttipisteen mukaan.
kuten aiemmin todettiin, Kirnun prosenttiosuus laskee kuukausien määrän myötä, mikä osoittaa, että vanhoja asiakkaita on vähemmän vaikea ylläpitää.
tämä baari tontti osoittaa, että korkeampi kokonaismaksut tehdään asiakkaalle on lasku kirnuprosentti. Mikä on järkevää, jos luulet, että pitkän ajan asiakkailla on korkeampi “kokonaismaksu” ja kuten olemme nähneet aiemmin, pitkän ajan asiakkailla on pienempi kirnuprosentti
tämä viivaplotti on hieman intuitiivisempi ja osoittaa, että korkeammat kuukausimaksut ovat yleensä korkeampia.
mallinnus
nyt kun meillä on parempi ymmärrys aineistosta, aletaan valmistautua mallintamiseen, jotta voidaan ennustaa tulevaa asiakaskiertoa.
jakakaamme tämä prosessi vaiheisiin sen välittömän ongelman mukaan, johon puutumme:
- Dealing with the epätasapaino
- Defining our algorithms and Metrics
- Testing our Algorithms
- Dealing with feature selection
- Final results
Dealing with the epätasapaino ⚖️
As we ‘ ve seen before our dependent variable is imbalanced. Meillä on monia vaihtoehtoja ongelman ratkaisemiseksi:
- yli-näytteenotto
- alle-näytteenotto
- käyttäen erilaisia painokustannuksia
- jne.
tässä kokeillaan Ali -, ylinäytteenotto-ja ISKUTEKNIIKKAA.
määrittelemällä algoritmimme ja mittarimme
hyvin, koska kyseessä on luokitteluongelma, ts. lopussa päivän voimme vain ennustaa joko “Churn ” tai” Not Churn”, siksi meidän on valittava algoritmi tämän tietyn”valtakunta”. Joka jättää meille joitakin vaihtoehtoja, kuten:
- naiivi-Bayes
- logistinen regressio
- Ratkaisupuut (tai Satunnaismetsä)
- SVM
- GBM
valitaksemme metrijärjestelmän, jonka saimme ongelman ymmärtääksemme. Esimerkiksi,
- “onko väärillä positiivisilla tai väärillä negatiiveilla vahingollisempia seurauksia?”🤔
meidän tapauksessamme väärille positiivisille tai väärille negatiiveille ei näytä olevan eri painoja, joten käytämme Vertailumittarina tarkkuutta.
testaamme Algoritmejamme
otamme käyttöön 5 algoritmia (naiivi-Bayes, logistinen regressio, Random Forest, SVM ja LightGBM). Käytämme 10-cross fold validointi ja ajaa kunkin algoritmin 10 kertaa ja laskea tulokset.
toistamme tämän menetelmän kaikille 3 tiedolle (tasapainotetaan käyttämällä Alinäytteenottoa, Ylinäytteenottoa ja läpivirtausta).
algoritmien tulosten avulla rakennamme yhden tarkkuuden Dataframe
nyt projekti boxplots jokaiselle algoritmille ja jokaiselle tasapainotetulle datalle
yllä oleva kuva osoittaa, että sekä Satunnaismetsän yli otoksen tasapainotetut tiedot ja SMOTE tasapainotetut tiedot antoivat parhaat tulokset: 87% tarkkuus.
käsiteltäessä ominaisuusvalintaa
nyt kun meillä on algoritmit ja tasapainotetut tiedot, jotka osoittivat parhaat tulokset, yritetään parantaa tarkkuutta tai yksinkertaistaa algoritmia tekemällä ominaisuusvalinta.
joten päätän työskennellä SMOTE balance-tietojen kanssa.
käytetään varimp-funktiota, jotta voidaan nähdä satunnaismetsäalgoritmissa ne ominaisuudet, jotka parhaiten edustavat kirnua
neljä ensimmäistä ominaisuutta tuntui melko intuitiivinen ottaen huomioon visualisointeja olemme nähneet aikana EDA.
joten luomme 2 muuta datapeliä, joista toisessa on 4 ensimmäistä ominaisuutta ja toisessa kaikki huippuominaisuudet Sreaming TV: hen asti.
nyt juostaan satunnaista metsää, jossa 10-cv toistetaan 10 kertaa.
nyt luodaan uusi boxplot tarkkuus Jakelu kunkin 3 dataframes.
joten mid_features-ja full data-tulokset näyttävät paremmilta. Testataan, ovatko ne merkittävästi erilaisia
tilastollinen testi siis hylkää nollahypoteesin, joten tarkkuusjakauma full_datasta ja mid_features_datasta eroavat merkittävästi toisistaan.
joten päätämme tämän ominaisuusvalinnan itse asiassa säilyttäen kaikki sarakkeet. Koska on vielä merkittävä menetys tarkkuus poistamalla ominaisuuksia.
lopulliset tulokset
kerrataan lopullinen ennustemallimme. Saimme keskimääräisen tarkkuuden 87%, käyttäen SMOTE keinona tasapainottaa tietoja ja suorittaa toistuvia 10 cross-kertainen validointi 10 kertaa, käyttäen Random Forest meidän algoritmi.
olemme myös tallentaneet asiakastiedoistamme kiinnostavia asioita, kuten:
- yhtiö näyttää pärjäävän “ihan hyvin” vanhan ajan asiakkaiden pitämisessä. Energia – asioissa on keskityttävä enemmän strategioiden täytäntöönpanoon uusia asiakkaita varten.
- kuukausittaisten sopimustyyppien vaihtuvuus on suurempi jopa korkeilla kuukausimaksuilla verrattuna muihin sopimustyyppeihin.
- kuituoptiikka on korkeampi Kirnu hinnat kuin DSL asiakkaille, joilla on internet-palvelu.
- vaikka kuituoptiikka, on korkeampi kirnuing hinnat, ne myös toimittaa suurempi kokonaisvaraus laskee. Siksi on tärkeää selvittää paremmin, miksi asiakkaat eivät ole tyytyväisiä kuituoptiikkapalveluun.
kyllä, me selvisimme! Toivottavasti olet nauttinut kyydistä ja olen iloinen kuullessani ajatuksesi.
Future steps
muistutuksena tästä aineistosta löytyy vielä paljon muutakin, kuten:
- kokeile uusia algoritmeja
- optimoida joitakin tunning-parametreja nähdäksesi, voitko parantaa tarkkuutta.
Thanks again!