credit_risk_modeling_demo / docs /module-dependency-graph /src-feature-model-visualization.svg
pkiage's picture
docs: add dependency graphs and update README
9375d41
|
raw
history blame
34.3 kB
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: G Pages: 1 -->
<svg width="1365pt" height="521pt"
viewBox="0.00 0.00 1364.52 520.98" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 516.985)">
<title>G</title><style>.edge>path:hover{stroke-width:8}</style>
<polygon fill="white" stroke="none" points="-4,4 -4,-516.985 1360.52,-516.985 1360.52,4 -4,4"/>
<!-- features -->
<g id="node1" class="node"><title>features</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#f91010" stroke="black" cx="444.832" cy="-178.066" rx="30.0436" ry="18"/>
<text text-anchor="middle" x="444.832" y="-175.566" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">features</text>
</g>
<!-- models_logistic_model -->
<g id="node5" class="node"><title>models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#447e44" stroke="black" cx="319.832" cy="-491.772" rx="55.7232" ry="21.4286"/>
<text text-anchor="middle" x="319.832" y="-494.772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="319.832" y="-483.772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logistic_model</text>
</g>
<!-- features&#45;&gt;models_logistic_model -->
<g id="edge1" class="edge"><title>features&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M365.832,-335.919C334.697,-422.326 165.026,-320.923 173.832,-412.345"/>
<path fill="none" stroke="black" d="M460.832,-257.492C465.657,-311.467 384.202,-282.938 365.832,-333.919"/>
</g>
<!-- models_logistic_train_model -->
<g id="node8" class="node"><title>models_logistic_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#439d43" stroke="black" cx="72.832" cy="-413.345" rx="72.6644" ry="21.4286"/>
<text text-anchor="middle" x="72.832" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="72.832" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">logistic_train_model</text>
</g>
<!-- features&#45;&gt;models_logistic_train_model -->
<g id="edge2" class="edge"><title>features&#45;&gt;models_logistic_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M450.083,-195.86C454.465,-211.21 460.108,-234.629 460.832,-255.492"/>
<path fill="none" stroke="black" d="M460.832,-257.492C461.26,-269.814 452.124,-270.917 441.832,-277.706 428.145,-286.733 226.717,-358.202 127.391,-393.186"/>
<polygon fill="#f91010" stroke="black" points="126.089,-389.934 117.819,-396.556 128.414,-396.537 126.089,-389.934"/>
</g>
<!-- models_util_model_comparison -->
<g id="node10" class="node"><title>models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#447e44" stroke="black" cx="755.832" cy="-334.919" rx="82.0488" ry="21.4286"/>
<text text-anchor="middle" x="755.832" y="-337.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="755.832" y="-326.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util_model_comparison</text>
</g>
<!-- features&#45;&gt;models_util_model_comparison -->
<g id="edge3" class="edge"><title>features&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M466.667,-190.455C472.254,-193.35 478.259,-196.443 483.832,-199.279 562.85,-239.489 655.504,-285.008 709.731,-311.485"/>
<polygon fill="#f91010" stroke="black" points="708.224,-314.644 718.746,-315.884 711.294,-308.353 708.224,-314.644"/>
</g>
<!-- models_util_predict_model -->
<g id="node11" class="node"><title>models_util_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#3ab03a" stroke="black" cx="460.832" cy="-334.919" rx="67.3507" ry="21.4286"/>
<text text-anchor="middle" x="460.832" y="-337.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="460.832" y="-326.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util_predict_model</text>
</g>
<!-- features&#45;&gt;models_util_predict_model -->
<g id="edge4" class="edge"><title>features&#45;&gt;models_util_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M460.832,-257.492C461.357,-272.603 461.414,-289.405 461.317,-303.397"/>
<polygon fill="#f91010" stroke="black" points="457.816,-303.442 461.217,-313.476 464.816,-303.511 457.816,-303.442"/>
</g>
<!-- models_util_test -->
<g id="node13" class="node"><title>models_util_test</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#2db42d" stroke="black" cx="619.832" cy="-334.919" rx="36.125" ry="21.4286"/>
<text text-anchor="middle" x="619.832" y="-337.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="619.832" y="-326.919" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util_test</text>
</g>
<!-- features&#45;&gt;models_util_test -->
<g id="edge5" class="edge"><title>features&#45;&gt;models_util_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M460.832,-257.492C461.064,-264.186 535.235,-297.424 582.179,-317.799"/>
<polygon fill="#f91010" stroke="black" points="580.892,-321.056 591.46,-321.815 583.672,-314.632 580.892,-321.056"/>
</g>
<!-- models_xgboost_model -->
<g id="node14" class="node"><title>models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#447e44" stroke="black" cx="1297.83" cy="-491.772" rx="58.8803" ry="21.4286"/>
<text text-anchor="middle" x="1297.83" y="-494.772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="1297.83" y="-483.772" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">xgboost_model</text>
</g>
<!-- features&#45;&gt;models_xgboost_model -->
<g id="edge6" class="edge"><title>features&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M365.832,-335.919C361.652,-347.518 374.04,-350.169 384.832,-356.132 457.768,-396.43 496.386,-350.96 568.832,-392.132 590.84,-404.64 584.158,-423.303 606.832,-434.558 714.722,-488.117 1076.3,-492.289 1228.92,-491.56"/>
<polygon fill="#f91010" stroke="black" points="1229.13,-495.059 1239.11,-491.502 1229.09,-488.059 1229.13,-495.059"/>
</g>
<!-- models_xgboost_train_model -->
<g id="node17" class="node"><title>models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#3d8f3d" stroke="black" cx="1039.83" cy="-413.345" rx="75.8212" ry="21.4286"/>
<text text-anchor="middle" x="1039.83" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="1039.83" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">xgboost_train_model</text>
</g>
<!-- features&#45;&gt;models_xgboost_train_model -->
<g id="edge7" class="edge"><title>features&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M460.832,-257.492C464.573,-299.339 505.429,-285.795 536.832,-313.706 546.048,-321.896 544.216,-329.785 555.832,-333.919"/>
</g>
<!-- features_build_features -->
<g id="node2" class="node"><title>features_build_features</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#bf2121" stroke="black" cx="378.832" cy="-256.492" rx="54.3945" ry="21.4286"/>
<text text-anchor="middle" x="378.832" y="-259.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">features.</text>
<text text-anchor="middle" x="378.832" y="-248.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">build_features</text>
</g>
<!-- features_build_features&#45;&gt;models_logistic_model -->
<g id="edge8" class="edge"><title>features_build_features&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M173.832,-335.919C147.464,-357.331 170.575,-378.534 173.832,-412.345"/>
<path fill="none" stroke="black" d="M173.832,-414.345C177.596,-453.428 219.282,-472.571 257.15,-481.922"/>
<polygon fill="#bf2121" stroke="black" points="256.654,-485.398 267.181,-484.201 258.205,-478.572 256.654,-485.398"/>
</g>
<!-- features_build_features&#45;&gt;models_logistic_train_model -->
<g id="edge9" class="edge"><title>features_build_features&#45;&gt;models_logistic_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M173.832,-335.919C152.025,-353.627 126.831,-372.694 107.061,-387.353"/>
<polygon fill="#bf2121" stroke="black" points="104.909,-384.592 98.9458,-393.349 109.069,-390.222 104.909,-384.592"/>
<path fill="none" stroke="black" d="M330.484,-266.268C285.892,-276.357 219.83,-296.566 173.832,-333.919"/>
</g>
<!-- features_build_features&#45;&gt;models_xgboost_model -->
<g id="edge10" class="edge"><title>features_build_features&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M347.134,-273.944C289.335,-305.934 177.475,-378.316 230.832,-434.558 265.233,-470.82 998.235,-485.871 1228.95,-489.721"/>
<polygon fill="#bf2121" stroke="black" points="1229.17,-493.225 1239.23,-489.891 1229.28,-486.226 1229.17,-493.225"/>
</g>
<!-- features_build_features&#45;&gt;models_xgboost_train_model -->
<g id="edge11" class="edge"><title>features_build_features&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M420.974,-270.017C460.847,-282.305 517.398,-300.999 536.832,-313.706 547.151,-320.453 544.216,-329.785 555.832,-333.919"/>
<path fill="none" stroke="black" d="M555.832,-335.919C567.448,-340.052 563.758,-350.711 574.832,-356.132 651.214,-393.526 871.946,-378.149 955.832,-392.132 962.492,-393.242 969.408,-394.587 976.282,-396.05"/>
<polygon fill="#bf2121" stroke="black" points="975.771,-399.521 986.291,-398.263 977.283,-392.686 975.771,-399.521"/>
</g>
<!-- features_util_build_features -->
<g id="node3" class="node"><title>features_util_build_features</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#db2f2f" stroke="black" cx="559.832" cy="-178.066" rx="67.3507" ry="21.4286"/>
<text text-anchor="middle" x="559.832" y="-181.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">features.</text>
<text text-anchor="middle" x="559.832" y="-170.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util_build_features</text>
</g>
<!-- features_util_build_features&#45;&gt;features_build_features -->
<g id="edge12" class="edge"><title>features_util_build_features&#45;&gt;features_build_features</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M521.003,-195.461C492.509,-207.493 453.738,-223.864 423.881,-236.471"/>
<polygon fill="#db2f2f" stroke="black" points="422.375,-233.307 414.524,-240.422 425.098,-239.756 422.375,-233.307"/>
</g>
<!-- features_util_build_features&#45;&gt;models_util_model_comparison -->
<g id="edge13" class="edge"><title>features_util_build_features&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M654.832,-257.492C672.746,-277.609 696.643,-295.973 716.694,-309.656"/>
<polygon fill="#db2f2f" stroke="black" points="714.765,-312.576 725.024,-315.225 718.656,-306.757 714.765,-312.576"/>
<path fill="none" stroke="black" d="M587.678,-197.681C607.799,-211.985 634.842,-233.045 654.832,-255.492"/>
</g>
<!-- features_util_build_features&#45;&gt;models_util_predict_model -->
<g id="edge14" class="edge"><title>features_util_build_features&#45;&gt;models_util_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M547.092,-198.993C529.791,-226.056 498.763,-274.588 479.017,-305.475"/>
<polygon fill="#db2f2f" stroke="black" points="475.961,-303.757 473.523,-314.068 481.858,-307.528 475.961,-303.757"/>
</g>
<!-- features_util_build_features&#45;&gt;models_util_test -->
<g id="edge15" class="edge"><title>features_util_build_features&#45;&gt;models_util_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M616.832,-257.492C618.032,-272.576 618.758,-289.375 619.194,-303.373"/>
<polygon fill="#db2f2f" stroke="black" points="615.698,-303.557 619.475,-313.456 622.695,-303.363 615.698,-303.557"/>
<path fill="none" stroke="black" d="M583.524,-197.993C598.36,-211.996 615.007,-232.557 616.832,-255.492"/>
</g>
<!-- models -->
<g id="node4" class="node"><title>models</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#10f910" stroke="black" cx="718.832" cy="-21.2132" rx="28.0137" ry="18"/>
<text text-anchor="middle" x="718.832" y="-18.7132" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models</text>
</g>
<!-- visualization_graphs_test -->
<g id="node23" class="node"><title>visualization_graphs_test</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#3d3db8" stroke="black" cx="733.832" cy="-178.066" rx="50.8235" ry="21.4286"/>
<text text-anchor="middle" x="733.832" y="-181.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="733.832" y="-170.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">graphs_test</text>
</g>
<!-- models&#45;&gt;visualization_graphs_test -->
<g id="edge16" class="edge"><title>models&#45;&gt;visualization_graphs_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M720.495,-39.3768C722.996,-65.1999 727.764,-114.428 730.87,-146.486"/>
<polygon fill="#10f910" stroke="black" points="727.406,-147.025 731.854,-156.641 734.373,-146.35 727.406,-147.025"/>
</g>
<!-- models_logistic_predict_model -->
<g id="node6" class="node"><title>models_logistic_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#49ac49" stroke="black" cx="319.832" cy="-413.345" rx="79.8062" ry="21.4286"/>
<text text-anchor="middle" x="319.832" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="319.832" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">logistic_predict_model</text>
</g>
<!-- models_logistic_predict_model&#45;&gt;models_logistic_model -->
<g id="edge17" class="edge"><title>models_logistic_predict_model&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M319.832,-434.826C319.832,-442.685 319.832,-451.829 319.832,-460.419"/>
<polygon fill="#49ac49" stroke="black" points="316.332,-460.499 319.832,-470.499 323.332,-460.499 316.332,-460.499"/>
</g>
<!-- models_logistic_test_model -->
<g id="node7" class="node"><title>models_logistic_test_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#49ac49" stroke="black" cx="488.832" cy="-413.345" rx="71.3357" ry="21.4286"/>
<text text-anchor="middle" x="488.832" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="488.832" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">logistic_test_model</text>
</g>
<!-- models_logistic_test_model&#45;&gt;models_logistic_model -->
<g id="edge18" class="edge"><title>models_logistic_test_model&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M450.905,-431.497C425.05,-443.189 390.735,-458.707 363.702,-470.933"/>
<polygon fill="#49ac49" stroke="black" points="362.138,-467.798 354.469,-475.108 365.023,-474.176 362.138,-467.798"/>
</g>
<!-- models_logistic_train_model&#45;&gt;models_logistic_model -->
<g id="edge19" class="edge"><title>models_logistic_train_model&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M121.042,-429.262C163.243,-442.32 224.409,-461.246 267.727,-474.649"/>
<polygon fill="#439d43" stroke="black" points="266.919,-478.063 277.507,-477.676 268.989,-471.376 266.919,-478.063"/>
</g>
<!-- models_util_model_class -->
<g id="node9" class="node"><title>models_util_model_class</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#22e722" stroke="black" cx="827.832" cy="-21.2132" rx="62.8651" ry="21.4286"/>
<text text-anchor="middle" x="827.832" y="-24.2132" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="827.832" y="-13.2132" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">util_model_class</text>
</g>
<!-- models_util_model_class&#45;&gt;models_logistic_model -->
<g id="edge20" class="edge"><title>models_util_model_class&#45;&gt;models_logistic_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1297.83,-414.345C1289.83,-423.728 1290,-429.335 1278.83,-434.558 1198.51,-472.123 589.763,-486.07 386.029,-489.714"/>
<polygon fill="#22e722" stroke="black" points="385.711,-486.219 375.774,-489.895 385.834,-493.218 385.711,-486.219"/>
<path fill="none" stroke="black" d="M1297.83,-335.919C1290.08,-368.991 1319.87,-386.495 1297.83,-412.345"/>
</g>
<!-- models_util_model_class&#45;&gt;models_util_model_comparison -->
<g id="edge21" class="edge"><title>models_util_model_class&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M819.832,-100.64C833.321,-175.534 795.649,-261.281 772.484,-304.994"/>
<polygon fill="#22e722" stroke="black" points="769.336,-303.457 767.645,-313.916 775.489,-306.795 769.336,-303.457"/>
</g>
<!-- models_util_strategy_table -->
<g id="node12" class="node"><title>models_util_strategy_table</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#529952" stroke="black" cx="1201.83" cy="-413.345" rx="67.7647" ry="21.4286"/>
<text text-anchor="middle" x="1201.83" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">models.</text>
<text text-anchor="middle" x="1201.83" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">util_strategy_table</text>
</g>
<!-- models_util_model_class&#45;&gt;models_util_strategy_table -->
<g id="edge22" class="edge"><title>models_util_model_class&#45;&gt;models_util_strategy_table</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M819.832,-100.64C824.764,-126.752 1260.95,-215.617 1278.83,-235.279 1308.87,-268.312 1309.94,-290.946 1297.83,-333.919"/>
<path fill="none" stroke="black" d="M1297.83,-335.919C1292.09,-360.42 1271.21,-378.583 1250.38,-391.039"/>
<polygon fill="#22e722" stroke="black" points="1248.5,-388.079 1241.5,-396.03 1251.93,-394.181 1248.5,-388.079"/>
</g>
<!-- models_util_model_class&#45;&gt;models_xgboost_model -->
<g id="edge23" class="edge"><title>models_util_model_class&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1297.83,-414.345C1287.27,-426.734 1286.83,-444.802 1289.24,-460.26"/>
<polygon fill="#22e722" stroke="black" points="1285.88,-461.321 1291.27,-470.443 1292.75,-459.951 1285.88,-461.321"/>
</g>
<!-- models_util_model_class&#45;&gt;visualization_graphs_test -->
<g id="edge24" class="edge"><title>models_util_model_class&#45;&gt;visualization_graphs_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M819.832,-100.64C824.427,-126.15 802.263,-145.437 779.29,-158.254"/>
<polygon fill="#22e722" stroke="black" points="777.407,-155.288 770.159,-163.015 780.644,-161.495 777.407,-155.288"/>
<path fill="none" stroke="black" d="M822.623,-42.4421C819.384,-57.9144 816.427,-79.7328 819.832,-98.6396"/>
</g>
<!-- models_util_predict_model&#45;&gt;models_logistic_predict_model -->
<g id="edge25" class="edge"><title>models_util_predict_model&#45;&gt;models_logistic_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M428.129,-353.645C408.712,-364.169 383.864,-377.638 362.867,-389.019"/>
<polygon fill="#3ab03a" stroke="black" points="360.953,-386.075 353.829,-393.918 364.289,-392.229 360.953,-386.075"/>
</g>
<!-- models_xgboost_predict_model -->
<g id="node15" class="node"><title>models_xgboost_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#49ac49" stroke="black" cx="698.832" cy="-413.345" rx="82.9636" ry="21.4286"/>
<text text-anchor="middle" x="698.832" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="698.832" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">xgboost_predict_model</text>
</g>
<!-- models_util_predict_model&#45;&gt;models_xgboost_predict_model -->
<g id="edge26" class="edge"><title>models_util_predict_model&#45;&gt;models_xgboost_predict_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M506.439,-350.564C544.176,-362.682 598.069,-379.988 639.22,-393.203"/>
<polygon fill="#3ab03a" stroke="black" points="638.265,-396.572 648.857,-396.297 640.406,-389.907 638.265,-396.572"/>
</g>
<!-- models_util_test&#45;&gt;models_logistic_test_model -->
<g id="edge27" class="edge"><title>models_util_test&#45;&gt;models_logistic_test_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M594.884,-350.474C576.306,-361.312 550.554,-376.336 529.078,-388.865"/>
<polygon fill="#2db42d" stroke="black" points="527.043,-386 520.169,-394.063 530.571,-392.047 527.043,-386"/>
</g>
<!-- models_util_test&#45;&gt;models_util_strategy_table -->
<g id="edge28" class="edge"><title>models_util_test&#45;&gt;models_util_strategy_table</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M646.415,-349.663C652.341,-352.212 658.692,-354.563 664.832,-356.132 863.519,-406.894 922.629,-357.962 1124.83,-392.132 1131,-393.175 1137.4,-394.481 1143.75,-395.925"/>
<polygon fill="#2db42d" stroke="black" points="1143.11,-399.371 1153.65,-398.289 1144.74,-392.562 1143.11,-399.371"/>
</g>
<!-- models_xgboost_test_model -->
<g id="node16" class="node"><title>models_xgboost_test_model</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#49ac49" stroke="black" cx="872.832" cy="-413.345" rx="73.5782" ry="21.4286"/>
<text text-anchor="middle" x="872.832" y="-416.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">models.</text>
<text text-anchor="middle" x="872.832" y="-405.345" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#000000">xgboost_test_model</text>
</g>
<!-- models_util_test&#45;&gt;models_xgboost_test_model -->
<g id="edge29" class="edge"><title>models_util_test&#45;&gt;models_xgboost_test_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M647.156,-349.02C652.925,-351.551 659.025,-354.058 664.832,-356.132 691.252,-365.569 758.122,-383.246 808.97,-396.267"/>
<polygon fill="#2db42d" stroke="black" points="808.353,-399.722 818.909,-398.806 810.086,-392.94 808.353,-399.722"/>
</g>
<!-- models_xgboost_predict_model&#45;&gt;models_xgboost_model -->
<g id="edge30" class="edge"><title>models_xgboost_predict_model&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M757.392,-428.332C768.142,-430.62 779.295,-432.81 789.832,-434.558 946.873,-460.61 1133.29,-477.755 1230.79,-485.682"/>
<polygon fill="#49ac49" stroke="black" points="1230.55,-489.174 1240.8,-486.489 1231.11,-482.197 1230.55,-489.174"/>
</g>
<!-- models_xgboost_test_model&#45;&gt;models_xgboost_model -->
<g id="edge31" class="edge"><title>models_xgboost_test_model&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M926.066,-428.117C935.614,-430.401 945.495,-432.646 954.832,-434.558 1051.4,-454.342 1164.4,-471.768 1233.53,-481.788"/>
<polygon fill="#49ac49" stroke="black" points="1233.43,-485.309 1243.82,-483.272 1234.43,-478.381 1233.43,-485.309"/>
</g>
<!-- models_xgboost_train_model&#45;&gt;models_xgboost_model -->
<g id="edge32" class="edge"><title>models_xgboost_train_model&#45;&gt;models_xgboost_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1090.19,-429.262C1134.45,-442.375 1198.7,-461.405 1243.98,-474.818"/>
<polygon fill="#3d8f3d" stroke="black" points="1243.04,-478.191 1253.62,-477.676 1245.03,-471.479 1243.04,-478.191"/>
</g>
<!-- visualization -->
<g id="node18" class="node"><title>visualization</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#2222e7" stroke="black" cx="491.832" cy="-99.6396" rx="40.7358" ry="18"/>
<text text-anchor="middle" x="491.832" y="-97.1396" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization</text>
</g>
<!-- visualization&#45;&gt;features_build_features -->
<g id="edge33" class="edge"><title>visualization&#45;&gt;features_build_features</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M466.136,-113.804C435.677,-130.129 388.216,-158.114 381.832,-177.066"/>
</g>
<!-- visualization&#45;&gt;models_logistic_train_model -->
<g id="edge34" class="edge"><title>visualization&#45;&gt;models_logistic_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M104.832,-335.919C97.5955,-351.114 90.2896,-368.383 84.4892,-382.657"/>
<polygon fill="#2222e7" stroke="black" points="81.2165,-381.414 80.7334,-391.998 87.7112,-384.026 81.2165,-381.414"/>
<path fill="none" stroke="black" d="M463.088,-112.482C456.149,-115.279 448.742,-118.214 441.832,-120.853 301.511,-174.439 221.494,-121.158 123.832,-235.279 94.8036,-269.2 124.029,-293.611 104.832,-333.919"/>
</g>
<!-- visualization&#45;&gt;models_util_model_comparison -->
<g id="edge35" class="edge"><title>visualization&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M654.832,-179.066C669.372,-209.764 632.242,-230.126 654.832,-255.492"/>
</g>
<!-- visualization&#45;&gt;models_util_test -->
<g id="edge36" class="edge"><title>visualization&#45;&gt;models_util_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M530.61,-105.078C571.425,-112.182 632.757,-130.459 654.832,-177.066"/>
<path fill="none" stroke="black" d="M654.832,-179.066C671.07,-213.349 613.824,-217.678 616.832,-255.492"/>
</g>
<!-- visualization&#45;&gt;models_xgboost_train_model -->
<g id="edge37" class="edge"><title>visualization&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M532.273,-102.353C642.644,-107.44 942.761,-124.179 971.832,-156.853 984.366,-170.94 975.083,-180.705 971.832,-199.279 968.899,-216.036 963.343,-218.877 958.832,-235.279 946.992,-278.326 937.779,-289.32 939.832,-333.919"/>
</g>
<!-- visualization_graphs_decision_tree -->
<g id="node19" class="node"><title>visualization_graphs_decision_tree</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#5353b6" stroke="black" cx="1044.83" cy="-256.492" rx="77.1494" ry="21.4286"/>
<text text-anchor="middle" x="1044.83" y="-259.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="1044.83" y="-248.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">graphs_decision_tree</text>
</g>
<!-- visualization_graphs_decision_tree&#45;&gt;models_xgboost_train_model -->
<g id="edge38" class="edge"><title>visualization_graphs_decision_tree&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M994.452,-272.722C966.848,-284.505 938.453,-303.963 939.832,-333.919"/>
</g>
<!-- visualization_graphs_download -->
<g id="node20" class="node"><title>visualization_graphs_download</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#5353b6" stroke="black" cx="1204.83" cy="-256.492" rx="65.1077" ry="21.4286"/>
<text text-anchor="middle" x="1204.83" y="-259.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="1204.83" y="-248.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">graphs_download</text>
</g>
<!-- visualization_graphs_download&#45;&gt;models_xgboost_train_model -->
<g id="edge39" class="edge"><title>visualization_graphs_download&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M1156.51,-270.801C1080.03,-291.948 939.704,-331.135 939.832,-333.919"/>
</g>
<!-- visualization_graphs_logistic -->
<g id="node21" class="node"><title>visualization_graphs_logistic</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#5353b6" stroke="black" cx="190.832" cy="-256.492" rx="57.9655" ry="21.4286"/>
<text text-anchor="middle" x="190.832" y="-259.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="190.832" y="-248.492" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">graphs_logistic</text>
</g>
<!-- visualization_graphs_logistic&#45;&gt;models_logistic_train_model -->
<g id="edge40" class="edge"><title>visualization_graphs_logistic&#45;&gt;models_logistic_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M161.267,-274.796C141.449,-288.182 116.856,-308.672 104.832,-333.919"/>
</g>
<!-- visualization_graphs_settings -->
<g id="node22" class="node"><title>visualization_graphs_settings</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#4747c2" stroke="black" cx="901.832" cy="-178.066" rx="60.623" ry="21.4286"/>
<text text-anchor="middle" x="901.832" y="-181.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="901.832" y="-170.066" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">graphs_settings</text>
</g>
<!-- visualization_graphs_settings&#45;&gt;models_util_model_comparison -->
<g id="edge41" class="edge"><title>visualization_graphs_settings&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M905.054,-199.349C906.786,-215.042 907.545,-237.121 901.832,-255.492"/>
<path fill="none" stroke="black" d="M901.832,-257.492C892.015,-289.059 861.317,-307.7 830.587,-318.653"/>
<polygon fill="#4747c2" stroke="black" points="829.46,-315.339 821.072,-321.811 831.666,-321.982 829.46,-315.339"/>
</g>
<!-- visualization_graphs_settings&#45;&gt;models_xgboost_train_model -->
<g id="edge42" class="edge"><title>visualization_graphs_settings&#45;&gt;models_xgboost_train_model</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M901.832,-257.492C890.567,-293.716 938.088,-296.025 939.832,-333.919"/>
<path fill="none" stroke="black" d="M939.832,-335.919C941.012,-361.548 962.145,-379.744 984.681,-391.935"/>
<polygon fill="#4747c2" stroke="black" points="983.181,-395.098 993.686,-396.475 986.332,-388.848 983.181,-395.098"/>
</g>
<!-- visualization_graphs_test&#45;&gt;models_util_model_comparison -->
<g id="edge43" class="edge"><title>visualization_graphs_test&#45;&gt;models_util_model_comparison</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M743.832,-257.492C740.032,-272.585 742.131,-289.673 745.567,-303.857"/>
<polygon fill="#3d3db8" stroke="black" points="742.219,-304.885 748.24,-313.603 748.97,-303.033 742.219,-304.885"/>
</g>
<!-- visualization_graphs_test&#45;&gt;models_util_test -->
<g id="edge44" class="edge"><title>visualization_graphs_test&#45;&gt;models_util_test</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M740.514,-199.099C744.732,-214.656 748.569,-236.676 743.832,-255.492"/>
<path fill="none" stroke="black" d="M743.832,-257.492C741.296,-267.566 690.929,-296.195 655.178,-315.408"/>
<polygon fill="#3d3db8" stroke="black" points="653.162,-312.517 645.988,-320.314 656.458,-318.692 653.162,-312.517"/>
</g>
<!-- visualization_metrics -->
<g id="node24" class="node"><title>visualization_metrics</title><style>.edge>path:hover{stroke-width:8}</style>
<ellipse fill="#5353b6" stroke="black" cx="381.832" cy="-99.6396" rx="50.8235" ry="21.4286"/>
<text text-anchor="middle" x="381.832" y="-102.64" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">visualization.</text>
<text text-anchor="middle" x="381.832" y="-91.6396" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#ffffff">metrics</text>
</g>
<!-- visualization_metrics&#45;&gt;features_build_features -->
<g id="edge45" class="edge"><title>visualization_metrics&#45;&gt;features_build_features</title><style>.edge>path:hover{stroke-width:8}</style>
<path fill="none" stroke="black" d="M385.296,-121.001C387.158,-136.736 387.974,-158.833 381.832,-177.066"/>
<path fill="none" stroke="black" d="M381.832,-179.066C376.934,-193.606 375.846,-210.591 376.127,-224.851"/>
<polygon fill="#5353b6" stroke="black" points="372.643,-225.298 376.568,-235.139 379.637,-224.998 372.643,-225.298"/>
</g>
</g>
</svg>