bdpedigo commited on
Commit
d5b1dd6
·
verified ·
1 Parent(s): 48fe07c

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. README.md +60 -43
  2. train.py +32 -21
README.md CHANGED
@@ -281,57 +281,57 @@ widget:
281
 
282
  ### Model Plot
283
 
284
- <style>#sk-container-id-4 {/* Definition of color scheme common for light and dark mode */--sklearn-color-text: black;--sklearn-color-line: gray;/* Definition of color scheme for unfitted estimators */--sklearn-color-unfitted-level-0: #fff5e6;--sklearn-color-unfitted-level-1: #f6e4d2;--sklearn-color-unfitted-level-2: #ffe0b3;--sklearn-color-unfitted-level-3: chocolate;/* Definition of color scheme for fitted estimators */--sklearn-color-fitted-level-0: #f0f8ff;--sklearn-color-fitted-level-1: #d4ebff;--sklearn-color-fitted-level-2: #b3dbfd;--sklearn-color-fitted-level-3: cornflowerblue;/* Specific color for light theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-icon: #696969;@media (prefers-color-scheme: dark) {/* Redefinition of color scheme for dark theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-icon: #878787;}
285
- }#sk-container-id-4 {color: var(--sklearn-color-text);
286
- }#sk-container-id-4 pre {padding: 0;
287
- }#sk-container-id-4 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;
288
- }#sk-container-id-4 div.sk-dashed-wrapped {border: 1px dashed var(--sklearn-color-line);margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: var(--sklearn-color-background);
289
- }#sk-container-id-4 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 thedefault 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;
290
- }#sk-container-id-4 div.sk-text-repr-fallback {display: none;
291
  }div.sk-parallel-item,
292
  div.sk-serial,
293
  div.sk-item {/* draw centered vertical line to link estimators */background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));background-size: 2px 100%;background-repeat: no-repeat;background-position: center center;
294
- }/* Parallel-specific style estimator block */#sk-container-id-4 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 2px solid var(--sklearn-color-text-on-default-background);flex-grow: 1;
295
- }#sk-container-id-4 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: var(--sklearn-color-background);position: relative;
296
- }#sk-container-id-4 div.sk-parallel-item {display: flex;flex-direction: column;
297
- }#sk-container-id-4 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;
298
- }#sk-container-id-4 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;
299
- }#sk-container-id-4 div.sk-parallel-item:only-child::after {width: 0;
300
- }/* Serial-specific style estimator block */#sk-container-id-4 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: var(--sklearn-color-background);padding-right: 1em;padding-left: 1em;
301
  }/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is
302
  clickable and can be expanded/collapsed.
303
  - Pipeline and ColumnTransformer use this feature and define the default style
304
  - Estimators will overwrite some part of the style using the `sk-estimator` class
305
- *//* Pipeline and ColumnTransformer style (default) */#sk-container-id-4 div.sk-toggleable {/* Default theme specific background. It is overwritten whether we have aspecific estimator or a Pipeline/ColumnTransformer */background-color: var(--sklearn-color-background);
306
  }/* Toggleable label */
307
- #sk-container-id-4 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.5em;box-sizing: border-box;text-align: center;
308
- }#sk-container-id-4 label.sk-toggleable__label-arrow:before {/* Arrow on the left of the label */content: "▸";float: left;margin-right: 0.25em;color: var(--sklearn-color-icon);
309
- }#sk-container-id-4 label.sk-toggleable__label-arrow:hover:before {color: var(--sklearn-color-text);
310
- }/* Toggleable content - dropdown */#sk-container-id-4 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
311
- }#sk-container-id-4 div.sk-toggleable__content.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
312
- }#sk-container-id-4 div.sk-toggleable__content pre {margin: 0.2em;border-radius: 0.25em;color: var(--sklearn-color-text);/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
313
- }#sk-container-id-4 div.sk-toggleable__content.fitted pre {/* unfitted */background-color: var(--sklearn-color-fitted-level-0);
314
- }#sk-container-id-4 input.sk-toggleable__control:checked~div.sk-toggleable__content {/* Expand drop-down */max-height: 200px;max-width: 100%;overflow: auto;
315
- }#sk-container-id-4 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";
316
- }/* Pipeline/ColumnTransformer-specific style */#sk-container-id-4 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
317
- }#sk-container-id-4 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: var(--sklearn-color-fitted-level-2);
318
  }/* Estimator-specific style *//* Colorize estimator box */
