Chuẩn bị cho mô hình hóa

Machine Learning cho Marketing với Python

Karolis Urbonas

Head of Analytics & Science, Amazon

Mẫu dữ liệu

telco_raw.head()

Tiêu đề dữ liệu viễn thông

Machine Learning cho Marketing với Python

Kiểu dữ liệu

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 cho Marketing với Python

Tách cột phân loại và cột số

Tách tên định danh và biến mục tiêu thành danh sách

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

Tách tên cột phân loại và số thành danh sách

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 cho Marketing với Python

Mã hóa one-hot

Đây là một cột dữ liệu phân loại điển hình

Màu
Red
White
Blue
Red
Machine Learning cho Marketing với Python

Kết quả mã hóa one-hot

Và đây là cách dữ liệu trông như sau khi mã hóa one-hot.

Màu Red White Blue
Red ----------> 1 0 0
White ----------> 0 1 0
Blue ----------> 0 0 1
Red ----------> 1 0 0
Machine Learning cho Marketing với Python

Mã hóa one-hot biến phân loại

Mã hóa one-hot biến phân loại

telco_raw = pd.get_dummies(data=telco_raw, columns=categorical, drop_first=True)
Machine Learning cho Marketing với Python

Chuẩn hóa đặc trưng số

# 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 cho Marketing với Python

Tổng hợp mọi bước

# 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 cho Marketing với Python

Hãy thực hành tiền xử lý dữ liệu!

Machine Learning cho Marketing với Python

Preparing Video For Download...