Tuning your model

Marketing Analytics: Predicting Customer Churn in Python

Mark Peterson

Director of Data Science, Infoblox

Refresher

from sklearn.svm import SVC

svc = SVC()

svc.fit(telco['data'], telco['target'])
SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,
  decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',
  max_iter=-1, probability=False, random_state=None, shrinking=True,
  tol=0.001, verbose=False)
Marketing Analytics: Predicting Customer Churn in Python

Random forest hyperparameters

Parameter Purpose
n_estimators Number of trees
criterion Quality of Split
max_features Number of features for best split
max_depth Max depth of tree
min_sample_splits Minimum samples to split node
bootstrap Whether Bootstrap samples are used
Marketing Analytics: Predicting Customer Churn in Python

Grid search

Marketing Analytics: Predicting Customer Churn in Python

Grid search in sklearn

from sklearn.model_selection import GridSearchCV

param_grid = {'n_estimators': np.arange(10, 51)}
clf_cv = GridSearchCV(RandomForestClassifier(), param_grid)
clf_cv.fit(X, y)
clf_cv.best_params_
{'n_estimators': 43}
clf_cv.best_score_
0.9237923792379238
Marketing Analytics: Predicting Customer Churn in Python

Happy tuning!

Marketing Analytics: Predicting Customer Churn in Python

Preparing Video For Download...