319
- #sk-container-id-4 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
320
- }#sk-container-id-4 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
321
- }#sk-container-id-4 div.sk-label label.sk-toggleable__label,
322
- #sk-container-id-4 div.sk-label label {/* The background is the default theme color */color: var(--sklearn-color-text-on-default-background);
323
  }/* On hover, darken the color of the background */
324
- #sk-container-id-4 div.sk-label:hover label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
325
  }/* Label box, darken color on hover, fitted */
326
- #sk-container-id-4 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {color: var(--sklearn-color-text);background-color: var(--sklearn-color-fitted-level-2);
327
- }/* Estimator label */#sk-container-id-4 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;
328
- }#sk-container-id-4 div.sk-label-container {text-align: center;
329
  }/* Estimator-specific */
330
- #sk-container-id-4 div.sk-estimator {font-family: monospace;border: 1px dotted var(--sklearn-color-border-box);border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
331
- }#sk-container-id-4 div.sk-estimator.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
332
  }/* on hover */
333
- #sk-container-id-4 div.sk-estimator:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
334
- }#sk-container-id-4 div.sk-estimator.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
335
  }/* Specification for estimator info (e.g. "i" and "?") *//* Common style for "i" and "?" */.sk-estimator-doc-link,
336
  a:link.sk-estimator-doc-link,
337
  a:visited.sk-estimator-doc-link {float: right;font-size: smaller;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1em;height: 1em;width: 1em;text-decoration: none !important;margin-left: 1ex;/* unfitted */border: var(--sklearn-color-unfitted-level-1) 1pt solid;color: var(--sklearn-color-unfitted-level-1);
@@ -351,13 +351,13 @@ div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,
351
  .sk-estimator-doc-link span {display: none;z-index: 9999;position: relative;font-weight: normal;right: .2ex;padding: .5ex;margin: .5ex;width: min-content;min-width: 20ex;max-width: 50ex;color: var(--sklearn-color-text);box-shadow: 2pt 2pt 4pt #999;/* unfitted */background: var(--sklearn-color-unfitted-level-0);border: .5pt solid var(--sklearn-color-unfitted-level-3);
352
  }.sk-estimator-doc-link.fitted span {/* fitted */background: var(--sklearn-color-fitted-level-0);border: var(--sklearn-color-fitted-level-3);
353
  }.sk-estimator-doc-link:hover span {display: block;
354
- }/* "?"-specific style due to the `<a>` HTML tag */#sk-container-id-4 a.estimator_doc_link {float: right;font-size: 1rem;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1rem;height: 1rem;width: 1rem;text-decoration: none;/* unfitted */color: var(--sklearn-color-unfitted-level-1);border: var(--sklearn-color-unfitted-level-1) 1pt solid;
355
- }#sk-container-id-4 a.estimator_doc_link.fitted {/* fitted */border: var(--sklearn-color-fitted-level-1) 1pt solid;color: var(--sklearn-color-fitted-level-1);
356
  }/* On hover */
357
- #sk-container-id-4 a.estimator_doc_link:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-3);color: var(--sklearn-color-background);text-decoration: none;
358
- }#sk-container-id-4 a.estimator_doc_link.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-3);
359
  }
