Probleem #95
Auteur:Ana Maria Simion
Moeilijkheid
Jouw beste score
N.v.t.
Klantchurn vertegenwoordigt het vrijwillige opgeven van diensten door klanten bij een telecommunicatieoperator. Het begrijpen van factoren die churn beïnvloeden is essentieel voor het ontwikkelen van retentiestrategieën en voor het optimaliseren van aanbiedingen en diensten.
Kunstmatige Intelligentie maakt complexe analyse van klantgegevens mogelijk voor:
Voor het oplossen van dit probleem heeft u twee bestanden tot uw beschikking:
train.csv – bevat alle variabelen, inclusief Churn, voor het trainen van modellentest.csv – bevat dezelfde variabelen, zonder de kolom Churn, en de gegevens uit dit bestand worden gebruikt voor het genereren van voorspellingen| Column | DType | Beschrijving |
|---|---|---|
| SampleID | int | Unieke identificatie van de klant |
| Age | int | Leeftijd van de klant |
| Avg Monthly GB Download | int | Maandelijks gemiddelde van gedownloade data (GB) |
| Avg Monthly Long Distance Charges | float | Gemiddelde maandelijkse kosten voor interlokale gesprekken |
| City | object | Stad van de klant |
| CLTV | int | Geschatte Customer Lifetime Value |
| Contract | object | Type contract (maandelijks, jaarlijks etc.) |
| Country | object | Land van de klant |
| Customer ID | object | Unieke interne identificatie van de klant |
| Dependents | int | Aantal afhankelijke personen |
| Device Protection Plan | int | 1 indien aanwezig, 0 indien niet |
| Gender | object | Geslacht van de klant |
| Internet Service | int | Indicator internetdienst |
| Internet Type | object | Type internetverbinding |
| Lat Long | object | Coördinaten breedtegraad en lengtegraad |
| Latitude | float | Breedtegraad |
| Longitude | float | Lengtegraad |
| Married | int | 1 indien klant getrouwd is, 0 anders |
| Monthly Charge | float | Maandelijkse kosten van diensten |
| Multiple Lines | int | 1 indien meerdere lijnen bestaan, 0 anders |
| Number of Dependents | int | Totaal aantal afhankelijke personen |
| Number of Referrals | int | Aantal aanbevelingen gedaan aan andere klanten |
| Offer | object | Type ontvangen aanbieding (indien aanwezig) |
| Online Backup | int | 1 indien aanwezig, 0 anders |
| Online Security | int | 1 indien aanwezig, 0 anders |
| Paperless Billing | int | 1 indien elektronische facturering bestaat |
| Partner | int | 1 indien klant een partner heeft, 0 anders |
| Payment Method | object | Betaalmethode voor facturen |
| Phone Service | int | 1 indien telefoondienst bestaat, 0 anders |
| Population | int | Bevolking van de stad |
| Premium Tech Support | int | 1 indien premium ondersteuning bestaat, 0 anders |
| Quarter | object | Kwartaal waarin gegevens zijn geregistreerd |
| Referred a Friend | int | 1 indien klant een vriend heeft aanbevolen |
| Satisfaction Score | int | Tevredenheidsscore van de klant |
| Senior Citizen | int | 1 indien klant senior is, 0 anders |
| State | object | Staat/provincie van de klant |
| Streaming Movies | int | 1 indien filmstreamingdienst bestaat |
| Streaming Music | int | 1 indien muziekstreamingdienst bestaat |
| Streaming TV | int | 1 indien TV-streamingdienst bestaat |
| Tenure in Months | int | Aantal maanden sinds begin van contract |
| Total Charges | float | Totale som betaald door klant |
| Total Extra Data Charges | int | Extra kosten voor data |
| Total Long Distance Charges | float | Totale som betaald voor interlokale gesprekken |
| Total Refunds | float | Totale som terugbetaald aan klant |
| Total Revenue | float | Totale inkomsten gegenereerd door klant |
| Under 30 | int | 1 indien klant onder 30 jaar is |
| Unlimited Data | int | 1 indien plan onbeperkte data heeft |
| Zip Code | int | Postcode van de klant |
| Ping Score | float | Netwerkprestatie score |
| Avg Speed | float | Gemiddelde snelheid van internetverbinding |
| TV Type | object | Type TV-ontvanger |
| Link Quality Index | float | Kwaliteitsindex van link |
| Total Short Distance Charges | float | Kosten voor lokale gesprekken |
| Churn | int | 1 indien klant heeft opgezegd, 0 anders |
Voor dit probleem moet u 3 taken oplossen.
Bereken voor elke klant uit de testset een vereenvoudigde financiële risicoscore gebaseerd op de waarden Monthly Charge en Total Extra Data Charges.
FinancialRiskScore = (Monthly Charge > 70) + (Total Extra Data Charges > 10)Elke component voegt 1 punt toe aan de score indien:
De uiteindelijke score ligt tussen 0 en 2.
Bereken voor elke klant uit de testset een score die de kwaliteit van diensten weergeeft op basis van de kolommen Avg Speed, Ping Score en Link Quality Index.
ServiceQualityScore = (Avg Speed < 50) + (Ping Score > 80) + (Link Quality Index < 30)Elke component draagt 1 punt bij aan de score.
De uiteindelijke score ligt tussen 0 (goede ervaring) en 3 (slechte ervaring).
Meer specifiek, als de eerste voorwaarde (Avg Speed < 50) wordt vervuld, wordt 1 punt toegevoegd. Hetzelfde geldt voor de rest.
Bouw een classificatiemodel dat Churn voorspelt (0 = actieve klant, 1 = klant die heeft opgezegd) op basis van alle beschikbare informatie in train.csv.
test.csv moeten 0 of 1 zijn.Answer in het submitbestand zal 0 of 1 zijn voor elke klant.Het bestand submission.csv moet bevatten:
id - ID overgenomen uit test.csv (kolom SampleID)subtaskID
1 voor Taak 12 voor Taak 23 voor Taak 3answer - de berekende of voorspelde waarde voor de klant bij de aangegeven taakVoor Taak 3 wordt de score toegekend volgens de volgende regels: