1
|
<pre style="box-sizing: border-box;font family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;font-size: 13.6px;overflow-wrap: normal;background-color: rgb(246, 248, 250);border-radius: 3px;line-height: 1.45;overflow: auto;padding: 16px;word-break: normal;color: rgb(36, 41, 46);text-align: start;">library(<span class="pl-smi" style="box-sizing: border-box;">caret</span>)<br></br>library(<span class="pl-smi" style="box-sizing: border-box;">lime</span>)<br></br><br></br><span class="pl-c" style="box-sizing: border-box;color: rgb(106, 115, 125);"><span class="pl-c" style="box-sizing: border-box;">#</span> Split up the data set</span><br></br><span class="pl-smi" style="box-sizing: border-box;">iris_test</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> <span class="pl-smi" style="box-sizing: border-box;">iris</span>[<span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span><span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">:</span><span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">5</span>, <span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span><span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">:</span><span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">4</span>]<br></br><span class="pl-smi" style="box-sizing: border-box;">iris_train</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> <span class="pl-smi" style="box-sizing: border-box;">iris</span>[<span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">-</span>(<span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span><span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">:</span><span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">5</span>), <span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span><span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">:</span><span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">4</span>]<br></br><span class="pl-smi" style="box-sizing: border-box;">iris_lab</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> <span class="pl-smi" style="box-sizing: border-box;">iris</span>[[<span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">5</span>]][<span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">-</span>(<span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span><span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">:</span><span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">5</span>)]<br></br><br></br><span class="pl-c" style="box-sizing: border-box;color: rgb(106, 115, 125);"><span class="pl-c" style="box-sizing: border-box;">#</span> Create Random Forest model on iris data</span><br></br><span class="pl-smi" style="box-sizing: border-box;">model</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> train(<span class="pl-smi" style="box-sizing: border-box;">iris_train</span>, <span class="pl-smi" style="box-sizing: border-box;">iris_lab</span>, <span class="pl-v" style="box-sizing: border-box;color: rgb(227, 98, 9);">method</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">=</span> <span class="pl-s" style="box-sizing: border-box;color: rgb(3, 47, 98);"><span class="pl-pds" style="box-sizing: border-box;">'</span>rf<span class="pl-pds" style="box-sizing: border-box;">'</span></span>)<br></br><br></br><span class="pl-c" style="box-sizing: border-box;color: rgb(106, 115, 125);"><span class="pl-c" style="box-sizing: border-box;">#</span> Create an explainer object</span><br></br><span class="pl-smi" style="box-sizing: border-box;">explainer</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> lime(<span class="pl-smi" style="box-sizing: border-box;">iris_train</span>, <span class="pl-smi" style="box-sizing: border-box;">model</span>)<br></br><br></br><span class="pl-c" style="box-sizing: border-box;color: rgb(106, 115, 125);"><span class="pl-c" style="box-sizing: border-box;">#</span> Explain new observation</span><br></br><p><span class="pl-smi" style="box-sizing: border-box;">explanation</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);"><-</span> explain(<span class="pl-smi" style="box-sizing: border-box;">iris_test</span>, <span class="pl-smi" style="box-sizing: border-box;">explainer</span>, <span class="pl-v" style="box-sizing: border-box;color: rgb(227, 98, 9);">n_labels</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">=</span> <span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">1</span>, <span class="pl-v" style="box-sizing: border-box;color: rgb(227, 98, 9);">n_features</span> <span class="pl-k" style="box-sizing: border-box;color: rgb(215, 58, 73);">=</span> <span class="pl-c1" style="box-sizing: border-box;color: rgb(0, 92, 197);">2</span>)</p><p><span style="font-size: 13.6px;"><br></br></span></p><p><span style="font-size: 13.6px;">explanation</span></p><p><span class="pl-c" style="color: rgb(106, 115, 125);font-size: 13.6px;box-sizing: border-box;"><br></br></span></p><p><span class="pl-c" style="color: rgb(106, 115, 125);font-size: 13.6px;box-sizing: border-box;">#</span><span style="color: rgb(106, 115, 125);font-size: 13.6px;"> And can be visualised directly</span></p><p><span style="font-size: 13.6px;">plot_features(</span><span class="pl-smi" style="font-size: 13.6px;box-sizing: border-box;">explanation</span><span style="font-size: 13.6px;">)</span></p><p><br></br></p>
|