360
- </style><div id="sk-container-id-4" class="sk-top-container" style="overflow: auto;"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;transformer&#x27;,QuantileTransformer(output_distribution=&#x27;normal&#x27;)),(&#x27;lda&#x27;, LinearDiscriminantAnalysis(n_components=3))])</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 fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-10" type="checkbox" ><label for="sk-estimator-id-10" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;&nbsp;Pipeline<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.pipeline.Pipeline.html">?<span>Documentation for Pipeline</span></a><span class="sk-estimator-doc-link fitted">i<span>Fitted</span></span></label><div class="sk-toggleable__content fitted"><pre>Pipeline(steps=[(&#x27;transformer&#x27;,QuantileTransformer(output_distribution=&#x27;normal&#x27;)),(&#x27;lda&#x27;, LinearDiscriminantAnalysis(n_components=3))])</pre></div> </div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-11" type="checkbox" ><label for="sk-estimator-id-11" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;QuantileTransformer<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.preprocessing.QuantileTransformer.html">?<span>Documentation for QuantileTransformer</span></a></label><div class="sk-toggleable__content fitted"><pre>QuantileTransformer(output_distribution=&#x27;normal&#x27;)</pre></div> </div></div><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-12" type="checkbox" ><label for="sk-estimator-id-12" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;LinearDiscriminantAnalysis<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html">?<span>Documentation for LinearDiscriminantAnalysis</span></a></label><div class="sk-toggleable__content fitted"><pre>LinearDiscriminantAnalysis(n_components=3)</pre></div> </div></div></div></div></div></div>
361
 
362
  ## Evaluation Results
363
 
@@ -394,3 +394,20 @@ bdpedigo
394
  # model_description
395
 
396
  This is a model trained to classify pieces of neuron as axon, dendrite, soma, orglia, based only on their local shape and synapse features.The model is a linear discriminant classifier which was trained on compartment labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 dataset.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
 
282
  ### Model Plot
283
 
284
+ <style>#sk-container-id-5 {/* Definition of color scheme common for light and dark mode */--sklearn-color-text: black;--sklearn-color-line: gray;/* Definition of color scheme for unfitted estimators */--sklearn-color-unfitted-level-0: #fff5e6;--sklearn-color-unfitted-level-1: #f6e4d2;--sklearn-color-unfitted-level-2: #ffe0b3;--sklearn-color-unfitted-level-3: chocolate;/* Definition of color scheme for fitted estimators */--sklearn-color-fitted-level-0: #f0f8ff;--sklearn-color-fitted-level-1: #d4ebff;--sklearn-color-fitted-level-2: #b3dbfd;--sklearn-color-fitted-level-3: cornflowerblue;/* Specific color for light theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));--sklearn-color-icon: #696969;@media (prefers-color-scheme: dark) {/* Redefinition of color scheme for dark theme */--sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));--sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));--sklearn-color-icon: #878787;}
285
+ }#sk-container-id-5 {color: var(--sklearn-color-text);
286
+ }#sk-container-id-5 pre {padding: 0;
287
+ }#sk-container-id-5 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;
288
+ }#sk-container-id-5 div.sk-dashed-wrapped {border: 1px dashed var(--sklearn-color-line);margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: var(--sklearn-color-background);
289
+ }#sk-container-id-5 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 thedefault 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;
290
+ }#sk-container-id-5 div.sk-text-repr-fallback {display: none;
291
  }div.sk-parallel-item,
292
  div.sk-serial,
293
  div.sk-item {/* draw centered vertical line to link estimators */background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));background-size: 2px 100%;background-repeat: no-repeat;background-position: center center;
294
+ }/* Parallel-specific style estimator block */#sk-container-id-5 div.sk-parallel-item::after {content: "";width: 100%;border-bottom: 2px solid var(--sklearn-color-text-on-default-background);flex-grow: 1;
295
+ }#sk-container-id-5 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: var(--sklearn-color-background);position: relative;
296
+ }#sk-container-id-5 div.sk-parallel-item {display: flex;flex-direction: column;
297
+ }#sk-container-id-5 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;
298
+ }#sk-container-id-5 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;
299
+ }#sk-container-id-5 div.sk-parallel-item:only-child::after {width: 0;
300
+ }/* Serial-specific style estimator block */#sk-container-id-5 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: var(--sklearn-color-background);padding-right: 1em;padding-left: 1em;
301
  }/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is
302
  clickable and can be expanded/collapsed.
303
  - Pipeline and ColumnTransformer use this feature and define the default style
