@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:43:37.922367"^^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 "ft9rs/n5lH+3+e2tndOxlcMPB8/7MdPTmi9zrb/K1IXFFWvImzdQMx+Ulm36b6rLStZcCYo+U6rTmOhOT2+VVTOiBKyrheZ0euNZwK9eS8FbxlGmu/7NUT8gBMaSad9/VGQMhqfkWMGsSCyJMNUjHOEegy1EEZeWukTGWuqjTDHd/Lwd4nAWkRD/Ff5FCl+MPZHRHm89K6iaPPLQS9BPj2oDfJswNAcFCzlQsUkX+e+5Sb7Xcft6s7agOkffFYF0r+fcKoMnB215IB8LtbaijmjGssybvDKf70rqNPcxgMn0hPjnUl/nO8GnflEa0rFTNtVusPiSmG8SXF3YGYy0PA==";
npx:hasSignatureTarget this: .
this: prov:wasAttributedTo orcid:0000-0000-0000-0000 .
}