46 lines
1.4 KiB
Plaintext
46 lines
1.4 KiB
Plaintext
use s3.nu
|
|
|
|
export def latest-daily [] {
|
|
let latest = (s3 files xs-dev xs-reg-result/basic | sort-by lastModified | reverse | where key =~ "daily" | first)
|
|
[
|
|
"xs-dev",
|
|
($latest.url | url parse | get path | str trim -c '/'),
|
|
$latest.key
|
|
] | path join | s3 get-csv
|
|
}
|
|
|
|
export def latest-daily-detail [] {
|
|
let latest = (s3 files xs-dev xs-reg-result/detail | sort-by lastModified | reverse | where key =~ "daily" | first)
|
|
[
|
|
"xs-dev",
|
|
($latest.url | url parse | get path | str trim -c '/'),
|
|
$latest.key
|
|
] | path join | s3 get-csv
|
|
|
|
}
|
|
|
|
export def prop-fields [] {
|
|
get proposedFields.fields | flatten | flatten | select name type value
|
|
}
|
|
|
|
export def "detail worst" [type:string,--limit:int=3,--error-category=["FP", "FN"]] {
|
|
where Fieldtype =~ $type | group-by Filename | transpose filename data
|
|
| each { |f| $f | insert errors ($f.data | where Classification in $error_category | get Count | default 0 ) }
|
|
| sort-by errors | reverse | take $limit
|
|
}
|
|
|
|
export def delta [list1, list2] {
|
|
$list1 | zip $list2 | each {|r|
|
|
$r.0 - $r.1
|
|
}
|
|
}
|
|
|
|
# compares a report.csv with a baseline
|
|
export def "compare daily" [] {
|
|
let report = ($in)
|
|
let f1_report = $report | get "F1 Score"
|
|
let f1_latest = (latest-daily | get "F1 Score")
|
|
let f1_delta = (delta $f1_report $f1_latest)
|
|
let f1_delta_row = ($f1_delta | wrap "F1 Score Delta")
|
|
$report | merge $f1_delta_row
|
|
} |