304
  - Estimators will overwrite some part of the style using the `sk-estimator` class
305
+ *//* Pipeline and ColumnTransformer style (default) */#sk-container-id-5 div.sk-toggleable {/* Default theme specific background. It is overwritten whether we have aspecific estimator or a Pipeline/ColumnTransformer */background-color: var(--sklearn-color-background);
306
  }/* Toggleable label */
307
+ #sk-container-id-5 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.5em;box-sizing: border-box;text-align: center;
308
+ }#sk-container-id-5 label.sk-toggleable__label-arrow:before {/* Arrow on the left of the label */content: "▸";float: left;margin-right: 0.25em;color: var(--sklearn-color-icon);
309
+ }#sk-container-id-5 label.sk-toggleable__label-arrow:hover:before {color: var(--sklearn-color-text);
310
+ }/* Toggleable content - dropdown */#sk-container-id-5 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
311
+ }#sk-container-id-5 div.sk-toggleable__content.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
312
+ }#sk-container-id-5 div.sk-toggleable__content pre {margin: 0.2em;border-radius: 0.25em;color: var(--sklearn-color-text);/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
313
+ }#sk-container-id-5 div.sk-toggleable__content.fitted pre {/* unfitted */background-color: var(--sklearn-color-fitted-level-0);
314
+ }#sk-container-id-5 input.sk-toggleable__control:checked~div.sk-toggleable__content {/* Expand drop-down */max-height: 200px;max-width: 100%;overflow: auto;
315
+ }#sk-container-id-5 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: "▾";
316
+ }/* Pipeline/ColumnTransformer-specific style */#sk-container-id-5 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
317
+ }#sk-container-id-5 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: var(--sklearn-color-fitted-level-2);
318
  }/* Estimator-specific style *//* Colorize estimator box */
319
+ #sk-container-id-5 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
320
+ }#sk-container-id-5 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
321
+ }#sk-container-id-5 div.sk-label label.sk-toggleable__label,
322
+ #sk-container-id-5 div.sk-label label {/* The background is the default theme color */color: var(--sklearn-color-text-on-default-background);
323
  }/* On hover, darken the color of the background */
324
+ #sk-container-id-5 div.sk-label:hover label.sk-toggleable__label {color: var(--sklearn-color-text);background-color: var(--sklearn-color-unfitted-level-2);
325
  }/* Label box, darken color on hover, fitted */
326
+ #sk-container-id-5 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {color: var(--sklearn-color-text);background-color: var(--sklearn-color-fitted-level-2);
327
+ }/* Estimator label */#sk-container-id-5 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;
328
+ }#sk-container-id-5 div.sk-label-container {text-align: center;
329
  }/* Estimator-specific */
330
+ #sk-container-id-5 div.sk-estimator {font-family: monospace;border: 1px dotted var(--sklearn-color-border-box);border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;/* unfitted */background-color: var(--sklearn-color-unfitted-level-0);
331
+ }#sk-container-id-5 div.sk-estimator.fitted {/* fitted */background-color: var(--sklearn-color-fitted-level-0);
332
  }/* on hover */
333
+ #sk-container-id-5 div.sk-estimator:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-2);
334
+ }#sk-container-id-5 div.sk-estimator.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-2);
335
  }/* Specification for estimator info (e.g. "i" and "?") *//* Common style for "i" and "?" */.sk-estimator-doc-link,
336
  a:link.sk-estimator-doc-link,
