churn-model1 / README.md
rajistics's picture
pushing files to the repo from the example!
bcef795
metadata
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 <class 'numpy.float64'>
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.

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