Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save nabinno/4bc6c3fc3002fa101e48e9ba00d349dd to your computer and use it in GitHub Desktop.
Save nabinno/4bc6c3fc3002fa101e48e9ba00d349dd to your computer and use it in GitHub Desktop.
『仕事ではじめる機械学習』より
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@startuml
skinparam monochrome true
skinparam backgroundColor #EEEEEE
actor アプリケーション as A
database DB as D
actor 予測APIサーバー as P
control 特徴抽出器 as F
collections 予測モデル as M
control 学習器 as L
group 予測
A <-> D: - ユーザーID\n- 商品ID
activate A
A -> P: - ユーザーID\n- 商品ID
activate P
P -> F
activate F
F -> M: 特徴量
deactivate F
activate M
M -> P
deactivate M
P -> A: 予測結果
deactivate P
deactivate A
end
group 学習バッチ
D -> F: - ログ\n- ユーザー情報
activate F
F -> L: 特徴量
deactivate F
activate L
L -> M: 学習結果
deactivate L
end
@enduml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="506px" preserveAspectRatio="none" style="width:576px;height:506px;background:#EEEEEE;" version="1.1" viewBox="0 0 576 506" width="576px" zoomAndPan="magnify"><defs><filter height="300%" id="fydkj4z3q6nmb" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="58.2656" style="stroke: #383838; stroke-width: 1.0;" width="10" x="164" y="201.8281"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="351" y="201.8281"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="351" y="335.4922"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="445" y="230.9609"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="526" y="364.625"/><rect fill="#EEEEEE" filter="url(#fydkj4z3q6nmb)" height="31.1328" style="stroke: #000000; stroke-width: 2.0;" width="184" x="13" y="103.2969"/><rect fill="#EEEEEE" filter="url(#fydkj4z3q6nmb)" height="119.6641" style="stroke: #000000; stroke-width: 2.0;" width="365" x="141" y="148.4297"/><rect fill="#EEEEEE" filter="url(#fydkj4z3q6nmb)" height="119.6641" style="stroke: #000000; stroke-width: 2.0;" width="424" x="141" y="282.0938"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="82" x2="82" y1="86.2969" y2="418.7578"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="169" x2="169" y1="86.2969" y2="418.7578"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="252" x2="252" y1="86.2969" y2="418.7578"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="356" x2="356" y1="86.2969" y2="418.7578"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="450" x2="450" y1="86.2969" y2="418.7578"/><line style="stroke: #383838; stroke-width: 1.0; stroke-dasharray: 5.0,5.0;" x1="531" x2="531" y1="86.2969" y2="418.7578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="23" y="82.9951">アプリケーション</text><ellipse cx="82" cy="13" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="8" ry="8" style="stroke: #383838; stroke-width: 2.0;"/><path d="M82,21 L82,48 M69,29 L95,29 M82,48 L69,63 M82,48 L95,63 " fill="none" filter="url(#fydkj4z3q6nmb)" style="stroke: #383838; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="112" x="23" y="430.7529">アプリケーション</text><ellipse cx="82" cy="444.0547" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="8" ry="8" style="stroke: #383838; stroke-width: 2.0;"/><path d="M82,452.0547 L82,479.0547 M69,460.0547 L95,460.0547 M82,479.0547 L69,494.0547 M82,479.0547 L95,494.0547 " fill="none" filter="url(#fydkj4z3q6nmb)" style="stroke: #383838; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="21" x="155.5" y="82.9951">DB</text><path d="M151,34 C151,24 169,24 169,24 C169,24 187,24 187,34 L187,60 C187,70 169,70 169,70 C169,70 151,70 151,60 L151,34 " fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" style="stroke: #000000; stroke-width: 1.5;"/><path d="M151,34 C151,44 169,44 169,44 C169,44 187,44 187,34 " fill="none" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="21" x="155.5" y="430.7529">DB</text><path d="M151,444.0547 C151,434.0547 169,434.0547 169,434.0547 C169,434.0547 187,434.0547 187,444.0547 L187,470.0547 C187,480.0547 169,480.0547 169,480.0547 C169,480.0547 151,480.0547 151,470.0547 L151,444.0547 " fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" style="stroke: #000000; stroke-width: 1.5;"/><path d="M151,444.0547 C151,454.0547 169,454.0547 169,454.0547 C169,454.0547 187,454.0547 187,444.0547 " fill="none" style="stroke: #000000; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="197" y="82.9951">予測APIサーバー</text><ellipse cx="252.5" cy="13" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="8" ry="8" style="stroke: #383838; stroke-width: 2.0;"/><path d="M252.5,21 L252.5,48 M239.5,29 L265.5,29 M252.5,48 L239.5,63 M252.5,48 L265.5,63 " fill="none" filter="url(#fydkj4z3q6nmb)" style="stroke: #383838; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="105" x="197" y="430.7529">予測APIサーバー</text><ellipse cx="252.5" cy="444.0547" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="8" ry="8" style="stroke: #383838; stroke-width: 2.0;"/><path d="M252.5,452.0547 L252.5,479.0547 M239.5,460.0547 L265.5,460.0547 M252.5,479.0547 L239.5,494.0547 M252.5,479.0547 L265.5,494.0547 " fill="none" filter="url(#fydkj4z3q6nmb)" style="stroke: #383838; stroke-width: 2.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="70" x="318" y="82.9951">特徴抽出器</text><ellipse cx="356" cy="54" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="12" ry="12" style="stroke: #383838; stroke-width: 2.0;"/><polygon fill="#383838" points="352,42,358,37,356,42,358,47,352,42" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="70" x="318" y="430.7529">特徴抽出器</text><ellipse cx="356" cy="450.0547" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="12" ry="12" style="stroke: #383838; stroke-width: 2.0;"/><polygon fill="#383838" points="352,438.0547,358,433.0547,356,438.0547,358,443.0547,352,438.0547" style="stroke: #383838; stroke-width: 1.0;"/><rect fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" height="30.2969" style="stroke: #383838; stroke-width: 1.5;" width="84" x="408" y="47"/><rect fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" height="30.2969" style="stroke: #383838; stroke-width: 1.5;" width="84" x="404" y="51"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="70" x="411" y="70.9951">予測モデル</text><rect fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" height="30.2969" style="stroke: #383838; stroke-width: 1.5;" width="84" x="408" y="417.7578"/><rect fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" height="30.2969" style="stroke: #383838; stroke-width: 1.5;" width="84" x="404" y="421.7578"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="70" x="411" y="441.7529">予測モデル</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="42" x="507" y="82.9951">学習器</text><ellipse cx="531" cy="54" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="12" ry="12" style="stroke: #383838; stroke-width: 2.0;"/><polygon fill="#383838" points="527,42,533,37,531,42,533,47,527,42" style="stroke: #383838; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="42" x="507" y="430.7529">学習器</text><ellipse cx="531" cy="450.0547" fill="#F8F8F8" filter="url(#fydkj4z3q6nmb)" rx="12" ry="12" style="stroke: #383838; stroke-width: 2.0;"/><polygon fill="#383838" points="527,438.0547,533,433.0547,531,438.0547,533,443.0547,527,438.0547" style="stroke: #383838; stroke-width: 1.0;"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="58.2656" style="stroke: #383838; stroke-width: 1.0;" width="10" x="164" y="201.8281"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="351" y="201.8281"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="351" y="335.4922"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="445" y="230.9609"/><rect fill="#FFFFFF" filter="url(#fydkj4z3q6nmb)" height="29.1328" style="stroke: #383838; stroke-width: 1.0;" width="10" x="526" y="364.625"/><path d="M13,103.2969 L114,103.2969 L114,110.2969 L104,120.2969 L13,120.2969 L13,103.2969 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="31.1328" style="stroke: #000000; stroke-width: 2.0;" width="184" x="13" y="103.2969"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="28" y="116.3638">予測参照</text><polygon fill="#383838" points="93,122.4297,83,126.4297,93,130.4297,89,126.4297" style="stroke: #383838; stroke-width: 1.0;"/><polygon fill="#383838" points="157,122.4297,167,126.4297,157,130.4297,161,126.4297" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="87" x2="163" y1="126.4297" y2="126.4297"/><path d="M141,148.4297 L256,148.4297 L256,155.4297 L246,165.4297 L141,165.4297 L141,148.4297 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="119.6641" style="stroke: #000000; stroke-width: 2.0;" width="365" x="141" y="148.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="70" x="156" y="161.4966">予測バッチ</text><polygon fill="#383838" points="339,197.8281,349,201.8281,339,205.8281,343,201.8281" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="174" x2="345" y1="201.8281" y2="201.8281"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="181" y="181.6294">- ログ</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="181" y="196.7622">- ユーザー情報</text><polygon fill="#383838" points="433,226.9609,443,230.9609,433,234.9609,437,230.9609" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="356" x2="439" y1="230.9609" y2="230.9609"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="363" y="225.895">特徴量</text><polygon fill="#383838" points="180,256.0938,170,260.0938,180,264.0938,176,260.0938" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="174" x2="449" y1="260.0938" y2="260.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="186" y="255.0278">予測結果</text><path d="M141,282.0938 L256,282.0938 L256,289.0938 L246,299.0938 L141,299.0938 L141,282.0938 " fill="#EEEEEE" style="stroke: #000000; stroke-width: 1.0;"/><rect fill="none" height="119.6641" style="stroke: #000000; stroke-width: 2.0;" width="424" x="141" y="282.0938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="70" x="156" y="295.1606">学習バッチ</text><polygon fill="#383838" points="339,331.4922,349,335.4922,339,339.4922,343,335.4922" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="169" x2="345" y1="335.4922" y2="335.4922"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="176" y="315.2935">- ログ</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="87" x="176" y="330.4263">- ユーザー情報</text><polygon fill="#383838" points="514,360.625,524,364.625,514,368.625,518,364.625" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="356" x2="520" y1="364.625" y2="364.625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="39" x="363" y="359.5591">特徴量</text><polygon fill="#383838" points="461,389.7578,451,393.7578,461,397.7578,457,393.7578" style="stroke: #383838; stroke-width: 1.0;"/><line style="stroke: #383838; stroke-width: 1.0;" x1="455" x2="530" y1="393.7578" y2="393.7578"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="467" y="388.6919">学習結果</text><!--MD5=[a52d83949d15f4277d0fe64aaa51fcf4]
@startuml
skinparam monochrome true
skinparam backgroundColor #EEEEEE
actor アプリケーション as A
database DB as D
actor 予測APIサーバー as P
control 特徴抽出器 as F
collections 予測モデル as M
control 学習器 as L
group 予測参照
A <-> D
end
group 予測バッチ
D -> F: - ログ\n- ユーザー情報
activate D
activate F
F -> M: 特徴量
deactivate F
activate M
M -> D: 予測結果
deactivate M
deactivate D
end
group 学習バッチ
D -> F: - ログ\n- ユーザー情報
activate F
F -> L: 特徴量
deactivate F
activate L
L -> M: 学習結果
deactivate L
end
@enduml
PlantUML version 1.2019.12(Sun Nov 03 10:24:54 UTC 2019)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 1.8.0_232-heroku-b09
Operating System: Linux
Default Encoding: UTF-8
Language: en
Country: US
--></g></svg>
@startuml
skinparam monochrome true
skinparam backgroundColor #EEEEEE
actor アプリケーション as A
database DB as D
actor 予測APIサーバー as P
control 特徴抽出器 as F
collections 予測モデル as M
control 学習器 as L
group 予測参照
A <-> D
end
group 予測バッチ
D -> F: - ログ\n- ユーザー情報
activate D
activate F
F -> M: 特徴量
deactivate F
activate M
M -> D: 予測結果
deactivate M
deactivate D
end
group 学習バッチ
D -> F: - ログ\n- ユーザー情報
activate F
F -> L: 特徴量
deactivate F
activate L
L -> M: 学習結果
deactivate L
end
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment