MCPcopy Create free account
hub / github.com/sql-machine-learning/sqlflow / Explain

Function Explain

go/codegen/tensorflow/codegen.go:351–391  ·  view source on GitHub ↗

Explain generates a Python program to explain a trained model.

(stmt *ir.ExplainStmt, session *pb.Session)

Source from the content-addressed store, hash-verified

349
350// Explain generates a Python program to explain a trained model.
351func Explain(stmt *ir.ExplainStmt, session *pb.Session) (string, error) {
352 modelParams, featureColumnsCode, fieldDescs, err := restoreModel(stmt.TrainStmt)
353 if err != nil {
354 return "", err
355 }
356 labelFM := stmt.TrainStmt.Label.GetFieldDesc()[0]
357
358 const summaryAttrPrefix = "summary."
359 summaryAttrs := resolveParams(stmt.Attributes, summaryAttrPrefix)
360 jsonSummary, err := json.Marshal(summaryAttrs)
361 if err != nil {
362 return "", err
363 }
364
365 filler := explainFiller{
366 DataSource: session.DbConnStr,
367 Select: stmt.Select,
368 SummaryParams: string(jsonSummary),
369 EstimatorClass: stmt.TrainStmt.Estimator,
370 FieldDescs: fieldDescs,
371 FeatureColumnCode: fmt.Sprintf("{%s}", strings.Join(featureColumnsCode, ",\n")),
372 Y: labelFM,
373 ModelParams: modelParams,
374 Save: "model_save",
375 ResultTable: stmt.Into,
376 HDFSNameNodeAddr: session.HdfsNamenodeAddr,
377 HiveLocation: session.HiveLocation,
378 HDFSUser: session.HdfsUser,
379 HDFSPass: session.HdfsPass,
380 }
381 var program bytes.Buffer
382 var tmpl = template.Must(template.New("Explain").Funcs(template.FuncMap{
383 "intArrayToJSONString": ir.MarshalToJSONString,
384 "attrToPythonValue": ir.AttrToPythonValue,
385 "DTypeToString": ir.DTypeToString,
386 }).Parse(boostedTreesExplainTemplateText))
387 if err := tmpl.Execute(&program, filler); err != nil {
388 return "", err
389 }
390 return program.String(), nil
391}
392
393// Evaluate generates a Python program to evaluate a trained model.
394func Evaluate(stmt *ir.EvaluateStmt, session *pb.Session) (string, error) {

Callers 1

ExecuteExplainMethod · 0.92

Calls 5

restoreModelFunction · 0.85
resolveParamsFunction · 0.70
GetFieldDescMethod · 0.65
ParseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected