pushing files to the repo from the example!
Browse files- README.md +219 -0
- churn.pkl +3 -0
- config.json +129 -0
- confusion_matrix.png +0 -0
README.md
ADDED
@@ -0,0 +1,219 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: mit
|
3 |
+
library_name: sklearn
|
4 |
+
tags:
|
5 |
+
- sklearn
|
6 |
+
- skops
|
7 |
+
- tabular-classification
|
8 |
+
model_file: churn.pkl
|
9 |
+
widget:
|
10 |
+
structuredData:
|
11 |
+
Contract:
|
12 |
+
- Two year
|
13 |
+
- Month-to-month
|
14 |
+
- One year
|
15 |
+
Dependents:
|
16 |
+
- 'Yes'
|
17 |
+
- 'No'
|
18 |
+
- 'No'
|
19 |
+
DeviceProtection:
|
20 |
+
- 'No'
|
21 |
+
- 'No'
|
22 |
+
- 'Yes'
|
23 |
+
InternetService:
|
24 |
+
- Fiber optic
|
25 |
+
- Fiber optic
|
26 |
+
- DSL
|
27 |
+
MonthlyCharges:
|
28 |
+
- 79.05
|
29 |
+
- 84.95
|
30 |
+
- 68.8
|
31 |
+
MultipleLines:
|
32 |
+
- 'Yes'
|
33 |
+
- 'Yes'
|
34 |
+
- 'Yes'
|
35 |
+
OnlineBackup:
|
36 |
+
- 'No'
|
37 |
+
- 'No'
|
38 |
+
- 'Yes'
|
39 |
+
OnlineSecurity:
|
40 |
+
- 'Yes'
|
41 |
+
- 'No'
|
42 |
+
- 'Yes'
|
43 |
+
PaperlessBilling:
|
44 |
+
- 'No'
|
45 |
+
- 'Yes'
|
46 |
+
- 'No'
|
47 |
+
Partner:
|
48 |
+
- 'Yes'
|
49 |
+
- 'Yes'
|
50 |
+
- 'No'
|
51 |
+
PaymentMethod:
|
52 |
+
- Bank transfer (automatic)
|
53 |
+
- Electronic check
|
54 |
+
- Bank transfer (automatic)
|
55 |
+
PhoneService:
|
56 |
+
- 'Yes'
|
57 |
+
- 'Yes'
|
58 |
+
- 'Yes'
|
59 |
+
SeniorCitizen:
|
60 |
+
- 0
|
61 |
+
- 0
|
62 |
+
- 0
|
63 |
+
StreamingMovies:
|
64 |
+
- 'No'
|
65 |
+
- 'No'
|
66 |
+
- 'No'
|
67 |
+
StreamingTV:
|
68 |
+
- 'No'
|
69 |
+
- 'Yes'
|
70 |
+
- 'No'
|
71 |
+
TechSupport:
|
72 |
+
- 'No'
|
73 |
+
- 'No'
|
74 |
+
- 'Yes'
|
75 |
+
TotalCharges:
|
76 |
+
- 5730.7
|
77 |
+
- 1378.25
|
78 |
+
- 4111.35
|
79 |
+
gender:
|
80 |
+
- Female
|
81 |
+
- Female
|
82 |
+
- Male
|
83 |
+
tenure:
|
84 |
+
- 72
|
85 |
+
- 16
|
86 |
+
- 63
|
87 |
+
---
|
88 |
+
|
89 |
+
# Model description
|
90 |
+
|
91 |
+
This is a Logistic Regression model trained on churn dataset.
|
92 |
+
|
93 |
+
## Intended uses & limitations
|
94 |
+
|
95 |
+
This model is not ready to be used in production.
|
96 |
+
|
97 |
+
## Training Procedure
|
98 |
+
|
99 |
+
### Hyperparameters
|
100 |
+
|
101 |
+
The model is trained with below hyperparameters.
|
102 |
+
|
103 |
+
<details>
|
104 |
+
<summary> Click to expand </summary>
|
105 |
+
|
106 |
+
| Hyperparameter | Value |
|
107 |
+
|--------------------------------------------|-----------------------------------------------------------------------------------|
|
108 |
+
| memory | |
|
109 |
+
| steps | [('preprocessor', ColumnTransformer(transformers=[('num',<br /> Pipeline(steps=[('imputer',<br /> SimpleImputer(strategy='median')),<br /> ('std_scaler',<br /> StandardScaler())]),<br /> ['MonthlyCharges', 'TotalCharges', 'tenure']),<br /> ('cat', OneHotEncoder(handle_unknown='ignore'),<br /> ['SeniorCitizen', 'gender', 'Partner',<br /> 'Dependents', 'PhoneService', 'MultipleLines',<br /> 'InternetService', 'OnlineSecurity',<br /> 'OnlineBackup', 'DeviceProtection',<br /> 'TechSupport', 'StreamingTV',<br /> 'StreamingMovies', 'Contract',<br /> 'PaperlessBilling', 'PaymentMethod'])])), ('classifier', LogisticRegression(class_weight='balanced', max_iter=300))] |
|
110 |
+
| verbose | False |
|
111 |
+
| preprocessor | ColumnTransformer(transformers=[('num',<br /> Pipeline(steps=[('imputer',<br /> SimpleImputer(strategy='median')),<br /> ('std_scaler',<br /> StandardScaler())]),<br /> ['MonthlyCharges', 'TotalCharges', 'tenure']),<br /> ('cat', OneHotEncoder(handle_unknown='ignore'),<br /> ['SeniorCitizen', 'gender', 'Partner',<br /> 'Dependents', 'PhoneService', 'MultipleLines',<br /> 'InternetService', 'OnlineSecurity',<br /> 'OnlineBackup', 'DeviceProtection',<br /> 'TechSupport', 'StreamingTV',<br /> 'StreamingMovies', 'Contract',<br /> 'PaperlessBilling', 'PaymentMethod'])]) |
|
112 |
+
| classifier | LogisticRegression(class_weight='balanced', max_iter=300) |
|
113 |
+
| preprocessor__n_jobs | |
|
114 |
+
| preprocessor__remainder | drop |
|
115 |
+
| preprocessor__sparse_threshold | 0.3 |
|
116 |
+
| preprocessor__transformer_weights | |
|
117 |
+
| preprocessor__transformers | [('num', Pipeline(steps=[('imputer', SimpleImputer(strategy='median')),<br /> ('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'])] |
|
118 |
+
| preprocessor__verbose | False |
|
119 |
+
| preprocessor__verbose_feature_names_out | True |
|
120 |
+
| preprocessor__num | Pipeline(steps=[('imputer', SimpleImputer(strategy='median')),<br /> ('std_scaler', StandardScaler())]) |
|
121 |
+
| preprocessor__cat | OneHotEncoder(handle_unknown='ignore') |
|
122 |
+
| preprocessor__num__memory | |
|
123 |
+
| preprocessor__num__steps | [('imputer', SimpleImputer(strategy='median')), ('std_scaler', StandardScaler())] |
|
124 |
+
| preprocessor__num__verbose | False |
|
125 |
+
| preprocessor__num__imputer | SimpleImputer(strategy='median') |
|
126 |
+
| preprocessor__num__std_scaler | StandardScaler() |
|
127 |
+
| preprocessor__num__imputer__add_indicator | False |
|
128 |
+
| preprocessor__num__imputer__copy | True |
|
129 |
+
| preprocessor__num__imputer__fill_value | |
|
130 |
+
| preprocessor__num__imputer__missing_values | nan |
|
131 |
+
| preprocessor__num__imputer__strategy | median |
|
132 |
+
| preprocessor__num__imputer__verbose | deprecated |
|
133 |
+
| preprocessor__num__std_scaler__copy | True |
|
134 |
+
| preprocessor__num__std_scaler__with_mean | True |
|
135 |
+
| preprocessor__num__std_scaler__with_std | True |
|
136 |
+
| preprocessor__cat__categories | auto |
|
137 |
+
| preprocessor__cat__drop | |
|
138 |
+
| preprocessor__cat__dtype | <class 'numpy.float64'> |
|
139 |
+
| preprocessor__cat__handle_unknown | ignore |
|
140 |
+
| preprocessor__cat__max_categories | |
|
141 |
+
| preprocessor__cat__min_frequency | |
|
142 |
+
| preprocessor__cat__sparse | True |
|
143 |
+
| classifier__C | 1.0 |
|
144 |
+
| classifier__class_weight | balanced |
|
145 |
+
| classifier__dual | False |
|
146 |
+
| classifier__fit_intercept | True |
|
147 |
+
| classifier__intercept_scaling | 1 |
|
148 |
+
| classifier__l1_ratio | |
|
149 |
+
| classifier__max_iter | 300 |
|
150 |
+
| classifier__multi_class | auto |
|
151 |
+
| classifier__n_jobs | |
|
152 |
+
| classifier__penalty | l2 |
|
153 |
+
| classifier__random_state | |
|
154 |
+
| classifier__solver | lbfgs |
|
155 |
+
| classifier__tol | 0.0001 |
|
156 |
+
| classifier__verbose | 0 |
|
157 |
+
| classifier__warm_start | False |
|
158 |
+
|
159 |
+
</details>
|
160 |
+
|
161 |
+
### Model Plot
|
162 |
+
|
163 |
+
The model plot is below.
|
164 |
+
|
165 |
+
<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: "▸";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: "";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id="sk-container-id-1" class="sk-top-container"><div class="sk-text-repr-fallback"><pre>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))])</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class="sk-container" hidden><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-1" type="checkbox" ><label for="sk-estimator-id-1" class="sk-toggleable__label sk-toggleable__label-arrow">Pipeline</label><div class="sk-toggleable__content"><pre>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))])</pre></div></div></div><div class="sk-serial"><div class="sk-item sk-dashed-wrapped"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-2" type="checkbox" ><label for="sk-estimator-id-2" class="sk-toggleable__label sk-toggleable__label-arrow">preprocessor: ColumnTransformer</label><div class="sk-toggleable__content"><pre>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'])])</pre></div></div></div><div class="sk-parallel"><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-3" type="checkbox" ><label for="sk-estimator-id-3" class="sk-toggleable__label sk-toggleable__label-arrow">num</label><div class="sk-toggleable__content"><pre>['MonthlyCharges', 'TotalCharges', 'tenure']</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-4" type="checkbox" ><label for="sk-estimator-id-4" class="sk-toggleable__label sk-toggleable__label-arrow">SimpleImputer</label><div class="sk-toggleable__content"><pre>SimpleImputer(strategy='median')</pre></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-5" type="checkbox" ><label for="sk-estimator-id-5" class="sk-toggleable__label sk-toggleable__label-arrow">StandardScaler</label><div class="sk-toggleable__content"><pre>StandardScaler()</pre></div></div></div></div></div></div></div></div><div class="sk-parallel-item"><div class="sk-item"><div class="sk-label-container"><div class="sk-label sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-6" type="checkbox" ><label for="sk-estimator-id-6" class="sk-toggleable__label sk-toggleable__label-arrow">cat</label><div class="sk-toggleable__content"><pre>['SeniorCitizen', 'gender', 'Partner', 'Dependents', 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod']</pre></div></div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-7" type="checkbox" ><label for="sk-estimator-id-7" class="sk-toggleable__label sk-toggleable__label-arrow">OneHotEncoder</label><div class="sk-toggleable__content"><pre>OneHotEncoder(handle_unknown='ignore')</pre></div></div></div></div></div></div></div></div><div class="sk-item"><div class="sk-estimator sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-8" type="checkbox" ><label for="sk-estimator-id-8" class="sk-toggleable__label sk-toggleable__label-arrow">LogisticRegression</label><div class="sk-toggleable__content"><pre>LogisticRegression(class_weight='balanced', max_iter=300)</pre></div></div></div></div></div></div></div>
|
166 |
+
|
167 |
+
## Evaluation Results
|
168 |
+
|
169 |
+
You can find the details about evaluation process and the evaluation results.
|
170 |
+
|
171 |
+
|
172 |
+
|
173 |
+
| Metric | Value |
|
174 |
+
|----------|----------|
|
175 |
+
| accuracy | 0.730305 |
|
176 |
+
| f1 score | 0.730305 |
|
177 |
+
|
178 |
+
# How to Get Started with the Model
|
179 |
+
|
180 |
+
Use the code below to get started with the model.
|
181 |
+
|
182 |
+
```python
|
183 |
+
import joblib
|
184 |
+
import json
|
185 |
+
import pandas as pd
|
186 |
+
clf = joblib.load(churn.pkl)
|
187 |
+
with open("config.json") as f:
|
188 |
+
config = json.load(f)
|
189 |
+
clf.predict(pd.DataFrame.from_dict(config["sklearn"]["example_input"]))
|
190 |
+
```
|
191 |
+
|
192 |
+
|
193 |
+
# Model Card Authors
|
194 |
+
|
195 |
+
This model card is written by following authors:
|
196 |
+
|
197 |
+
skops_user
|
198 |
+
|
199 |
+
# Model Card Contact
|
200 |
+
|
201 |
+
You can contact the model card authors through following channels:
|
202 |
+
[More Information Needed]
|
203 |
+
|
204 |
+
# Citation
|
205 |
+
|
206 |
+
Below you can find information related to citation.
|
207 |
+
|
208 |
+
**BibTeX:**
|
209 |
+
```
|
210 |
+
bibtex
|
211 |
+
@inproceedings{...,year={2020}}
|
212 |
+
```
|
213 |
+
|
214 |
+
|
215 |
+
# Additional Content
|
216 |
+
|
217 |
+
## confusion_matrix
|
218 |
+
|
219 |
+
![confusion_matrix](confusion_matrix.png)
|
churn.pkl
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:8b11dada9e639d7770537daf493675f1c499516c362a9e233bfee765ab3a5bed
|
3 |
+
size 4439
|
config.json
ADDED
@@ -0,0 +1,129 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"sklearn": {
|
3 |
+
"columns": [
|
4 |
+
"gender",
|
5 |
+
"SeniorCitizen",
|
6 |
+
"Partner",
|
7 |
+
"Dependents",
|
8 |
+
"tenure",
|
9 |
+
"PhoneService",
|
10 |
+
"MultipleLines",
|
11 |
+
"InternetService",
|
12 |
+
"OnlineSecurity",
|
13 |
+
"OnlineBackup",
|
14 |
+
"DeviceProtection",
|
15 |
+
"TechSupport",
|
16 |
+
"StreamingTV",
|
17 |
+
"StreamingMovies",
|
18 |
+
"Contract",
|
19 |
+
"PaperlessBilling",
|
20 |
+
"PaymentMethod",
|
21 |
+
"MonthlyCharges",
|
22 |
+
"TotalCharges"
|
23 |
+
],
|
24 |
+
"environment": [
|
25 |
+
"scikit-learn=1.1.1"
|
26 |
+
],
|
27 |
+
"example_input": {
|
28 |
+
"Contract": [
|
29 |
+
"Two year",
|
30 |
+
"Month-to-month",
|
31 |
+
"One year"
|
32 |
+
],
|
33 |
+
"Dependents": [
|
34 |
+
"Yes",
|
35 |
+
"No",
|
36 |
+
"No"
|
37 |
+
],
|
38 |
+
"DeviceProtection": [
|
39 |
+
"No",
|
40 |
+
"No",
|
41 |
+
"Yes"
|
42 |
+
],
|
43 |
+
"InternetService": [
|
44 |
+
"Fiber optic",
|
45 |
+
"Fiber optic",
|
46 |
+
"DSL"
|
47 |
+
],
|
48 |
+
"MonthlyCharges": [
|
49 |
+
79.05,
|
50 |
+
84.95,
|
51 |
+
68.8
|
52 |
+
],
|
53 |
+
"MultipleLines": [
|
54 |
+
"Yes",
|
55 |
+
"Yes",
|
56 |
+
"Yes"
|
57 |
+
],
|
58 |
+
"OnlineBackup": [
|
59 |
+
"No",
|
60 |
+
"No",
|
61 |
+
"Yes"
|
62 |
+
],
|
63 |
+
"OnlineSecurity": [
|
64 |
+
"Yes",
|
65 |
+
"No",
|
66 |
+
"Yes"
|
67 |
+
],
|
68 |
+
"PaperlessBilling": [
|
69 |
+
"No",
|
70 |
+
"Yes",
|
71 |
+
"No"
|
72 |
+
],
|
73 |
+
"Partner": [
|
74 |
+
"Yes",
|
75 |
+
"Yes",
|
76 |
+
"No"
|
77 |
+
],
|
78 |
+
"PaymentMethod": [
|
79 |
+
"Bank transfer (automatic)",
|
80 |
+
"Electronic check",
|
81 |
+
"Bank transfer (automatic)"
|
82 |
+
],
|
83 |
+
"PhoneService": [
|
84 |
+
"Yes",
|
85 |
+
"Yes",
|
86 |
+
"Yes"
|
87 |
+
],
|
88 |
+
"SeniorCitizen": [
|
89 |
+
0,
|
90 |
+
0,
|
91 |
+
0
|
92 |
+
],
|
93 |
+
"StreamingMovies": [
|
94 |
+
"No",
|
95 |
+
"No",
|
96 |
+
"No"
|
97 |
+
],
|
98 |
+
"StreamingTV": [
|
99 |
+
"No",
|
100 |
+
"Yes",
|
101 |
+
"No"
|
102 |
+
],
|
103 |
+
"TechSupport": [
|
104 |
+
"No",
|
105 |
+
"No",
|
106 |
+
"Yes"
|
107 |
+
],
|
108 |
+
"TotalCharges": [
|
109 |
+
5730.7,
|
110 |
+
1378.25,
|
111 |
+
4111.35
|
112 |
+
],
|
113 |
+
"gender": [
|
114 |
+
"Female",
|
115 |
+
"Female",
|
116 |
+
"Male"
|
117 |
+
],
|
118 |
+
"tenure": [
|
119 |
+
72,
|
120 |
+
16,
|
121 |
+
63
|
122 |
+
]
|
123 |
+
},
|
124 |
+
"model": {
|
125 |
+
"file": "churn.pkl"
|
126 |
+
},
|
127 |
+
"task": "tabular-classification"
|
128 |
+
}
|
129 |
+
}
|
confusion_matrix.png
ADDED