337
  a:visited.sk-estimator-doc-link {float: right;font-size: smaller;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1em;height: 1em;width: 1em;text-decoration: none !important;margin-left: 1ex;/* unfitted */border: var(--sklearn-color-unfitted-level-1) 1pt solid;color: var(--sklearn-color-unfitted-level-1);
 
351
  .sk-estimator-doc-link span {display: none;z-index: 9999;position: relative;font-weight: normal;right: .2ex;padding: .5ex;margin: .5ex;width: min-content;min-width: 20ex;max-width: 50ex;color: var(--sklearn-color-text);box-shadow: 2pt 2pt 4pt #999;/* unfitted */background: var(--sklearn-color-unfitted-level-0);border: .5pt solid var(--sklearn-color-unfitted-level-3);
352
  }.sk-estimator-doc-link.fitted span {/* fitted */background: var(--sklearn-color-fitted-level-0);border: var(--sklearn-color-fitted-level-3);
353
  }.sk-estimator-doc-link:hover span {display: block;
354
+ }/* "?"-specific style due to the `<a>` HTML tag */#sk-container-id-5 a.estimator_doc_link {float: right;font-size: 1rem;line-height: 1em;font-family: monospace;background-color: var(--sklearn-color-background);border-radius: 1rem;height: 1rem;width: 1rem;text-decoration: none;/* unfitted */color: var(--sklearn-color-unfitted-level-1);border: var(--sklearn-color-unfitted-level-1) 1pt solid;
355
+ }#sk-container-id-5 a.estimator_doc_link.fitted {/* fitted */border: var(--sklearn-color-fitted-level-1) 1pt solid;color: var(--sklearn-color-fitted-level-1);
356
  }/* On hover */
357
+ #sk-container-id-5 a.estimator_doc_link:hover {/* unfitted */background-color: var(--sklearn-color-unfitted-level-3);color: var(--sklearn-color-background);text-decoration: none;
358
+ }#sk-container-id-5 a.estimator_doc_link.fitted:hover {/* fitted */background-color: var(--sklearn-color-fitted-level-3);
359
  }
