Это можно сделать, используя исключения в 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, использование исключений будет игнорировать стоп-изменения или остановки, но это не должно быть проблемой, так как вы включили разрыв в своем утверждении.