gpt4 book ai didi

python - 产生错误时中断for循环Python

转载 作者:行者123 更新时间:2023-12-03 08:41:31 25 4
gpt4 key购买 nike

我希望我的Python循环(如下所示)能够正常工作,直到产生错误为止。我在其他地方看到过可以在for循环内使用while True,但不确定是否可以将其与错误链接。产生的错误可能与此类似:

ValueError: No neighbors found for test samples [700], you can try using larger radius, give a label for outliers, or consider removing them from your dataset.

如何将其合并到循环中?
x = 0
y = 0

for i in range(100):
raidus_class = RadiusNeighborsClassifier(radius=100-i).fit(X_train, y_train)

new["radius"] = raidus_class.predict(X_test)

if (sum(new.quality == new.radius) > x):
x = sum(new.quality == new.radius)
y = i
print(i)

print("Sum of correct prediction: ", x)
print("At n-neighbours = ", y)

非常感谢,本。

最佳答案

可以使用Python中的异常来完成

请注意,以下代码仅在遇到ValueError时停止

x = 0
y = 0

for i in range(100):
try:
raidus_class = RadiusNeighborsClassifier(radius=100-i).fit(X_train, y_train)

new["radius"] = raidus_class.predict(X_test)

if (sum(new.quality == new.radius) > x):
x = sum(new.quality == new.radius)
y = i
print(i)
except ValueError:
break

print("Sum of correct prediction: ", x)
print("At n-neighbours = ", y)


我们可以使用捕获任何类型的异常
x = 0
y = 0

for i in range(100):
try:
raidus_class = RadiusNeighborsClassifier(radius=100-i).fit(X_train, y_train)

new["radius"] = raidus_class.predict(X_test)

if (sum(new.quality == new.radius) > x):
x = sum(new.quality == new.radius)
y = i
print(i)
except:
break

print("Sum of correct prediction: ", x)
print("At n-neighbours = ", y)

警告!特别是在使用jupyter时,使用异常将忽略中断或停止,但是这不应该成为问题,因为语句中已包含中断。

关于python - 产生错误时中断for循环Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61161223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com