drdavidprivacy commited on
Commit
350cbfc
·
verified ·
1 Parent(s): 76efae5

Upload 6 files

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Model-Card_Becker-exemplar.pdf filter=lfs diff=lfs merge=lfs -text
Model-Card_Becker-exemplar.pdf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b46dfc76760cde4fde4fbfd793a485987f6f195240148b5526a0a2a898d67ec0
3
+ size 134886
README.md CHANGED
@@ -1,3 +1,285 @@
1
  ---
2
  license: cc-by-4.0
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: cc-by-4.0
3
+ library_name: sklearn
4
+ pipeline_tag: tabular-classification
5
+ tags:
6
+ - tabular-classification
7
+ - logistic-regression
8
+ - ai-governance
9
+ - model-card
10
+ - fairlearn
11
+ - credit-risk
12
+ - fairness
13
+ - calibration
14
+ datasets:
15
+ - drdavidprivacy/limitwise-data
16
  ---
17
+ *LimitWise v2 is the version the Chief AI Officer signed in Week 6 of the AI Governance Practicum (Track 1). The organization, the system, and the people are fictional; the data is public. Educational use only, not for real decisions.*
18
+
19
+ **What is in this repository**
20
+
21
+ - `limitwise_v2.pkl`: 18,636 bytes, SHA-256 `9010c6ff9746c5dbf9cebff4c746832864c4f2321d016cc5f3b226847882f705`
22
+ - `limitwise_v2_recalibrated.pkl`: 89,015 bytes, SHA-256 `b6508dfcc69ca108e3f08fc2be0843dab1d2517355970b8e622e52a34127ca37`
23
+ - `limitwise_v2_Inside.csv`: every fitted column with its weight, and the intercept, as a table a person can read.
24
+ - `Model-Card_Becker-exemplar.pdf`: the card below as a PDF.
25
+
26
+ **Lineage:** trained on the remediated working file in [drdavidprivacy/limitwise-data](https://huggingface.co/datasets/drdavidprivacy/limitwise-data), which links to the file itself in [drdavidprivacy/practicum-case-packs](https://huggingface.co/datasets/drdavidprivacy/practicum-case-packs). Served by the Space [drdavidprivacy/limitwise](https://huggingface.co/spaces/drdavidprivacy/limitwise). Libraries: scikit-learn 1.9.1, fairlearn 0.15.0; the model does not load on another version of scikit-learn, by design.
27
+
28
+ **Model card below:** the AI Governance Lead's exemplar (Tom Becker), the answer key to the Week 6 Model Card. Students replace it with their own; see "Make this your own" at the end.
29
+
30
+ ---
31
+
32
+ # Model Card: LimitWise v2 (Corvana Bank)
33
+
34
+ **Analyst:** Tom Becker, AI Governance Lead (exemplar)
35
+ **Organization:** Corvana Bank
36
+ **System:** LimitWise
37
+ **Version documented:** v2 (recommended for signature), compared with v1
38
+ **Evidence:** Week 6 evaluation notebook, sections 1 to 15, and the documents cited by name
39
+
40
+
41
+ ## Section 1: Model details
42
+
43
+ **Objective:** Identify the model a reader is holding, and every fitted step production has to reproduce.
44
+
45
+ ### 1.1 Model name and organization
46
+
47
+ LimitWise, Corvana Bank's early-warning model for payment default in the next statement cycle (organization briefing).
48
+
49
+ ### 1.2 Version documented
50
+
51
+ This card documents v2, the version I recommend for signature (section 8). It was compared with v1, the champion the Chief AI Officer ratified in her Week 4 memo (notebook, sections 2 and 5).
52
+
53
+ ### 1.3 Model family and fixed configuration
54
+
55
+ Logistic regression, regularization C = 0.1, balanced class weights, scaled inputs. v1 is fitted on 27 inputs encoded as 98 columns. v2 is fitted on 93 columns after the four demographic fields are removed (Week 4 rationale, section 2, by reference, and notebook, sections 2 and 5).
56
+
57
+ ### 1.4 Fitted steps production must reproduce
58
+
59
+ The training-median fill for the payment ratio on the 3,175 accounts with no prior balance, the correlation remover, the scaler, and the isotonic recalibration (a monotone curve fitted to the cross-validated predictions on the training rows) that section 7 shows the calibration check passing with (notebook, sections 5 and 7, and Week 4 memo, 'What proceeds with an assumption and a control').
60
+
61
+ ### 1.5 Mitigation
62
+
63
+ Fairlearn's CorrelationRemover, fitted on the training rows against sex, age, marital status, and education. It removes from every other input the part that moves with those four fields, then drops the four, so the model never sees them (notebook, section 5).
64
+
65
+ ### 1.6 Artifacts and integrity hashes
66
+
67
+ limitwise_v2.pkl, 18,636 bytes, SHA-256 7842edc29acd316873ffa482db705ab2ea09427f8b4e1186436713d316de8ecb. limitwise_v1.pkl, 6,432 bytes, SHA-256 afbf9fea245c0d6b6ee9f2b8d7c4e0a115c77314c55891bf3573207c78ace019 (notebook, section 15).
68
+
69
+ ### 1.7 Owner and holder of this card
70
+
71
+ The modeling team builds and retrains the model. The AI Governance Office holds this card and the program file. The Chief AI Officer is the approver of record (organization briefing, and Week 2 memo).
72
+
73
+ ## Section 2: Intended use
74
+
75
+ **Objective:** What the model is for, who uses it, and what it may not do.
76
+
77
+ ### 2.1 Primary use
78
+
79
+ Rank the bank's open card accounts each statement cycle by the likelihood of a payment default in the next one, so that trouble is seen a cycle earlier than the behavioral scorecard sees it (Use Case Assessment, and Week 1 decision memo, by reference).
80
+
81
+ ### 2.2 Intended users
82
+
83
+ The people who make outreach calls and hardship offers. The score brings an account to a person's attention. The person decides what happens on that account (Week 1 decision memo, 'The decision').
84
+
85
+ ### 2.3 Posture and phase
86
+
87
+ Preventive first. The program is not yet in phase one (outreach calls and hardship offers only, a person reviewing every contact). No later phase, where a score could lead to a line decrease, an authorization block, or a closure, has been approved (Week 1 decision memo, and Program Record, Status tab).
88
+
89
+ ### 2.4 Out of scope
90
+
91
+ Out of scope today: contacting any cardholder, or touching any line, on a score. The use gate (the Chief AI Officer's permission for either) is closed until the calibration check and the reason-coverage check pass and the Week 2 watch list has run, and the Week 4 memo adds that outreach capacity must be written into the program file first (Week 3 memo, 'My decision on each', and Week 4 memo). A score is never a cardholder's probability of default until the calibration check passes on the version signed (section 7).
92
+
93
+ ## Section 3: Factors
94
+
95
+ **Objective:** The groups and conditions the model was tested across.
96
+
97
+ ### 3.1 Groups and the fields that define them
98
+
99
+ The groups the memos name: sex (the SEX field, 1 male, 2 female), age band (the AGE field in ten-year bands, under 25 to 65 and over), marital status (the recoded MARRIAGE field: married, single, other, unknown), and education (the recoded EDUCATION field: graduate school, university, high school, other, unknown) (Week 2 memo, item four, and datasheet, section 7).
100
+
101
+ ### 3.2 Demographic fields as model inputs
102
+
103
+ Model inputs: in v1, education is an input and the other three are held out. In v2, none of the four is an input, and every other input has had the part that moves with the four removed (notebook, sections 1 and 5).
104
+
105
+ ### 3.3 Groups too small to judge
106
+
107
+ Groups too small to judge against the tripwire (under 1,000 records in the extract): 55 to 64 (943 in the extract, 207 in the test set), 65 and over (110 and 23), marital status other (323 and 67) and unknown (54 and 4), education other (123 and 29) and unknown (345 and 57). They are reported with their rates and not judged (notebook, section 4).
108
+
109
+ ### 3.4 Limitation on every group measurement
110
+
111
+ Every group measurement carries the supplementary-card limitation: the demographic fields describe the primary cardholder's record, which may not be the person who uses the card, until the data owner says what share of accounts carry a supplementary card (Week 3 memo, and Program Record, Items tab, Item 13).
112
+
113
+ ## Section 4: Metrics
114
+
115
+ **Objective:** Which numbers the card reports, and why those and not others.
116
+
117
+ ### 4.1 Ranking and count-based metrics
118
+
119
+ The card reports two ranking metrics: ROC-AUC (how often a randomly chosen defaulter outranks a randomly chosen paying account) and PR-AUC (precision averaged over every possible cut, read against the file's 22.1 percent positive rate). The count-based metrics (flagged, caught, missed, false alarms, precision, recall) are reported at the operating point and not at the 0.50 reference threshold, because the bank acts on a share of the list and 0.50 is a setting on a 22.1 percent file (Week 4 rationale, sections 2 and 3, by reference, and notebook, section 3).
120
+
121
+ ### 4.2 Operating point
122
+
123
+ The operating point is the top 10 percent of the ranked list. A probability threshold is not usable: the mean predicted probability on the test rows is 0.431 against a book rate near 0.03, and a threshold moves at every retrain while a share does not (Week 4 memo, by reference, and notebook, section 3).
124
+
125
+ ### 4.3 Fairness measure
126
+
127
+ The fairness measure is the group false-alarm check: each group's false alarm rate at the operating point (paying accounts flagged, as a share of that group's paying accounts) against the portfolio's, with the tripwire that no group of 1,000 or more in the extract sits more than 20 percent above the portfolio rate. Equalized odds difference (the largest gap between groups in the miss rate or the false alarm rate) and demographic parity difference (the largest gap in the share flagged) are reported beside it as context. The tripwire decides (notebook, section 4, and Week 2 memo, item four).
128
+
129
+ ### 4.4 Calibration measure
130
+
131
+ In each of five score bands, mean predicted probability against observed default on the test set reweighted to the book rate, pass line within 25 percent of observed in every band (notebook, section 7, and Week 2 memo, item one).
132
+
133
+ ### 4.5 What the card does not report
134
+
135
+ Accuracy, because flagging nobody is 77.9 percent accurate on this file, and any dollar figure, because the amount unit is unconfirmed (Week 3 memo, the no-dollar-figure rule, and Week 4 audit briefing).
136
+
137
+ ## Section 5: Evaluation data
138
+
139
+ **Objective:** What the model was tested on, and what that data is not.
140
+
141
+ ### 5.1 The test set
142
+
143
+ The test set is 5,999 accounts, 1,327 defaulters and 4,672 paying accounts, 22.1 percent default. It was split off in Week 3, at random by row and stratified on the outcome, 20 percent of the working file, seed 42. It was read once in Week 4 (section 9) to confirm the cross-validation order, and it is read here to evaluate v1 and v2. Nothing in this card was chosen on it (notebook, sections 2 and 3, and Week 3 memo, the decision gate).
144
+
145
+ ### 5.2 Reweighting for the calibration check
146
+
147
+ For the calibration check the test set is reweighted so each paying account counts 9.18 times and each defaulter once, which makes it stand in for a book defaulting at 3.0 percent. The reweighting assumes the extract was drawn at random within each outcome. That assumption is the open item on the sampling method, and if the sampling memo says otherwise the calibration tables are rerun (notebook, section 7, and datasheet, the open item on the sampling method).
148
+
149
+ ### 5.3 What the test set is not
150
+
151
+ The test set is not the bank's book. It is 5,999 accounts from an extract enriched to 22.1 percent default. No count in this card is a count on the book, and the 65 and over group that holds 23 accounts here would hold about 18,000 cardholders there (Week 3 memo, and Week 2 memo, item four).
152
+
153
+ ## Section 6: Training data
154
+
155
+ **Objective:** Where the model learned.
156
+
157
+ ### 6.1 Working file
158
+
159
+ The working file is corvana_modeling_extract_remediated.csv: 29,995 accounts, 27 model inputs, 22.1 percent default (6,635 accounts), MD5 f79f13a5119f78572e9f6cc3243ea6ae (datasheet, by reference, and notebook, section 1).
160
+
161
+ ### 6.2 Training rows
162
+
163
+ 23,996, at 22.1 percent default (notebook, section 2).
164
+
165
+ ### 6.3 Remediation behind the file
166
+
167
+ The file is the output of the twelve-row remediation log the Chief AI Officer ratified in Week 3: the status recode, the education and marriage recodes, the two derived ratios, the five removed duplicate rows, and the recorded split (datasheet, sections 11 and 12).
168
+
169
+ ### 6.4 Open items on the data
170
+
171
+ Open items on the data that still stand: Item 02, repayment-status codes 0 and -2. Item 05, undocumented education and marriage codes. Item 06, sampling method and calibration against the book. Item 10, amount unit. Item 11, repeated patterns. Item 12, one rule for six months. Item 13, supplementary-card demographics (Program Record, Items tab).
172
+
173
+ ## Section 7: Quantitative analyses
174
+
175
+ **Objective:** The results, read against the fold ranges, the tripwire, and the pass lines, for the version you will recommend.
176
+
177
+ ### 7.1 Table A
178
+
179
+ *Table A. v1 against v2 on the test set.*
180
+
181
+ | | v1 (as trained) | v2 (correlation removed) | Notebook section |
182
+ |---|---|---|---|
183
+ | Cross-validation ROC-AUC, mean (spread) | 0.774 (0.018) | 0.765 (0.014) | 6 |
184
+ | Test-set ROC-AUC | 0.772 | 0.758 | 6 |
185
+ | Test-set PR-AUC | 0.530 | 0.526 | 6 |
186
+ | Top 10 percent: flagged | 600 | 600 | 6 |
187
+ | Top 10 percent: defaulters caught | 410 | 402 | 6 |
188
+ | Top 10 percent: defaulters missed | 917 | 925 | 6 |
189
+ | Top 10 percent: false alarms | 190 | 198 | 6 |
190
+ | Top 10 percent: precision | 0.683 | 0.670 | 6 |
191
+ | Top 10 percent: recall | 0.309 | 0.303 | 6 |
192
+ | Groups that tripped the false-alarm tripwire | under 25 (45 percent above), high school (57 percent above) | under 25 (39 percent above), high school (36 percent above) | 4 and 6 |
193
+ | Calibration after fitted recalibration (pass or the failing band) | pass, worst band 15.7 percent of observed | pass, worst band 8.7 percent of observed | 7 |
194
+
195
+ ### 7.2 v1 against the Week 4 fold range
196
+
197
+ v1 against the Week 4 fold range: ROC-AUC 0.772 sits inside 0.763 to 0.780, PR-AUC 0.530 inside 0.515 to 0.557, precision and F1 at 0.50 inside their ranges. Recall at 0.50 is 0.570, below its range of 0.582 to 0.610, a dip of about a hundredth in a count-based metric at a threshold the bank does not use. The ranking metrics hold, so the Week 4 choice stands (notebook, section 3).
198
+
199
+ ### 7.3 Fairness
200
+
201
+ Two groups trip for v1: under 25 at a false alarm rate of 0.059 against the portfolio's 0.041 (45 percent above), and high school at 0.064 (57 percent above). Both still trip for v2: under 25 at 0.059 against 0.042 (39 percent above), high school at 0.058 (36 percent above). Sex and marital status pass for both. Equalized odds difference on education falls from 0.074 to 0.032 and on age band from 0.172 to 0.149. Removing the four fields shrank both gaps and closed neither, so the version I recommend cannot be chosen on the tripwire alone. It is chosen on what it costs against what it moves (section 8) (notebook, sections 4 and 6).
202
+
203
+ ### 7.4 Calibration
204
+
205
+ Calibration, v2. Raw: every band fails, the top band predicting 0.405 against 0.032 observed. After the odds correction alone: the top band fails at 30.0 percent of observed. After the fitted recalibration and the odds correction: every band passes, the worst at 8.7 percent, with the ranking unchanged (rank correlation 0.998). v1 passes the same way, worst band 15.7 percent. A score from either version is a ranking until both fitted steps run in production. With them, it is a probability the bank may act on (notebook, section 7).
206
+
207
+ ## Section 8: Fairness and explainability decision record
208
+
209
+ **Objective:** The recommendation, and the evidence it rests on.
210
+
211
+ ### 8.1 Recommended version
212
+
213
+ I recommend the Chief AI Officer sign v2.
214
+
215
+ ### 8.2 The two numbers
216
+
217
+ V2 gives up 0.014 of ROC-AUC on the test set (0.772 against 0.758) and 8 defaulters out of 600 at the operating point (410 against 402), with 8 more false alarms (190 against 198). It gains on the two groups that tripped: high school falls from 57 percent above the portfolio false alarm rate to 36 percent, under 25 from 45 to 39. 564 of the 600 flagged accounts are on both lists (notebook, section 6).
218
+
219
+ ### 8.3 The group false-alarm tripwire
220
+
221
+ Neither version clears the tripwire, and the reason is in the label before any model exists: under 25 defaults at 27.2 percent against 20.3 for 25 to 34, high school at 25.2 against 19.2 for graduate school. A model that ranks by default risk flags more of those groups' paying accounts too. Removing the correlation shrank the gap and could not close it. I recommend the item escalate with one question: may phase one, where a false alarm is a call reviewed by a person, open on v2 with the two groups watched monthly under her Week 1 condition four, or is a per-group operating point to be tested first. That is her call, with Customer Advocacy, not this office's (notebook, sections 4 and 6, and Week 2 memo, item four).
222
+
223
+ ### 8.4 Explanation evidence
224
+
225
+ V2's score is driven by the most recent month's repayment status (the undocumented no-delinquency code and the two-month delay), the two most recent bill amounts, the credit limit, and recent utilization. For the caught account (working-file ID 15501), the missed account (ID 9857), and the false alarm (ID 13697), the account's own top reason is a two-month delay in the most recent month, worth 1.165 on the model's scale for all three. A notice can say that. It cannot say 'no delinquency recorded, code undefined', the largest driver in the model, until the codes are defined (reason coverage, Week 7). And 16.2 percent of flagged accounts change their top reason between two retrains, so under the Week 2 memo phase two does not open on this evidence (notebook, sections 12 and 13, and Week 1 decision memo, condition three).
226
+
227
+ ### 8.5 Ruling requested on education
228
+
229
+ The four fields are worth 0.002 of ROC-AUC, and in v1 'university' is a notice reason for two of the three accounts in section 13. I ask the Chief AI Officer to rule education out of the inputs. v2 already does (notebook, section 11, and Week 2 memo, item five).
230
+
231
+ ### 8.6 Minority position
232
+
233
+ The minority position in the Week 4 memo was shadow mode. This evaluation does not change the reason for declining it, and it removes the condition for adopting it, since both versions pass calibration after recalibration (Week 4 memo).
234
+
235
+ ### 8.7 Rows that go to the Chief AI Officer
236
+
237
+ Rows that go to the Chief AI Officer: Check 05 (the two groups above the tripwire for both versions), Check 07 (reasons not stable enough for a letter), Check 08 (the model leans on the status codes, not the payment fields), and Check 01 (the recalibration is a new fitted step for her to ratify) (Table B).
238
+
239
+ ## Section 9: Caveats and recommendations
240
+
241
+ **Objective:** What the card's reader must not assume about the version you recommend, and what happens next.
242
+
243
+ ### 9.1 Limitation this version adds
244
+
245
+ The limitation v2 adds: it is 0.014 of ROC-AUC behind v1 and 0.024 behind the challenger (gradient boosting, 0.782), and its probabilities are usable only through two fitted steps, the isotonic recalibration and the odds correction. Skip either in production and every band fails. The items it inherits are in 3.4 and 6.4 (notebook, sections 6 and 7).
246
+
247
+ ### 9.2 For the Week 8 monitoring plan
248
+
249
+ The calibration check monthly by band, the group false-alarm check monthly with contact rates, the reason-stability check at every retrain, and the flagged share against outreach capacity (Program Record, Checks tab, and Table B).
250
+
251
+ ## Section 10: The closed-out watch list
252
+
253
+ **Objective:** Every check on the Program Record, closed out in writing.
254
+
255
+ ### 10.1 Table B
256
+
257
+ *Table B. The checks, closed out.*
258
+
259
+ | ID | Check | Status | Result against the pass line | Where it is printed |
260
+ |---|---|---|---|---|
261
+ | Check 01 | The calibration check | Passed, with a new fitted step | v2: raw, every band fails. Odds correction, top band 30.0 percent of observed. Fitted recalibration, every band within 25 percent, worst 8.7 percent. v1 passes the same way, worst 15.7 percent. | Notebook, section 7 |
262
+ | Check 02 | The merged-codes check | Passed | 1.8 percent of the top 10 percent list changes (11 of 600). Challenger 3.3 percent. Pass line 5 percent. | Notebook, section 8 |
263
+ | Check 03 | The reason-coverage check | Not due this week | Runs in Week 7 before any notice is designed. The undocumented code is the top driver of the score (section 13), so it will matter. | Program Record, Checks tab |
264
+ | Check 04 | The unknown-codes check | Passed | Largest move in any per-group rate, codes merged against separate: 0.2 points. Pass line 1 point. | Notebook, section 10 |
265
+ | Check 05 | The group false-alarm check | Failed and escalated | v1: under 25 at 0.059 against portfolio 0.041 (45 percent above), high school 0.064 (57 percent above). v2: 0.059 against 0.042 (39 percent), 0.058 (36 percent). Pass line 20 percent above. | Notebook, sections 4 and 6 |
266
+ | Check 06 | The demographic-fields check | Passed | Part one: 0.775 with all four fields against 0.773 with none, gap 0.002, pass line 0.005. Part two: no field guessed more than 6.8 points above its majority rate, pass line 10. | Notebook, section 11 |
267
+ | Check 07 | The reason-stability check | Failed and escalated | Top reason changes for 16.2 percent of 600 flagged accounts (97). Family level 12.7 percent. Challenger 16.2 and 5.3. Pass line 10 percent. | Notebook, section 12 |
268
+ | Check 08 | The STATUS-versus-PAID check | Failed and escalated | 54.2 percent of the top 10 percent list changes (325 of 600). ROC-AUC 0.772 against 0.715. Pass line 5 percent. | Notebook, section 9 |
269
+ | Check 09 | The no-dollar-figure rule | Checked by inspection | No dollar figure in this card. The amount fields are read as relative values only. | This card |
270
+ | Check 10 | The single-cardholder rerun | Waiting on an answer | The data owner has not reported the supplementary-card share. The limitation is written on every group rate in sections 3 and 7. | Program Record, Items tab |
271
+ | Check 11 | The identifier question | Waiting on an answer | None of the five removed rows has been reported as a distinct account. | Program Record, Items tab |
272
+ | Check 12 | The label-definition question | Waiting on an answer | The Chief Credit Officer's office has not confirmed the match to the loss forecast. LimitWise stays a ranking, not a forecast input. | Program Record, Items tab |
273
+ | Check 13 | The test-set-read-once rule | Passed in Week 4 | Confirmed here: v1's test-set ROC-AUC 0.772 sits inside its fold range 0.763 to 0.780, and nothing in this card was chosen on the test set. | Notebook, section 3. Week 4 notebook, sections 5 and 9 |
274
+
275
+ ---
276
+
277
+ ## Make this your own
278
+
279
+ This page carries the AI Governance Lead's exemplar so that the repository is complete on day one. Your portfolio should carry yours. Three steps, about ten minutes:
280
+
281
+ 1. On Hugging Face, the **+** menu, then **New Model**. Owner: your account. Name: `limitwise-model`. License: cc-by-4.0. Public. Create it.
282
+ 2. Export your Model Card (your Week 6 deliverable) as a PDF and upload it to the new repository under the name `Model-Card.pdf` (Files, then Contribute, then Upload files).
283
+ 3. Upload a `README.md`: copy `README_TEMPLATE.md` from this repository, put your name in it, and replace YOUR-ACCOUNT with your Hugging Face account name everywhere it appears (including inside the metadata block at the top, which otherwise stays as it is). The template links to your PDF. If you would rather have your card render as the page itself, paste the text of your Model Card below the metadata block instead.
284
+
285
+ Then add the new repository to your collection beside your Space and your dataset repository. Do not upload the Lead's exemplar, the memos, the audit briefings, the notebooks, or the data.
README_TEMPLATE.md ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-4.0
3
+ library_name: sklearn
4
+ pipeline_tag: tabular-classification
5
+ tags:
6
+ - tabular-classification
7
+ - ai-governance
8
+ - model-card
9
+ datasets:
10
+ - YOUR-ACCOUNT/limitwise-data
11
+ ---
12
+
13
+ # Model Card: LimitWise v2 (Corvana Bank)
14
+
15
+ **Governance analyst:** [YOUR NAME]
16
+
17
+ **Program:** AI Governance Practicum, Track 1, cohort 1
18
+
19
+ The model card for LimitWise v2, the version the Chief AI Officer signed in Week 6, is the PDF in this repository: [Model-Card.pdf](Model-Card.pdf).
20
+
21
+ The model file and its SHA-256 are in the Space: [YOUR-ACCOUNT/limitwise](https://huggingface.co/spaces/YOUR-ACCOUNT/limitwise). The data is documented in [YOUR-ACCOUNT/limitwise-data](https://huggingface.co/datasets/YOUR-ACCOUNT/limitwise-data).
22
+
23
+ *The organization, the system, and the people are fictional. The data is public. Educational use only.*
limitwise_v2.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9010c6ff9746c5dbf9cebff4c746832864c4f2321d016cc5f3b226847882f705
3
+ size 18636
limitwise_v2_Inside.csv ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ column,weight
2
+ BILL_AMT1,-0.222891
3
+ BILL_AMT2,0.222699
4
+ BILL_AMT3,0.105858
5
+ BILL_AMT4,0.067781
6
+ BILL_AMT5,0.026107
7
+ BILL_AMT6,-0.09763
8
+ LIMIT_BAL,-0.18064
9
+ PAID_1_no balance,0.051492
10
+ PAID_1_paid in full,0.022724
11
+ PAID_1_paid nothing,0.070735
12
+ PAID_1_paid part,-0.090565
13
+ PAID_2_no balance,0.029314
14
+ PAID_2_paid in full,-0.000319
15
+ PAID_2_paid nothing,0.049889
16
+ PAID_2_paid part,-0.045158
17
+ PAID_3_no balance,-0.013308
18
+ PAID_3_paid in full,-0.07626
19
+ PAID_3_paid nothing,0.112918
20
+ PAID_3_paid part,0.011199
21
+ PAID_4_no balance,0.101481
22
+ PAID_4_paid in full,0.022454
23
+ PAID_4_paid nothing,0.03024
24
+ PAID_4_paid part,-0.107248
25
+ PAID_5_no balance,0.003222
26
+ PAID_5_paid in full,-0.089231
27
+ PAID_5_paid nothing,0.056609
28
+ PAID_5_paid part,0.041324
29
+ PAY_AMT1,-0.163249
30
+ PAY_AMT2,-0.131104
31
+ PAY_AMT3,-0.005409
32
+ PAY_AMT4,-0.011886
33
+ PAY_AMT5,-0.010192
34
+ PAY_AMT6,-0.010199
35
+ PAY_RATIO_RECENT,-0.014745
36
+ STATUS_0_delay of 1 month,0.046007
37
+ STATUS_0_delay of 2 months,0.455167
38
+ STATUS_0_delay of 3 months,0.135642
39
+ STATUS_0_delay of 4 months,0.045946
40
+ STATUS_0_delay of 5 months,0.00322
41
+ STATUS_0_delay of 6 months,-0.000302
42
+ STATUS_0_delay of 7 months,0.027682
43
+ STATUS_0_delay of 8 months,-0.039893
44
+ "STATUS_0_no delinquency recorded, code undefined",-0.295417
45
+ STATUS_0_paid duly,-0.040409
46
+ STATUS_2_delay of 1 month,-0.01722
47
+ STATUS_2_delay of 2 months,0.025344
48
+ STATUS_2_delay of 3 months,0.005315
49
+ STATUS_2_delay of 4 months,-0.042458
50
+ STATUS_2_delay of 5 months,0.014957
51
+ STATUS_2_delay of 6 months,-0.006665
52
+ STATUS_2_delay of 7 months,-0.046988
53
+ STATUS_2_delay of 8 months,-0.503964
54
+ "STATUS_2_no delinquency recorded, code undefined",0.042568
55
+ STATUS_2_paid duly,-0.055759
56
+ STATUS_3_delay of 1 month,-0.16668
57
+ STATUS_3_delay of 2 months,0.088602
58
+ STATUS_3_delay of 3 months,0.016489
59
+ STATUS_3_delay of 4 months,-0.011653
60
+ STATUS_3_delay of 5 months,-0.01057
61
+ STATUS_3_delay of 6 months,0.178929
62
+ STATUS_3_delay of 7 months,-0.000649
63
+ STATUS_3_delay of 8 months,-0.000163
64
+ "STATUS_3_no delinquency recorded, code undefined",-0.021566
65
+ STATUS_3_paid duly,-0.058559
66
+ STATUS_4_delay of 1 month,0.149133
67
+ STATUS_4_delay of 2 months,0.049861
68
+ STATUS_4_delay of 3 months,-0.019237
69
+ STATUS_4_delay of 4 months,-0.003551
70
+ STATUS_4_delay of 5 months,-0.133926
71
+ STATUS_4_delay of 6 months,-0.12288
72
+ STATUS_4_delay of 7 months,-0.146668
73
+ STATUS_4_delay of 8 months,0.005105
74
+ "STATUS_4_no delinquency recorded, code undefined",-0.022964
75
+ STATUS_4_paid duly,0.020762
76
+ STATUS_5_delay of 2 months,0.064176
77
+ STATUS_5_delay of 3 months,-0.008719
78
+ STATUS_5_delay of 4 months,-0.01678
79
+ STATUS_5_delay of 5 months,0.040291
80
+ STATUS_5_delay of 6 months,0.05127
81
+ STATUS_5_delay of 7 months,0.152358
82
+ STATUS_5_delay of 8 months,0.005105
83
+ "STATUS_5_no delinquency recorded, code undefined",0.002163
84
+ STATUS_5_paid duly,-0.066668
85
+ STATUS_6_delay of 2 months,0.042998
86
+ STATUS_6_delay of 3 months,0.048228
87
+ STATUS_6_delay of 4 months,0.019296
88
+ STATUS_6_delay of 5 months,0.00227
89
+ STATUS_6_delay of 6 months,0.013758
90
+ STATUS_6_delay of 7 months,-0.025146
91
+ STATUS_6_delay of 8 months,0.005105
92
+ "STATUS_6_no delinquency recorded, code undefined",-0.080771
93
+ STATUS_6_paid duly,0.051982
94
+ UTIL_RECENT,0.133055
95
+ (intercept),-0.230939
limitwise_v2_recalibrated.pkl ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b6508dfcc69ca108e3f08fc2be0843dab1d2517355970b8e622e52a34127ca37
3
+ size 89015