360
+ </style><div id="sk-container-id-5" class="sk-top-container" style="overflow: auto;"><div class="sk-text-repr-fallback"><pre>Pipeline(steps=[(&#x27;transformer&#x27;,QuantileTransformer(output_distribution=&#x27;normal&#x27;)),(&#x27;lda&#x27;, LinearDiscriminantAnalysis(n_components=3))])</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 fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-13" type="checkbox" ><label for="sk-estimator-id-13" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;&nbsp;Pipeline<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.pipeline.Pipeline.html">?<span>Documentation for Pipeline</span></a><span class="sk-estimator-doc-link fitted">i<span>Fitted</span></span></label><div class="sk-toggleable__content fitted"><pre>Pipeline(steps=[(&#x27;transformer&#x27;,QuantileTransformer(output_distribution=&#x27;normal&#x27;)),(&#x27;lda&#x27;, LinearDiscriminantAnalysis(n_components=3))])</pre></div> </div></div><div class="sk-serial"><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-14" type="checkbox" ><label for="sk-estimator-id-14" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;QuantileTransformer<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.preprocessing.QuantileTransformer.html">?<span>Documentation for QuantileTransformer</span></a></label><div class="sk-toggleable__content fitted"><pre>QuantileTransformer(output_distribution=&#x27;normal&#x27;)</pre></div> </div></div><div class="sk-item"><div class="sk-estimator fitted sk-toggleable"><input class="sk-toggleable__control sk-hidden--visually" id="sk-estimator-id-15" type="checkbox" ><label for="sk-estimator-id-15" class="sk-toggleable__label fitted sk-toggleable__label-arrow fitted">&nbsp;LinearDiscriminantAnalysis<a class="sk-estimator-doc-link fitted" rel="noreferrer" target="_blank" href="https://scikit-learn.org/1.4/modules/generated/sklearn.discriminant_analysis.LinearDiscriminantAnalysis.html">?<span>Documentation for LinearDiscriminantAnalysis</span></a></label><div class="sk-toggleable__content fitted"><pre>LinearDiscriminantAnalysis(n_components=3)</pre></div> </div></div></div></div></div></div>
361
 
362
  ## Evaluation Results
363
 
 
394
  # model_description
395
 
396
  This is a model trained to classify pieces of neuron as axon, dendrite, soma, orglia, based only on their local shape and synapse features.The model is a linear discriminant classifier which was trained on compartment labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 dataset.
397
+
398
+ # Classification Report
399
+
400
+ <details>
401
+ <summary> Click to expand </summary>
402
+
403
+ | precision | recall | f1-score | support |
404
+ |-------------|----------|------------|--------------|
405
+ | 0.956309 | 0.964704 | 0.960488 | 16404 |
406
+ | 0.928038 | 0.911341 | 0.919614 | 6948 |
407
+ | 0.964442 | 0.935279 | 0.949636 | 7540 |
408
+ | 0.570513 | 0.857831 | 0.685274 | 415 |
409
+ | 0.944357 | 0.944357 | 0.944357 | 0.944357 |
410
+ | 0.854825 | 0.917289 | 0.878753 | 31307 |
411
+ | 0.946879 | 0.944357 | 0.945155 | 31307 |
412
+
413
+ </details>
train.py CHANGED
@@ -285,6 +285,13 @@ train_X_df, test_X_df, train_l2_y, test_l2_y = box_train_test_split(
285
 
286
  final_lda.fit(train_X_df, train_l2_y)
287
 
 
 
 
 
 
 
 
288
  # %%
289
 
290
  model_pickle_file = out_path / model_name / f"{model_name}.skops"
@@ -292,6 +299,7 @@ with open(model_pickle_file, mode="bw") as f:
292
  dump(final_lda, file=f)
293
 
294
  # %%
 
295
  from pathlib import Path
296
 
297
  from skops import card, hub_utils
@@ -310,27 +318,30 @@ if not hub_out_path.exists():
310
 
311
  hub_utils.add_files(__file__, dst=hub_out_path, exist_ok=True)
312
 
313
- model_card = card.Card(model, metadata=card.metadata_from_config(hub_out_path))
314
-
315
- model_card.metadata.license = "mit"
316
-
317
- model_description = (
318
- "This is a model trained to classify pieces of neuron as axon, dendrite, soma, or"
319
- "glia, "
320
- "based only on their local shape and synapse features."
321
- "The model is a linear discriminant classifier which was trained on compartment "
322
- "labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 "
323
- "dataset."
324
- )
325
-
326
- model_card_authors = "bdpedigo"
327
-
328
- model_card.add(
329
- model_card_authors=model_card_authors,
330
- model_description=model_description,
331
- )
332
-
333
- model_card.save(hub_out_path / "README.md")
 
 
 
334
 
335
  hub_utils.push(
336
  repo_id=f"bdpedigo/{model_name}",
 
285
 
286
  final_lda.fit(train_X_df, train_l2_y)
287
 
288
+ report = classification_report(
289
+ train_l2_y, final_lda.predict(train_X_df), output_dict=True
290
+ )
291
+
292
+ # %%
293
+ report_table = pd.DataFrame(report).T
294
+
295
  # %%
296
 
297
  model_pickle_file = out_path / model_name / f"{model_name}.skops"
 
299
  dump(final_lda, file=f)
300
 
301
  # %%
302
+ import os
303
  from pathlib import Path
304
 
305
  from skops import card, hub_utils
 
318
 
319
  hub_utils.add_files(__file__, dst=hub_out_path, exist_ok=True)
320
 
321
+ # if not os.exists(hub_out_path / "README.md"):
322
+ if True:
323
+ model_card = card.Card(model, metadata=card.metadata_from_config(hub_out_path))
324
+ model_card.metadata.license = "mit"
325
+ model_description = (
326
+ "This is a model trained to classify pieces of neuron as axon, dendrite, soma, or"
327
+ "glia, "
328
+ "based only on their local shape and synapse features."
329
+ "The model is a linear discriminant classifier which was trained on compartment "
330
+ "labels generated by Bethanny Danskin for 3 6x6x6 um boxes in the Minnie65 Phase3 "
331
+ "dataset."
332
+ )
333
+ model_card_authors = "bdpedigo"
334
+ model_card.add(
335
+ model_card_authors=model_card_authors,
336
+ model_description=model_description,
337
+ )
338
+ model_card.add_table(
339
+ folded=True,
340
+ **{
341
+ "Classification Report": report_table,
342
+ },
343
+ )
344
+ model_card.save(hub_out_path / "README.md")
345
 
346
  hub_utils.push(
347
  repo_id=f"bdpedigo/{model_name}",