@prefix dc1: .
@prefix dul: .
@prefix np: .
@prefix npx: .
@prefix orcid: .
@prefix owl: .
@prefix pplan: .
@prefix prov: .
@prefix rdfs: .
@prefix schema: .
@prefix sub: .
@prefix this: .
@prefix xsd: .
sub:Head {
this: np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubinfo;
a np:Nanopublication .
}
sub:assertion {
pplan:isStepOfPlan
sub:_plan;
dul:precedes ,
.
pplan:isStepOfPlan
sub:_plan;
dul:precedes .
pplan:isStepOfPlan
sub:_plan .
pplan:isStepOfPlan
sub:_plan;
dul:precedes .
sub:_LinguisticSystem a schema:ComputerLanguage;
rdfs:label "python";
rdfs:seeAlso ;
owl:versionInfo "3.9.15.final.0" .
sub:_plan dc1:description """@is_fairworkflow(label='My model training workflow')
def training_workflow(n_jobs):
# Define models hyper params
hyper_params = {
'n_jobs': n_jobs,
'random_state': 42
}
data = load_data()
y = load_data_y()
# Train model (here we use a stub dataset just to make the example clear)
model = fit_classifier(hyper_params, data, y)
# Evaluate the model using your own metrics
scores = evaluate(model)
# Save the model generated to the models/ folder
path = save(
model,
\"models/my_model\",
sample_data=data,
scores=scores,
hyper_params=hyper_params,
)
return path
# Optionally you can save other files (dataframes, JSON objects) in the data/ folder
""";
dc1:language sub:_LinguisticSystem;
a pplan:Plan;
rdfs:label "My model training workflow" .
pplan:isStepOfPlan
sub:_plan;
dul:precedes ,
.
pplan:bindsTo .
pplan:bindsTo ,
.
pplan:bindsTo ,
.
pplan:bindsTo .
pplan:bindsTo sub:_result .
}
sub:provenance {
sub:assertion prov:generatedAtTime "2022-12-21T14:51:08.530398"^^xsd:dateTime .
}
sub:pubinfo {
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlKZel+uM9w+JiWuhs0NHtaXdRrGkGAjvnnLFQL2nmgZDGIjX+is2YJBd6R2kBkr67lYiUDWdtih0F0yqUlAW5GdYUihk1MBiWyLe4RNt7I5iC/5wwK/i5vV6/YKa6Zwf4oymwChpdXddlKc6d73StgFqOafQPeNeBUHTZbkmUKFAqGXf0nAclB23DEeN5qVl6XRa1qqtL91AKW+UxTvlZR3pFNFn8xKTfbOSgmuAkYSUwJrp84rNI92qXYtOJ12oH0oT/enzcThxcfPLomGc9BMd+QBCj08LdrtuAArHzcivMKDzreDCD+haZ/GdObRWHpQ5O4bEWIx3dZVQq7t0KQIDAQAB";
npx:hasSignature "L1k1gXA3NUXU2di+8vAcvqt8QS257P0lMDIbBWSOREoAOjtdpmS/lounxDl13C9DcPZNPwSsZdVGHm8WhcxC379NJeZsQiQKzLcGk4CBM9g9lLXrmgcyAjd6UbdQD4h5G92IVRhG3RaDFpPXN4iG1wvFRx8J30ySh8+0sOZJ6daN2RFz72VbBpis0GbUgHBQw1Gl4yXV0EV5/daxeG/GTedeEF4Z+tieMCbwVFE+dcu9M1aFDfnhMR2JzqYv6UJ5vQWK+VsAqAwIRcspdQvFSqoFSOi1WpnA+JJ20X2JCDXsl1e3a0c+NvP/8/V+HWx5vrYVMIwcUl2uRw45/6hLLg==";
npx:hasSignatureTarget this: .
this: prov:wasAttributedTo orcid:0000-0000-0000-0000 .
}