在 PyScript 应用程序中,我在我的
index.html
中提供了两个单选按钮,
允许用户决定各向同性高斯斑点的合成是否应该重叠(有效地通过切换Scikit-Learn
的cluster_std
值用于make_blobs
方法)。
我目前无法将选择解析为 Python 布尔值(
True
或 False
)
并始终收到 True
值,无论单击哪个单选按钮。
尝试将
HTML
中的值定义为双引号、单引号或未引号,以及在不同的大小写(标题、上部、下部)之间切换,但运气不佳。
还查看了 SO 上的其他示例/问题,例如如何将布尔值从 javascript 传递给 python?
HTML 中相关部分的片段:
<div id="input" style="margin: 20px;">
Should the clusters overlap: <br/>
<input py-click="generate_blobs()" type="radio" id="true" name="overlaps" value="true">
<label for="true"> True</label>
<input py-click="generate_blobs()" type="radio" id="false" name="overlaps" value="false">
<label for="false"> False</label>
</div>
同样适用于 Python 片段:
def generate_blobs():
"""Generate isotropic Gaussian blobs for clustering"""
over_laps = js.document.getElementsByName("overlaps")
for element in over_laps:
if element.checked:
overlap = bool(element.value)
print(overlap, type(overlap))
break
paragraph = Element("Overlap")
paragraph.write(f"overlaps: {overlap}")
n_samples = 4_000 # if overlap else 2_000
cluster_std = 1.5 if overlap else .4
X, y = datasets.make_blobs(
n_samples = n_samples,
n_features = 2,
centers = 5,
cluster_std = cluster_std,
shuffle = True,
)
return X, y
设置 False 选项的结果:
欢迎任何建议,因为我已经没有什么想法可以尝试了