@@ -12266,27 +12266,27 @@ <h2 id="spotpython.spot.spot.Spot" class="doc doc-heading">
1226612266<span class="sd"> >>> print(importance2)</span>
1226712267<span class="sd"> []</span>
1226812268<span class="sd"> """</span>
12269- <span class="c1"># Check if surrogate exists</span>
12270- <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"surrogate"</span><span class="p">):</span>
12269+ <span class="c1"># Check if surrogate exists and surrogate is not None </span>
12270+ <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"surrogate"</span><span class="p">)</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span> <span class="ow">is</span> <span class="kc">None</span><span class="p"> :</span>
1227112271 <span class="nb">print</span><span class="p">(</span><span class="s2">"No surrogate model available."</span><span class="p">)</span>
1227212272 <span class="k">return</span> <span class="p">[]</span>
1227312273
12274- <span class="c1"># Check if surrogate has theta attribute for multi-theta models</span>
12275- <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="s2">"theta"</span><span class="p">):</span>
12276- <span class="nb">print</span><span class="p">(</span><span class="s2">"Surrogate model does not have theta attribute."</span><span class="p">)</span>
12277- <span class="k">return</span> <span class="p">[]</span>
12278-
12279- <span class="c1"># Check if surrogate is not isotropic</span>
12280- <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">isotropic</span><span class="p">:</span>
12281- <span class="nb">print</span><span class="p">(</span><span class="s2">"Surrogate model is isotropic."</span><span class="p">)</span>
12274+ <span class="c1"># check if surrogate name is "Kriging"</span>
12275+ <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="n">Kriging</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="s2">"name"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"Kriging"</span><span class="p">]):</span>
12276+ <span class="nb">print</span><span class="p">(</span><span class="s2">"Importance calculation is only available for Kriging surrogate models."</span><span class="p">)</span>
1228212277 <span class="k">return</span> <span class="p">[]</span>
1228312278
1228412279 <span class="c1"># Check if all required attributes exist for importance calculation</span>
1228512280 <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"all_var_name"</span><span class="p">):</span>
1228612281 <span class="nb">print</span><span class="p">(</span><span class="s2">"Variable names (all_var_name) not available."</span><span class="p">)</span>
1228712282 <span class="k">return</span> <span class="p">[]</span>
1228812283
12289- <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">n_theta</span> <span class="o">></span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"var_name"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
12284+ <span class="n">n_theta</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">get_params</span><span class="p">()[</span><span class="s2">"n_theta"</span><span class="p">]</span>
12285+ <span class="k">if</span> <span class="n">n_theta</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
12286+ <span class="nb">print</span><span class="p">(</span><span class="s2">"Number of theta values (n_theta) not available. Check if surrogate is fitted."</span><span class="p">)</span>
12287+ <span class="k">return</span> <span class="p">[]</span>
12288+
12289+ <span class="k">if</span> <span class="n">n_theta</span> <span class="o">></span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"var_name"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
1229012290 <span class="k">try</span><span class="p">:</span>
1229112291 <span class="n">output</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">all_var_name</span><span class="p">)</span>
1229212292 <span class="n">theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">power</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">theta</span><span class="p">)</span>
@@ -14091,27 +14091,27 @@ <h3 id="spotpython.spot.spot.Spot.get_importance" class="doc doc-heading">
1409114091<span class="sd"> >>> print(importance2)</span>
1409214092<span class="sd"> []</span>
1409314093<span class="sd"> """</span>
14094- <span class="c1"># Check if surrogate exists</span>
14095- <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"surrogate"</span><span class="p">):</span>
14094+ <span class="c1"># Check if surrogate exists and surrogate is not None </span>
14095+ <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"surrogate"</span><span class="p">)</span> <span class="ow">or</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span> <span class="ow">is</span> <span class="kc">None</span><span class="p"> :</span>
1409614096 <span class="nb">print</span><span class="p">(</span><span class="s2">"No surrogate model available."</span><span class="p">)</span>
1409714097 <span class="k">return</span> <span class="p">[]</span>
1409814098
14099- <span class="c1"># Check if surrogate has theta attribute for multi-theta models</span>
14100- <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="s2">"theta"</span><span class="p">):</span>
14101- <span class="nb">print</span><span class="p">(</span><span class="s2">"Surrogate model does not have theta attribute."</span><span class="p">)</span>
14102- <span class="k">return</span> <span class="p">[]</span>
14103-
14104- <span class="c1"># Check if surrogate is not isotropic</span>
14105- <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">isotropic</span><span class="p">:</span>
14106- <span class="nb">print</span><span class="p">(</span><span class="s2">"Surrogate model is isotropic."</span><span class="p">)</span>
14099+ <span class="c1"># check if surrogate name is "Kriging"</span>
14100+ <span class="k">if</span> <span class="ow">not</span> <span class="p">(</span><span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="n">Kriging</span><span class="p">)</span> <span class="ow">and</span> <span class="nb">getattr</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="p">,</span> <span class="s2">"name"</span><span class="p">,</span> <span class="kc">None</span><span class="p">)</span> <span class="ow">in</span> <span class="p">[</span><span class="s2">"Kriging"</span><span class="p">]):</span>
14101+ <span class="nb">print</span><span class="p">(</span><span class="s2">"Importance calculation is only available for Kriging surrogate models."</span><span class="p">)</span>
1410714102 <span class="k">return</span> <span class="p">[]</span>
1410814103
1410914104 <span class="c1"># Check if all required attributes exist for importance calculation</span>
1411014105 <span class="k">if</span> <span class="ow">not</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"all_var_name"</span><span class="p">):</span>
1411114106 <span class="nb">print</span><span class="p">(</span><span class="s2">"Variable names (all_var_name) not available."</span><span class="p">)</span>
1411214107 <span class="k">return</span> <span class="p">[]</span>
1411314108
14114- <span class="k">if</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">n_theta</span> <span class="o">></span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"var_name"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
14109+ <span class="n">n_theta</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">get_params</span><span class="p">()[</span><span class="s2">"n_theta"</span><span class="p">]</span>
14110+ <span class="k">if</span> <span class="n">n_theta</span> <span class="ow">is</span> <span class="kc">None</span><span class="p">:</span>
14111+ <span class="nb">print</span><span class="p">(</span><span class="s2">"Number of theta values (n_theta) not available. Check if surrogate is fitted."</span><span class="p">)</span>
14112+ <span class="k">return</span> <span class="p">[]</span>
14113+
14114+ <span class="k">if</span> <span class="n">n_theta</span> <span class="o">></span> <span class="mi">1</span> <span class="ow">and</span> <span class="nb">hasattr</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="s2">"var_name"</span><span class="p">)</span> <span class="ow">and</span> <span class="bp">self</span><span class="o">.</span><span class="n">var_name</span> <span class="ow">is</span> <span class="ow">not</span> <span class="kc">None</span><span class="p">:</span>
1411514115 <span class="k">try</span><span class="p">:</span>
1411614116 <span class="n">output</span> <span class="o">=</span> <span class="p">[</span><span class="mi">0</span><span class="p">]</span> <span class="o">*</span> <span class="nb">len</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">all_var_name</span><span class="p">)</span>
1411714117 <span class="n">theta</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">power</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">surrogate</span><span class="o">.</span><span class="n">theta</span><span class="p">)</span>
0 commit comments