Objetivo: Predecir la baja de clientes
Analizaremos los modelos supervisados usando un ejemplo: predicción del churn en un telco (cancelación de clientes) (inspirado en http://blog.yhat.com/posts/predicting-customer-churn-with-sklearn.html). El valor de predecir el churn radica en que normalmente es más fácil retener a los clientes actuales que conseguir nuevos. El dataset que analizaremos contiene las siguientes variables: Churn?
In [7]:
import pandas as pd
import numpy as np
In [8]:
df = pd.read_table('churn.csv', sep=",")
df.head()
Out[8]:
In [14]:
churn_df = pd.read_csv("churn.csv")
col_names = churn_df.columns.tolist()
churn_result = churn_df['Churn?']
y = np.where(churn_result == 'True.',1,0)
In [24]:
# We don't need these columns
to_drop = ['State','Phone',"Int'l Plan",'VMail Plan', 'Churn?']
churn_feat_space = churn_df.drop(to_drop,axis=1)
churn_feat_space["target"] = y
In [25]:
churn_feat_space.head()
Out[25]:
In [26]:
churn_feat_space.info()
In [27]:
churn_feat_space.to_csv("Basis_Train.csv")