Persiapan pemodelan

Machine Learning untuk Pemasaran dengan Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Contoh data

telco_raw.head()

Header data telekomunikasi

Machine Learning untuk Pemasaran dengan Python

Tipe data

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 untuk Pemasaran dengan Python

Pisahkan kolom kategorikal dan numerik

Pisahkan nama pengenal dan target sebagai list

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

Pisahkan nama kolom kategorikal dan numerik sebagai list

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 untuk Pemasaran dengan Python

One-hot encoding

Ini contoh khas kolom bertipe kategorikal

Warna
Merah
Putih
Biru
Merah
Machine Learning untuk Pemasaran dengan Python

Hasil one-hot encoding

Begini hasilnya saat ditransformasi dengan one-hot encoding.

Warna Merah Putih Biru
Merah ----------> 1 0 0
Putih ----------> 0 1 0
Biru ----------> 0 0 1
Merah ----------> 1 0 0
Machine Learning untuk Pemasaran dengan Python

One-hot encoding variabel kategorikal

One-hot encoding variabel kategorikal

telco_raw = pd.get_dummies(data=telco_raw, columns=categorical, drop_first=True)
Machine Learning untuk Pemasaran dengan Python

Menskalakan fitur numerik

# Import StandardScaler library
from sklearn.preprocessing import StandardScaler

# Initialize StandardScaler instance scaler = StandardScaler()
# Fit the scaler to numerical columns scaled_numerical = scaler.fit_transform(telco_raw[numerical])
# Build a DataFrame scaled_numerical = pd.DataFrame(scaled_numerical, columns=numerical)
Machine Learning untuk Pemasaran dengan Python

Menggabungkan semuanya

# Drop non-scaled numerical columns 
telco_raw = telco_raw.drop(columns=numerical, axis=1)

# Merge the non-numerical with the scaled numerical data telco = telco_raw.merge(right=scaled_numerical, how='left', left_index=True, right_index=True )
Machine Learning untuk Pemasaran dengan Python

Ayo berlatih pra-pemrosesan data!

Machine Learning untuk Pemasaran dengan Python

Preparing Video For Download...