--- license: mit library_name: sklearn tags: - sklearn - skops - tabular-classification model_file: churn.pkl widget: structuredData: Contract: - Two year - Month-to-month - One year Dependents: - 'Yes' - 'No' - 'No' DeviceProtection: - 'No' - 'No' - 'Yes' InternetService: - Fiber optic - Fiber optic - DSL MonthlyCharges: - 79.05 - 84.95 - 68.8 MultipleLines: - 'Yes' - 'Yes' - 'Yes' OnlineBackup: - 'No' - 'No' - 'Yes' OnlineSecurity: - 'Yes' - 'No' - 'Yes' PaperlessBilling: - 'No' - 'Yes' - 'No' Partner: - 'Yes' - 'Yes' - 'No' PaymentMethod: - Bank transfer (automatic) - Electronic check - Bank transfer (automatic) PhoneService: - 'Yes' - 'Yes' - 'Yes' SeniorCitizen: - 0 - 0 - 0 StreamingMovies: - 'No' - 'No' - 'No' StreamingTV: - 'No' - 'Yes' - 'No' TechSupport: - 'No' - 'No' - 'Yes' TotalCharges: - 5730.7 - 1378.25 - 4111.35 gender: - Female - Female - Male tenure: - 72 - 16 - 63 --- # Model description This is a Logistic Regression model trained on churn dataset. ## Intended uses & limitations This model is not ready to be used in production. ## Training Procedure ### Hyperparameters The model is trained with below hyperparameters.
Click to expand | Hyperparameter | Value | |--------------------------------------------|-----------------------------------------------------------------------------------| | memory | | | steps | [('preprocessor', ColumnTransformer(transformers=[('num',
Pipeline(steps=[('imputer',
SimpleImputer(strategy='median')),
('std_scaler',
StandardScaler())]),
['MonthlyCharges', 'TotalCharges', 'tenure']),
('cat', OneHotEncoder(handle_unknown='ignore'),
['SeniorCitizen', 'gender', 'Partner',
'Dependents', 'PhoneService', 'MultipleLines',
'InternetService', 'OnlineSecurity',
'OnlineBackup', 'DeviceProtection',
'TechSupport', 'StreamingTV',
'StreamingMovies', 'Contract',
'PaperlessBilling', 'PaymentMethod'])])), ('classifier', LogisticRegression(class_weight='balanced', max_iter=300))] | | verbose | False | | preprocessor | ColumnTransformer(transformers=[('num',
Pipeline(steps=[('imputer',
SimpleImputer(strategy='median')),
('std_scaler',
StandardScaler())]),
['MonthlyCharges', 'TotalCharges', 'tenure']),
('cat', OneHotEncoder(handle_unknown='ignore'),
['SeniorCitizen', 'gender', 'Partner',
'Dependents', 'PhoneService', 'MultipleLines',
'InternetService', 'OnlineSecurity',
'OnlineBackup', 'DeviceProtection',
'TechSupport', 'StreamingTV',
'StreamingMovies', 'Contract',
'PaperlessBilling', 'PaymentMethod'])]) | | classifier | LogisticRegression(class_weight='balanced', max_iter=300) | | preprocessor__n_jobs | | | preprocessor__remainder | drop | | preprocessor__sparse_threshold | 0.3 | | preprocessor__transformer_weights | | | preprocessor__transformers | [('num', Pipeline(steps=[('imputer', SimpleImputer(strategy='median')),
('std_scaler', StandardScaler())]), ['MonthlyCharges', 'TotalCharges', 'tenure']), ('cat', OneHotEncoder(handle_unknown='ignore'), ['SeniorCitizen', 'gender', 'Partner', 'Dependents', 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod'])] | | preprocessor__verbose | False | | preprocessor__verbose_feature_names_out | True | | preprocessor__num | Pipeline(steps=[('imputer', SimpleImputer(strategy='median')),
('std_scaler', StandardScaler())]) | | preprocessor__cat | OneHotEncoder(handle_unknown='ignore') | | preprocessor__num__memory | | | preprocessor__num__steps | [('imputer', SimpleImputer(strategy='median')), ('std_scaler', StandardScaler())] | | preprocessor__num__verbose | False | | preprocessor__num__imputer | SimpleImputer(strategy='median') | | preprocessor__num__std_scaler | StandardScaler() | | preprocessor__num__imputer__add_indicator | False | | preprocessor__num__imputer__copy | True | | preprocessor__num__imputer__fill_value | | | preprocessor__num__imputer__missing_values | nan | | preprocessor__num__imputer__strategy | median | | preprocessor__num__imputer__verbose | 0 | | preprocessor__num__std_scaler__copy | True | | preprocessor__num__std_scaler__with_mean | True | | preprocessor__num__std_scaler__with_std | True | | preprocessor__cat__categories | auto | | preprocessor__cat__drop | | | preprocessor__cat__dtype | | | preprocessor__cat__handle_unknown | ignore | | preprocessor__cat__sparse | True | | classifier__C | 1.0 | | classifier__class_weight | balanced | | classifier__dual | False | | classifier__fit_intercept | True | | classifier__intercept_scaling | 1 | | classifier__l1_ratio | | | classifier__max_iter | 300 | | classifier__multi_class | auto | | classifier__n_jobs | | | classifier__penalty | l2 | | classifier__random_state | | | classifier__solver | lbfgs | | classifier__tol | 0.0001 | | classifier__verbose | 0 | | classifier__warm_start | False |
### Model Plot The model plot is below.
Pipeline(steps=[('preprocessor',ColumnTransformer(transformers=[('num',Pipeline(steps=[('imputer',SimpleImputer(strategy='median')),('std_scaler',StandardScaler())]),['MonthlyCharges','TotalCharges', 'tenure']),('cat',OneHotEncoder(handle_unknown='ignore'),['SeniorCitizen', 'gender','Partner', 'Dependents','PhoneService','MultipleLines','InternetService','OnlineSecurity','OnlineBackup','DeviceProtection','TechSupport', 'StreamingTV','StreamingMovies','Contract','PaperlessBilling','PaymentMethod'])])),('classifier',LogisticRegression(class_weight='balanced', max_iter=300))])
Please rerun this cell to show the HTML repr or trust the notebook.
## Evaluation Results You can find the details about evaluation process and the evaluation results. | Metric | Value | |----------|----------| | accuracy | 0.730305 | | f1 score | 0.730305 | # How to Get Started with the Model Use the code below to get started with the model. ```python import joblib import json import pandas as pd clf = joblib.load(churn.pkl) with open("config.json") as f: config = json.load(f) clf.predict(pd.DataFrame.from_dict(config["sklearn"]["example_input"])) ``` # Model Card Authors This model card is written by following authors: skops_user # Model Card Contact You can contact the model card authors through following channels: [More Information Needed] # Citation Below you can find information related to citation. **BibTeX:** ``` bibtex @inproceedings{...,year={2020}} ``` # Additional Content ## confusion_matrix ![confusion_matrix](confusion_matrix.png)