Preparação para modelagem

Machine Learning para Marketing em Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Amostra de dados

telco_raw.head()

Cabeçalho dos dados de telecom

Machine Learning para Marketing em Python

Tipos de dados

telco_raw.dtypes
customerID           object
gender               object
SeniorCitizen        object
Partner              object
Dependents           object
tenure                int64
PhoneService         object
MultipleLines        object
InternetService      object

OnlineSecurity       object
OnlineBackup         object
DeviceProtection     object
TechSupport          object
StreamingTV          object
StreamingMovies      object
Contract             object
PaperlessBilling     object
PaymentMethod        object
MonthlyCharges      float64
TotalCharges        float64
Churn                object
Machine Learning para Marketing em Python

Separar colunas categóricas e numéricas

Separe os nomes do identificador e da variável alvo em listas

custid = ['customerID']
target = ['Churn']

Separe os nomes das colunas categóricas e numéricas em listas

categorical = telco_raw.nunique()[telcom.nunique()<10].keys().tolist()

categorical.remove(target[0])
numerical = [col for col in telco_raw.columns if col not in custid+target+categorical]
Machine Learning para Marketing em Python

One-hot encoding

Esta é uma coluna típica de dados categóricos

Cor
Vermelho
Branco
Azul
Vermelho
Machine Learning para Marketing em Python

Resultado do one-hot encoding

E fica assim após aplicar one-hot encoding.

Cor Vermelho Branco Azul
Vermelho ----------> 1 0 0
Branco ----------> 0 1 0
Azul ----------> 0 0 1
Vermelho ----------> 1 0 0
Machine Learning para Marketing em Python

One-hot encoding em variáveis categóricas

One-hot encoding em variáveis categóricas

telco_raw = pd.get_dummies(data=telco_raw, columns=categorical, drop_first=True)
Machine Learning para Marketing em Python

Escalonando variáveis numéricas

# Importar a biblioteca StandardScaler
from sklearn.preprocessing import StandardScaler

# Inicializar a instância do StandardScaler scaler = StandardScaler()
# Ajustar o scaler às colunas numéricas scaled_numerical = scaler.fit_transform(telco_raw[numerical])
# Construir um DataFrame scaled_numerical = pd.DataFrame(scaled_numerical, columns=numerical)
Machine Learning para Marketing em Python

Juntando tudo

# Remover colunas numéricas não escalonadas 
telco_raw = telco_raw.drop(columns=numerical, axis=1)

# Unir os dados não numéricos com os numéricos escalonados telco = telco_raw.merge(right=scaled_numerical, how='left', left_index=True, right_index=True )
Machine Learning para Marketing em Python

Vamos praticar pré-processamento de dados!

Machine Learning para Marketing em Python

Preparing Video For Download...